繁体   English   中英

如何使用 discord.js 列出所有具有特定角色的成员?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM