【问题标题】:discord.js bot to tag random user in server [duplicate]discord.js 机器人在所有用户中标记随机用户[重复]
【发布时间】:2022-01-10 01:38:37
【问题描述】:

我想包含一个“-random”命令,该命令将在服务器的所有成员中标记随机成员。我找到了以下代码:

if(command === 'random'){
              
        let random = message.guild.members.cache.random().user;
        message.channel.send('<@'+random+'>');
    }

它有效,但它只会标记我、机器人本身或其他人,如果我标记他或他在频道中写了一些东西。我该如何解决这个问题?

【问题讨论】:

    标签: random discord discord.js


    【解决方案1】:

    先获取所有成员,然后在返回的集合上调用random()

    if (command == 'random') {
       message.guild.members.fetch()
          .then(allMembers => {
             const member = allMembers.random();
             message.channel.send(member.toString());
          })
          .catch(console.error);
    }
    

    确保您已启用 GuildMember 的 Intent 以使提取工作正常。

    【讨论】:

    • 谢谢,这对我帮助很大,因为我是一个 js 初学者,并且把它作为一种爱好。
    • 如果这解决了您的问题,请使用我的答案左侧的复选标记向未来有相同问题的用户指明答案
    【解决方案2】:

    要让所有成员加入公会,您必须在 client.login(token):https://discordjs.guide/popular-topics/intents.html#privileged-intents 之前启用特权意图

    确保您也在 Discord Developer 机器人仪表板中启用了意图:https://discord.com/developers/applications

    【讨论】:

    • 谢谢你,真的很有帮助,我不知道为什么,但我真的迷失在文档中
    猜你喜欢
    • 2021-01-22
    • 1970-01-01
    • 2020-09-08
    • 2021-08-19
    • 2021-08-09
    • 1970-01-01
    • 2021-05-04
    • 2020-12-10
    • 1970-01-01
    相关资源
    最近更新 更多