【问题标题】:I made a bot blacklist but the bot gets stuck in a loop when anyone uses anything我创建了一个机器人黑名单,但是当有人使用任何东西时,机器人就会陷入循环
【发布时间】:2021-03-28 12:25:32
【问题描述】:

我为该机器人创建了一个黑名单,它“有效”,它阻止了被列入黑名单的用户使用该机器人,但最终导致了一个循环,并且当被列入黑名单的用户使用它时,被列入黑名单的消息被发送垃圾邮件。不在黑名单上使用它

代码如下

client.on('message', async message => {

    let blacklist = new Discord.MessageEmbed()
  .setColor("#e31212")
  .setDescription(
    "ERROR: You are not allowed to use this bot | Reason: BLACKLISTED"
  );
var blacklistids = ["402639792552017920", "711957885722296360"];
if (blacklistids.includes(message.author.id)) {
    message.channel.send(blacklist).then(msg => {
        msg.delete({ timeout: 3000 })
      })
}
// Rest of the code
})

【问题讨论】:

    标签: javascript discord.js


    【解决方案1】:

    您的代码似乎是正确的 - 但根据您的描述,在我看来您的代码被包裹在其他地方的循环中。您是否尝试过创建另一个具有不同条件的 client.on() 以查看这些消息是否也被循环/垃圾邮件?

    这是很容易发生的事情,尤其是如果您是初学者。

    编辑:但是,您在 client.on() 声明的末尾缺少 });

    【讨论】:

    • 关于 client.on() 是的,我实际上尝试过,但它仍然没有工作不,我实际上并没有丢失,它实际上在代码的末尾
    【解决方案2】:

    看起来您在数组中的一个 ID 可能是机器人的 ID...如果是这种情况,您可能还希望在 client.on(... 之后有一个 if(message.author.bot) return

    【讨论】:

      猜你喜欢
      • 2014-06-30
      • 2021-02-21
      • 2020-10-26
      • 2019-10-20
      • 1970-01-01
      • 2021-06-30
      • 2019-08-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多