[英]Discord.js - How to servermute a mentioned member?
嘿,我不久前编写了我的代码的工作版本,但我把它弄丢了,不能让它再次工作。
我尝试对提到的成员进行服务器静音,但我的代码不起作用。
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());
除了上面的这些部分外,我的机器人工作正常。
您可以尝试使用此代码:
let person = message.guild.member(message.mentions.users.first());
我个人将它用于我的机器人,并且它可以毫无问题地工作。 如果您遇到任何问题,请告诉我。
尝试使用添加角色和删除角色 function。 例如:
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!`);
}
此代码从提到的用户中删除称为“成员”的角色,并为提到的用户提供“静音”角色。 对于角色,您必须确保提到要静音的用户必须具有主要角色“成员”。 如果用户不是真实用户或不是有效用户,代码将发送消息:“找不到该成员/未指定成员。”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.