【问题标题】:Mute command in discord不和谐的静音命令
【发布时间】:2021-07-04 19:16:34
【问题描述】:

所以我试图发出一个命令来让人们静音和取消静音,他们在添加静音角色和删除静音角色方面工作正常,但是当我让某人静音时,他们不会被静音,他们仍然可以说话,但我可以看到他们对他们具有静音角色,并且我禁用了所有通话权限,并且当有人发送没有某人姓名的静音/取消静音命令时,机器人收到错误消息无法读取属性'roles' of undefined 这是代码:

else if (parts[0] === Prefix + 'mute') {
        const args = message.content.trim().split(/ +/g);
        const target = message.mentions.members.first();
        const mutedRole = message.guild.roles.cache.find(
            (role) => role.name === 'Muted'
           );
           
           // if there is no `Muted` role, send an error
           if (!mutedRole)
            return message.channel.send('There is no Muted role on this server');
        target.roles.add(mutedRole);
        console.log(User + ' used the command ".mute ' + target + '"')
    
    } else if (parts[0] === Prefix + 'unmute') {
        const target = message.mentions.members.first();
        const args = message.content.trim().split(/ +/g);
        const mutedRole = message.guild.roles.cache.find(
            (role) => role.name === 'Muted'
           );
           
           // if there is no `Muted` role, send an error
           if (!mutedRole)
            return message.channel.send('There is no Muted role on this server');
        target.roles.add(mutedRole); 
        setTimeout(() => {
            target.roles.remove(mutedRole); // remove the role
          }, ms(args[1]))
          console.log(User + ' used the command ".unmute ' + target + '"')

当我在控制台日志中看到它时,如果该人被静音/取消静音,我看不到姓名,但我看到了 ID 号

【问题讨论】:

    标签: javascript discord discord.js mute


    【解决方案1】:

    对于“未正确静音”,这可能是 Discord 权限问题,因此我们无法在此处帮助您解决该问题。

    对于没有某人姓名的命令,您尝试执行target.rolestarget 未定义,因此出现错误。您需要确保target 不是未定义的,如果是,则向用户抛出错误(就像mutedRole 一样)。

    【讨论】:

    • 谢谢,但已正确设置了静音角色,我在 google 上搜索了为什么它不起作用,这是因为其他角色,但是当我尝试摆脱人们的角色时,它可以工作,但归还他们是困难的部分
    猜你喜欢
    • 2020-07-13
    • 1970-01-01
    • 2020-11-18
    • 2021-05-15
    • 2021-04-21
    • 2021-05-13
    • 2019-07-08
    • 1970-01-01
    • 2021-04-06
    相关资源
    最近更新 更多