【问题标题】:Discord Clear Command role permission doesnt workDiscord Clear Command 角色权限不起作用
【发布时间】:2020-07-17 06:51:59
【问题描述】:

我尝试使用具有权限的命令 (!clear) 制作一个简单的不和谐机器人。我希望“管理员权限”角色是唯一允许执行 !clear 命令的角色。每次我尝试执行命令时,它都会说 message.guild.roles.find 不是函数。我现在的代码是:

switch(args[0]){
    case 'clear':
       if(message.guild.roles.find(role => role.name === 'Admin perms')) {

            if(!args[1]) {
               return channel.reply ('How many message do you want me to delete idot!')
            }
       message.channel.bulkDelete(args[1]);


【问题讨论】:

  • 您能否描述一下您在使用此代码时遇到的问题?
  • 每次启动时都说 message.guild.roles.find 不是函数
  • 如果此机器人仅用于个人服务器,我建议使用message.member.roles.has("role-id")。您可以通过在提及角色并按 Enter 之前键入 `` 来获取角色 ID

标签: discord discord.js


【解决方案1】:
        if(!message.member.roles.cache.find(r => r.name === "Admin perms")) return message.channel.send('You dont have permissions to do that idot!')

    if(!args[1]) return message.reply('How many message do you want me to delete idot!')
    message.channel.bulkDelete(args[1]);
    break;

【讨论】:

    【解决方案2】:

    尝试这样做:

    switch(args[0]) { case 'clear': if (message.member.roles.cache.find(role => role.name === 'Admin perms')) { if(!args[1]) { return channel.reply ('How many message do you want me to delete idot!') } else { message.channel.bulkDelete(args[1]); } } break;

    【讨论】:

    • 这似乎有效,唯一的问题是现在它说“频道未定义”
    • 说真的。使用 message.channel 而不是频道
    猜你喜欢
    • 1970-01-01
    • 2022-10-20
    • 2020-07-17
    • 2021-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 2015-01-06
    相关资源
    最近更新 更多