【发布时间】:2021-10-06 00:04:57
【问题描述】:
我正在尝试让我的 say 命令只对管理员有效,但我的权限有问题。这是我的代码:
client.on("message", (message) => {
if (!message.member.hasPermission("ADMINISTRATOR")) return;
if (message.content.startsWith(prefix + "say")) {
if (message.author.bot) return;
const SayMessage = message.content.slice(5).trim();
message.channel.send(SayMessage);
if (message.deletable) message.delete();
return;
}
});
对我来说看起来不错,但控制台说:
if(!message.member.hasPermission("ADMINISTRATOR")) return
^
TypeError: Cannot read property 'hasPermission' of null
【问题讨论】:
-
命令是在公会内部运行的吗? (如果消息来自 DM,则
.member 未定义。) -
如果我没记错的话,如果消息是在 DM 中发送的,
member会返回 null。尝试在服务器中运行它 -
不,它甚至不起作用,控制台在启动机器人后立即显示它
-
该代码在消息事件中,它只会在发送消息时触发
标签: javascript node.js discord discord.js