【问题标题】:Discord.js bot can't kick membersDiscord.js 机器人无法踢出成员
【发布时间】:2020-12-11 14:01:07
【问题描述】:

代码如下:

    if (message.author.bot) return;
    if (message.content.startsWith(PREFIX)) {
        const [CMD_NAME, ...args] = message.content
          .trim()
          .substring(PREFIX.length)
          .split(/\s+/);
        
        if (CMD_NAME === 'kick') {
            if (args.length === 0) return message.reply('Provide an ID');
            const member = message.guild.members.cache.get(args[0]);
            if (member) {
                member.kick();
            } else {
                message.channel.send('User not found');
            }

        } 
    }
});

由于某种原因,即使我使用用户的 id,机器人也总是输出“找不到用户”。 机器人有权这样做,有人知道解决方案吗?

【问题讨论】:

    标签: node.js discord.js


    【解决方案1】:

    这是因为最近 Discord Api 的更改导致 Guild 缓存为空,要解决此问题,您有以下选项 -

      1. 在 Discord 开发者门户中启用 SERVER MEMBERS INTENT Intent
      1. 获取公会成员message.guild.members.fetch(args[0])

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-18
      • 2022-01-18
      • 2020-12-28
      • 2019-02-22
      • 2020-09-03
      • 1970-01-01
      • 2019-04-25
      • 2021-09-27
      相关资源
      最近更新 更多