首页 > 解决方案 > 拥有 UndefinedNd 的权限

问题描述

我有一个问题:当我添加角色成员(开发服务器上的 reuuu)和开发服务器上的角色 reuuu 时,我的机器人在我的主服务器上崩溃,角色 reuuu 工作得很好。
我不明白这个错误。

                      ^

TypeError: Cannot read property 'hasPermission' of null
    at Client.<anonymous> (/home/container/index.js:96:23)
    at Client.emit (events.js:326:22)
    at MessageCreateAction.handle (/home/container/node_modules/discord.js/src/client/actions/MessageCreate.js:31:14)
    at Object.module.exports [as MESSAGE_CREATE] (/home/container/node_modules/discord.js/src/client/websocket/handlers/MESSAGE_CREATE.js:4:32)
    at WebSocketManager.handlePacket (/home/container/node_modules/discord.js/src/client/websocket/WebSocketManager.js:384:31)
    at WebSocketShard.onPacket (/home/container/node_modules/discord.js/src/client/websocket/WebSocketShard.js:444:22)
    at WebSocketShard.onMessage (/home/container/node_modules/discord.js/src/client/websocket/WebSocketShard.js:301:10)
    at WebSocket.onMessage (/home/container/node_modules/ws/lib/event-target.js:132:16)
    at WebSocket.emit (events.js:314:20)
    at Receiver.receiverOnMessage (/home/container/node_modules/ws/lib/websocket.js:825:20)

这是代码 https://hastebin.com/ziqadekivo.js

标签: javascriptdiscord.js

解决方案


正如@Seblor在评论中所说,这意味着message.memberis null,当消息未在服务器中发送或用户离开服务器时会发生这种情况。我注意到您检查它是否是顶部的 DM 通道,因为您正在使用 message.member 更好的检查将是if (message.member === null) return;因为这将确保有一个成员对象并且作为副作用在 DM 通道中不起作用。


推荐阅读