为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

白衣非少年 2023-12-14 14:09:43
嘿,我不久前编写了代码的工作版本,但我丢失了它并且无法使其再次工作。我尝试对提到的成员进行服务器静音,但我的代码不起作用。if(command == "mute") {    const person = message.mentions.members.first();    person.voice.setMute(true);}我也尝试过这些,但没有一个起作用://version1const user = message.mentions.users.first();const person = message.guild.members(user);//version2const person = message.guild.members(message.mentions.users.first());除了上面这些部分之外,我的机器人工作正常。
查看完整描述

2 回答

?
慕哥6287543

TA贡献1831条经验 获得超10个赞

你可以尝试使用这段代码吗:

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

我个人将其用于我的机器人,并且它的工作原理很简单。如果您遇到任何问题,请告诉我。


查看完整回答
反对 回复 2023-12-14
?
DIEA

TA贡献1820条经验 获得超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”的角色,并为提到的用户提供“muted”角色。对于角色,您必须确保提到静音的用户必须具有主要角色“members”。如果用户不是真实用户或不是有效用户,代码将发送消息:“找不到该成员/未指定成员!”。


查看完整回答
反对 回复 2023-12-14
  • 2 回答
  • 0 关注
  • 108 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信