.send() 上的 discord.js 缺少权限错误

Posted

技术标签:

【中文标题】.send() 上的 discord.js 缺少权限错误【英文标题】:discord.js Missing Permissions error on .send() 【发布时间】:2020-08-16 03:55:50 【问题描述】:

我陷入了一个愚蠢的循环,不知道如何检查我的 BOT 是否有权在特定渠道发送消息。我得到的只有这个:

if (msg.guild.me.hasPermission('SEND_MESSAGES'))
  msg.channel.send('hello!');

当然,这会产生 Missing Permissions 错误,因为我的 BOT 允许作为角色发送,但由于 @everyone 正在否定权限,所以不能在频道中发送。那么如何检查我的 BOT 是否真的可以在这个特定的频道中发送消息呢?

【问题讨论】:

【参考方案1】:

GuildChannel#permissionsFor 应该这样做。

例如

msg.channel.permissionsFor(msg.guild.me).has("SEND_MESSAGES") // returns a boolean

【讨论】:

以上是关于.send() 上的 discord.js 缺少权限错误的主要内容,如果未能解决你的问题,请参考以下文章

Discord.js user.send() 中的 ReactionCollector 不是函数

TypeError:mention.send 不是函数 - discord.js

discord.js .message.channel.send().then 承诺不工作

message.channel.send 不工作 discord.js

如何在 discord.js 中使用 message.channel.send 正确标记用户

发送Discord.JS嵌入内容