【问题标题】:How do I check if a certain user has MANAGE SERVER permissions in discord.js如何检查某个用户是否在 discord.js 中具有 MANAGE SERVER 权限
【发布时间】:2020-09-21 22:02:23
【问题描述】:

我做了一个名为 throw party 的命令,它基本上向服务器中的每个人发送消息,但是服务器的管理员说任何人都可以发送垃圾邮件 serverparty 很烦人,因为它基本上和发送垃圾邮件@everyone 一样烦人,所以我试着让它一个基于权限的东西,但在这里不起作用的是我使用的不和谐指南的链接:https://discordjs.guide/popular-topics/permissions.html#creating-a-role-with-permissions,这是代码:

if (cmd === 'throwparty') {
 if (message.guild) {
  if (message.author.hasPermission('MANAGE_SERVER')) {
   message.guild.members.cache.forEach((member) => {
    if (member.id != client.user.id && !member.user.bot)
     member.send(args.join(' '));
   });
  } else {
   message.channel.send('You dont have permission to use this');
  }
  // cuts off the /private part
 }
}

这是我得到的错误:

TypeError: message.author.hasPermission is not a function
    at Client.<anonymous> (/home/runner/ServerParty/index.js:105:26)
    at Client.emit (events.js:315:20)
    at Client.EventEmitter.emit (domain.js:483:12)
    at MessageCreateAction.handle (/home/runner/ServerParty/node_modules/discord.js/src/client/actions/MessageCreate.js:31:14)
    at Object.module.exports [as MESSAGE_CREATE] (/home/runner/ServerParty/node_modules/discord.js/src/client/websocket/handlers/MESSAGE_CREATE.js:4:32)
    at WebSocketManager.handlePacket (/home/runner/ServerParty/node_modules/discord.js/src/client/websocket/WebSocketManager.js:384:31)
    at WebSocketShard.onPacket (/home/runner/ServerParty/node_modules/discord.js/src/client/websocket/WebSocketShard.js:444:22)
    at WebSocketShard.onMessage (/home/runner/ServerParty/node_modules/discord.js/src/client/websocket/WebSocketShard.js:301:10)
    at WebSocket.onMessage (/home/runner/ServerParty/node_modules/ws/lib/event-target.js:125:16)

【问题讨论】:

标签: javascript discord discord.js


【解决方案1】:

message.author 返回没有角色的user 属性。您需要改为获取 membermessage.member.hasPermission(...)

if (message.member.hasPermission('MANAGE_SERVER')) ...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-11
    • 1970-01-01
    • 1970-01-01
    • 2012-07-07
    • 2013-12-09
    • 2016-04-23
    • 1970-01-01
    • 2011-01-28
    相关资源
    最近更新 更多