javascript - 拥有 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)
解决方案
正如@Seblor在评论中所说,这意味着message.member
is null
,当消息未在服务器中发送或用户离开服务器时会发生这种情况。我注意到您检查它是否是顶部的 DM 通道,因为您正在使用 message.member 更好的检查将是if (message.member === null) return;
因为这将确保有一个成员对象并且作为副作用在 DM 通道中不起作用。
推荐阅读
- jquery - 如何从laravel中的文件输入中删除文件
- json - 无法从 iSeries (IBM Midrange) 上的 JSON 数据中检索值
- node.js - Socket 在使用 NodeJs 从 Gmail API 获取邮件时挂起
- reactjs - 如何在反应中使用嵌套循环
- python-3.x - 如何求解具有指数项的方程
- arrays - 按值排序的数组排序
- java - 使用java 8流从另一个地图地图构建地图地图
- java - 如何从 JAVA 中的 PriorityQueue 中删除用户定义的类对象
- python - 如何在python中将串口数据写入Text小部件
- c++ - 如何在 C++ 中展开嵌套的 for 循环?