📅  最后修改于: 2023-12-03 15:00:25.746000             🧑  作者: Mango
Discord.js 是一个用于与 Discord API 交互的 Node.js 模块。在本文中,我们将使用 Discord.js 来获取服务器中具有角色的成员列表。
首先,请确保已经安装了 Discord.js。使用以下命令进行安装:
npm install discord.js
接下来,引入 Discord.js 模块并创建一个新的客户端。你需要提供你的 Discord API token。
const Discord = require('discord.js');
const client = new Discord.Client();
client.login('your-token-goes-here');
当客户端登录成功后,你可以开始获取服务器中的所有成员。使用以下代码:
const guild = client.guilds.cache.get('guild-id'); // 请替换成你的服务器 ID
const membersWithRoles = guild.members.cache.filter(member => member.roles.cache.size > 1);
注意,guild-id
必须替换为你自己的服务器 ID。
通过过滤器 member.roles.cache.size > 1
,你可以获取所有具有角色的成员。在上面的代码中,membersWithRoles
变量将存储具有角色的成员列表。
最后,你可以将列表输出到控制台或发送到 Discord 频道。使用以下代码:
membersWithRoles.forEach(member => {
console.log(`${member.user.tag} has roles: ${member.roles.cache.map(role => role.name).join(', ')}`)
});
这将在控制台中显示每个成员及其角色列表。
注意,如果你想在 Discord 频道中发送列表,请将 console.log()
替换为 channel.send()
。channel
必须是 TextChannel
类型的对象。
以下是完整的演示代码示例:
const Discord = require('discord.js');
const client = new Discord.Client();
client.login('your-token-goes-here');
client.on('ready', () => {
const guild = client.guilds.cache.get('guild-id'); // 请替换成你的服务器 ID
const membersWithRoles = guild.members.cache.filter(member => member.roles.cache.size > 1);
membersWithRoles.forEach(member => {
console.log(`${member.user.tag} has roles: ${member.roles.cache.map(role => role.name).join(', ')}`)
});
});
以上是使用 Discord.js 获取所有具有角色的成员的介绍。希望对你有所帮助!