如何使用我的.js机器人将没有角色的discord用户(@everyone)移动到现有角色



我已经在为最近添加的成员使用此"guildMemberAdd"来加入"访问者";角色

client.on("guildMemberAdd", member =>{
member.roles.add(member.guild.roles.cache.find(role => role.name == "Visitors"), "auto added.");
})

我的机器人不能24小时在线。所以当我连接它时,有一些用户在机器人离线的同时加入了,显然没有角色(我猜他们是@everyone角色(。

我的意图是当我连接Bot.时,将没有角色的不和谐用户转移到现有角色

在准备好的活动中,只需用GuildMemberManager#fetch()获取公会中的每个成员,然后筛选出只有一个角色的成员(@everyone(。

client.on('ready', async () => {
const members = await client.guilds.cache.get('Guild ID').members.fetch(); // fetch every member
members
.filter((m) => m.roles.cache.size === 1) // iterate through every member with only one role
.each((m) => m.roles.add('Role ID')); // add the Visitors role
});

最新更新