如果僵尸程序没有发送消息的权限,怎么办?

时间:2020-06-09 03:58:23

标签: javascript node.js bots discord discord.js

我的代码中有if (!message.guild.me.hasPermission("SEND_MESSAGES")) return;,但是当我禁用漫游器的发送消息权限时,它给了我一个错误,(node:2504) UnhandledPromiseRejectionWarning: DiscordAPIError: Missing Permissions。我该如何解决这个问题,以便当我的机器人无法将消息发送到聊天室时,我不会收到错误消息。

3 个答案:

答案 0 :(得分:1)

在消息事件之前执行此操作

尝试一下:

if (message.author.bot) {
 return;
} else {
 //do soemthing if user is not a bot
}

答案 1 :(得分:1)

您可以使用try catch块来捕获异常,然后不打印错误。

like:

try{ if (!message.guild.me.hasPermission("SEND_MESSAGES")) return; }catch{}

答案 2 :(得分:0)

这可能是因为所需的权限不是SEND_MESSAGES

例如,如果您正在编码ban命令,则还需要检查该漫游器是否具有BAN_MEMBERS权限。

如果它是add-role命令,则必须检查bot最高角色是否高于它需要分配的角色。