在discord.js v12中,可以使用GuildMemberManager
类的fetch()
方法来获取服务器中的所有成员,并使用filter()
方法筛选出没有角色的成员。
以下是一个示例代码:
const Discord = require('discord.js');
const client = new Discord.Client();
client.on('ready', () => {
console.log(`Logged in as ${client.user.tag}`);
});
client.on('message', async (message) => {
if (message.content === '!findMembersWithoutRole') {
const guild = message.guild;
const members = await guild.members.fetch();
const membersWithoutRole = members.filter((member) => member.roles.cache.size === 1);
message.channel.send(`Members without roles: ${membersWithoutRole.map((member) => member.user.tag).join(', ')}`);
}
});
client.login('YOUR_DISCORD_BOT_TOKEN');
请注意,上述代码中的YOUR_DISCORD_BOT_TOKEN
需要替换为您自己的Discord机器人令牌。
运行此代码后,当有人发送!findMembersWithoutRole
消息时,机器人将返回服务器中所有没有角色的成员的用户名。
这是一个简单的示例,您可以根据自己的需求进行修改和扩展。有关discord.js v12的更多信息,请参阅discord.js文档。
领取专属 10元无门槛券
手把手带您无忧上云