【发布时间】:2022-12-17 01:11:08
【问题描述】:
我制作了一个 automod 系统,它只审核没有管理员的用户。出于某种原因,我不断收到错误“TypeError:无法读取 null 的属性(读取‘权限’)”。这是代码:
client.on('messageCreate', async message => {
if (message.member.permissions.has(Permissions.FLAGS.ADMINISTRATOR)) return;
【问题讨论】:
-
成员在公会之外返回 null。确保您在服务器中发送消息
-
抱歉,我是 Discord.JS 的新手。我不是在 DMing 机器人或任何东西,但它仍然会出现此错误。
-
您是在服务器中编写消息吗?
-
是的,我想我只是通过添加行 if (!message.member) return 来修复它
-
对于其他有这个问题的人,假设他们确定他们有必要的意图,没有引用 DM 等,我最近发现了一个模式,
message.member是null当消息的作者是机器人时。这可能是您的问题。我通过检查message.author.bot是否为真解决了这个问题,并通过message.guild.members.cache.get(message.author.id)手动从缓存中获取成员。工作起来很有魅力。使用message.fetch()也可能有效。当解决方案如此简单时,不确定为什么会出现此问题。
标签: discord discord.js bots