[英]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.