当有人在discord.js中发送命令时,它会吐出错误而不是发送消息

时间:2020-07-18 06:45:31

标签: javascript discord.js

  client.on('message', message => {
      if (!message.member.hasPermission(["KICK_MEMBERS", "ADMINISTRATOR"])) return message.channel.send("Hey! Dont try to make me say that!")
      if (message.content.startsWith("||say ")) { //prefix
      message.delete(1); //Supposed to delete message
      message.channel.send(message.content.slice(5, message.content.length));
   }
});

因此,当我在没有烫发的帐户上测试此命令时,该命令未通过,但会吐出错误,而不是发送消息,提示您机器人无法发送消息。这是错误https://pastebin.com/raw/UFH7wKCd 另外,删除消息不适用于该代码。

1 个答案:

答案 0 :(得分:0)

这对我有用。我添加了一个过滤器,以防止漫游器响应其自身的消息和异步/等待状态。

client.on("message", async message => {
    if (message.author.bot) return;
    if (!message.member.hasPermission(["KICK_MEMBERS", "ADMINISTRATOR"])) return await message.channel.send("Hey ! Dont try to make me say that !")
    if (message.content.startsWith("||say ")) { // prefix
        message.delete(1); // Supposed to delete message
        message.channel.send(message.content.slice(5, message.content.length));
    }
});