我的机器人经常崩溃,并且无法找到问题。我已经尝试了几种方法,但是都没有引起错误。 Bot应该删除包含德语中的自定义单词的消息。
client.on ('message', message => {
if (message.author.id === "715567779624779787") {}
else if (message.content === "!help" || message.content === "!link") {}
else if (message.channel.type === "dm") {
message.reply("Ich filtere nur auf Servern. Versuche !help oder !link.");
} else if (message.member.hasPermission("MANAGE_MESSAGES")) {}
else if (config.filter_list.some(word => message.content.toUpperCase().includes(word))) {
message.delete();
}
});
ID,即机器人ID。显示UP的错误是这个人:
} else if (message.member.hasPermission("MANAGE_MESSAGES")) {
^
TypeError: Cannot read property 'hasPermission' of null
at Client.<anonymous> (C:\Users\User\Desktop\Stuff\Scheiße die sich verpissen soll\LuisChat\bot.js:27:38)
at Client.emit (events.js:333:22)
at MessageCreateAction.handle (C:\Users\User\Desktop\Stuff\Scheiße die sich verpissen soll\LuisChat\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
at Object.module.exports [as MESSAGE_CREATE] (C:\Users\User\Desktop\Stuff\Scheiße die sich verpissen soll\LuisChat\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (C:\Users\User\Desktop\Stuff\Scheiße die sich verpissen soll\LuisChat\node_modules\discord.js\src\client\websocket\WebSocketManager.js:386:31)
at WebSocketShard.onPacket (C:\Users\User\Desktop\Stuff\Scheiße die sich verpissen soll\LuisChat\node_modules\discord.js\src\client\websocket\WebSocketShard.js:435:22)
at WebSocketShard.onMessage (C:\Users\User\Desktop\Stuff\Scheiße die sich verpissen soll\LuisChat\node_modules\discord.js\src\client\websocket\WebSocketShard.js:293:10)
at WebSocket.onMessage (C:\Users\User\Desktop\Stuff\Scheiße die sich verpissen soll\LuisChat\node_modules\ws\lib\event-target.js:120:16)
at WebSocket.emit (events.js:321:20)
at Receiver.receiverOnMessage (C:\Users\User\Desktop\Stuff\Scheiße die sich verpissen soll\LuisChat\node_modules\ws\lib\websocket.js:800:20)
我找不到错误消息的问题。请忽略我的长文件路径:D
先谢谢您
路易斯
答案 0 :(得分:0)
message.member.hasPermission("MANAGE_MESSAGES")
**将其更改为**
message.guild.member(message.author).hasPermission("MANAGE_MESSAGES")
答案 1 :(得分:0)
谢谢您的帮助。我认为问题是由不和谐系统通知引起的,该通知没有被检测为Bot或具有一定权限的成员。
我已经使用if (message.author.client || message.author.bot) {} else return;
修复了它。这只是检查作者是客户端还是机器人。
-路易斯