我想要一个只有拥有禁令权限的人才能使用的命令:
if(msg.member.guild.me.hasPermission('BAN_MEMBERS'))
{
msg.channel.send("hi")
} else {
msg.channel.send("You do not have permission to use this command")
}
我得到了错误: msg.member.guild.me.hasPermission不是一个函数
我做错了什么?
发布于 2022-05-14 17:00:24
msg.member.guild.me
是GuildMember类型,根据https://discord.js.org/#/docs/discord.js/stable/class/GuildMember?scrollTo=permissionsIn,GuildMember没有称为hasPermission
的方法。请注意,你在互联网上看到的许多不和谐指南都是基于旧版本的。
发布于 2022-05-14 17:03:41
msg.member.guild.me.hasPermission('BAN_MEMBERS')
查看客户端(bot)是否拥有BAN_MEMBERS
权限(不管怎么说,现在它什么也不做了,因为.hasPermission
已经被permissions.has
替换了)。
使用此链接作为新权限设置的参考。
您需要使用以下代码检查消息发送方是否具有权限。
const { Permissions } = require('discord.js'); // add this to the very top of your file
if (msg.member.permissions.has(Permissions.FLAGS.BAN_MEMBERS))
{
msg.channel.send("hi")
} else {
msg.channel.send("You do not have permission to use this command")
}
https://stackoverflow.com/questions/72242304
复制相似问题