【问题标题】:Discord.js - How to servermute a mentioned member?Discord.js - 如何对提到的成员进行服务器静音?
【发布时间】:2020-12-18 17:27:36
【问题描述】:

嘿, 前段时间我已经编写了我的代码的工作版本,但是我丢失了它并且无法让它再次工作。

我尝试对提到的成员进行服务器静音,但我的代码不起作用。

if(command == "mute") {
    const person = message.mentions.members.first();
    person.voice.setMute(true);
}

我也试过这些,但都没有用:

//version1
const user = message.mentions.users.first();
const person = message.guild.members(user);

//version2
const person = message.guild.members(message.mentions.users.first());

我的机器人工作正常,除了上面的这些部分。

【问题讨论】:

    标签: javascript discord discord.js


    【解决方案1】:

    您可以尝试使用此代码吗:

    let person = message.guild.member(message.mentions.users.first());
    

    我个人将它用于我的机器人,它的工作原理不会让人头疼。如果您遇到任何问题,请告诉我。

    【讨论】:

    • 我发现问题是我的命令处理程序而不是我的函数 (._.)
    【解决方案2】:

    尝试使用添加角色和删除角色功能。例如:

    let mainRole = message.guild.roles.cache.find(role => role.name === 'members');
    let muteRole = message.guild.roles.cache.find(role => role.name === 'muted');
    
    if (!args[1]) {
       memberTarget.roles.remove(mainRole.id);
       memberTarget.roles.add(muteRole.id);
       message.channel.send(`<@${memberTarget.user.id}> has been muted`);
       return
    }
    memberTarget.roles.remove(mainRole.id);
    memberTarget.roles.add(muteRole.id);
    message.channel.send(`<@${memberTarget.user.id}> has been muted for ${ms(ms(args[1]))}`);
     
                setTimeout(function () {
                    memberTarget.roles.remove(muteRole.id);
                    memberTarget.roles.add(mainRole.id);
                }, ms(args[1]));
            } else {
                message.channel.send(`Can't find that member/did not specify a member!`);
            }
    
    

    此代码从提及的用户中删除名为“members”的角色,并为提及的用户提供“静音”角色。 对于角色,您必须确保提到要静音的用户必须具有主要角色“成员”。 如果用户不是真实用户或不是有效用户,代码将发送消息:“找不到该成员/未指定成员!”。

    【讨论】:

    • 我知道这种方法,但我尽量避免它,因为它不流畅,而且我已经让 servermute 机器人在过去运行,就像我说的那样丢失它但是无论如何还是谢谢
    猜你喜欢
    • 2021-03-05
    • 2020-06-26
    • 2021-02-19
    • 2020-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-27
    相关资源
    最近更新 更多