【问题标题】:Discord.js bot leave guildDiscord.js 机器人离开公会
【发布时间】:2018-07-28 09:13:26
【问题描述】:

如何让我的机器人离开公会? 我试过这个:

case `leave`:
    if(message.author.id !=='196701848239865866') 
        return message.channel.send(`**»** ${message.author}, you don't have permission to do that!`);
    var guildID = bot.guild.find()
    guildID.leave()
    break;

【问题讨论】:

  • 我真的不知道代码应该做什么。但是,粗略地看一下,我可以看到一些错误。公会id可以通过message.guild.id获取

标签: javascript discord discord.js


【解决方案1】:

你不能通过公会ID运行.leave()来离开公会。我建议做message.guild.leave(); 离开公会。如果您需要公会 ID,可以通过 message.guild.id 从消息中获取。

要详细说明您的代码不工作的原因,您做错了几件事。

bot.guild 不存在,因此bot.guild.find() 也不起作用。机器人被设计为存在于多个公会中,因此它们存储在Collection 中,您可以通过bot.guilds.find("id", guildId); 搜索它们。此外,一旦你获得了“id”,它就会以Snowflake 的形式返回,因此它没有任何方法,你不能从中运行.leave();

【讨论】:

    【解决方案2】:

    在 discord.js v12 中你必须使用

    bot.guilds.cache.get(id).leave()
    .catch(err => {
        console.log(`there was an error leaving the guild: \n ${err.message}`);
    

    我认为这就是它的工作原理!如果您有任何问题,请随时 hmu!

    【讨论】:

      【解决方案3】:

      要添加到 Splinxyy 的答案,而不是 bot.guild.find();(因为它不存在)尝试 message.guild

      【讨论】:

        【解决方案4】:

        就像他们上面所说的,message.guild.leave() 将离开发送消息的当前服务器。但是,您也可以对 forEach 算法使用类似的方法。这是一个示例:bot.guilds.cache.forEach(guild => {guild.leave()}) 这将留下您的机器人所在的 ALL 服务器。如果您想为您的机器人留下一个特定的服务器,您可以使用如下内容:bot.guild.leave(server id here)

        【讨论】:

          【解决方案5】:

          通过查看您的代码,我会说,这样做:

          case `leave`:
              if(message.author.id !=='196701848239865866') 
                  return message.channel.send(`**»** ${message.author}, you don't have permission to do that!`);
              var guildID = bot.guilds.cache.get(args[0]) //your argument would be the server id
              guildID.leave()
              break;
          
          

          如果您想让它离开消息来源的服务器,请执行以下操作:

              if(message.author.id !=='196701848239865866') 
                  return message.channel.send(`**»** ${message.author}, you don't have permission to do that!`);
          message.guild.leave()
          

          希望这会有所帮助。

          【讨论】:

            猜你喜欢
            • 2020-10-24
            • 2021-07-06
            • 2020-07-17
            • 2021-06-16
            • 2021-06-17
            • 2021-06-01
            • 2020-09-11
            • 2021-12-29
            • 2021-08-17
            相关资源
            最近更新 更多