[英]How to list all members with a specific role with discord.js?
我尝试制作一个简单的机器人,它只列出所有具有特定角色的成员。
我经历了我能找到的大多数类似问题,但他们的答案似乎已经过时了。 所以我尝试了这个,但最终得到了“未定义”的结果,尽管角色存在。
const discord = require('discord.js');
const { Client, Intents } = require('discord.js');
const client = new discord.Client(
{ intents: [
Intents.FLAGS.GUILDS,
Intents.FLAGS.GUILD_MESSAGES,
Intents.FLAGS.GUILD_MEMBERS
] });
const prefix ="!";
const MemberID = "912852591023628371";
client.on('ready', () => {
console.log('Connected to the bot');
});
client.on('messageCreate', msg => {
if (msg.content === 'hi') {
msg.reply('Hi to you too!');
}
});
client.on('messageCreate', async message => {
if (message.content === prefix + 'list') {
let list = client.guilds.cache.get(MemberID);
console.log(list);
}
}
);
如果我错了,请纠正我,但client.guilds.cache.get(MemberID);
是 Promise https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function ,所以你必须等到它解决,否则它将是未定义的。 尝试将整个事情包装在异步 function 中。 例如:
if (message.content === prefix + 'list') {
async function getAllMemberWithRoles() {
let list = await client.guilds.cache.get(MemberID);
console.log(list);
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.