Discord.js - 如何对提到的成员进行服务器静音?

嘿,我不久前编写了代码的工作版本,但我丢失了它并且无法使其再次工作。


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


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());

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


白衣非少年
浏览 112回答 2
2回答

慕哥6287543

你可以尝试使用这段代码吗:let person = message.guild.member(message.mentions.users.first());我个人将其用于我的机器人,并且它的工作原理很简单。如果您遇到任何问题,请告诉我。

DIEA

尝试使用添加角色和删除角色功能。例如: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]) {&nbsp; &nbsp;memberTarget.roles.remove(mainRole.id);&nbsp; &nbsp;memberTarget.roles.add(muteRole.id);&nbsp; &nbsp;message.channel.send(`<@${memberTarget.user.id}> has been muted`);&nbsp; &nbsp;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]))}`);&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; setTimeout(function () {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; memberTarget.roles.remove(muteRole.id);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; memberTarget.roles.add(mainRole.id);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }, ms(args[1]));&nbsp; &nbsp; &nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; message.channel.send(`Can't find that member/did not specify a member!`);&nbsp; &nbsp; &nbsp; &nbsp; }此代码从提到的用户中删除名为“members”的角色,并为提到的用户提供“muted”角色。对于角色,您必须确保提到静音的用户必须具有主要角色“members”。如果用户不是真实用户或不是有效用户,代码将发送消息:“找不到该成员/未指定成员!”。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript