使用 Discord.js 使用 Discord Bot 将语音频道中的所有人静音

Posted

技术标签:

【中文标题】使用 Discord.js 使用 Discord Bot 将语音频道中的所有人静音【英文标题】:Mute everyone in a voice channel with a Discord Bot with Discord.js 【发布时间】:2019-07-31 13:21:53 【问题描述】:

我希望在我的机器人 discord 中添加一个功能,以便在我启动订单时对语音休息室中的每个人进行变异,但我不知道如何操作。我的机器人是使用 Node.js 和 discord.js 编写的。有人能帮我吗?谢谢你:)

我的代码:

const Discord = require("discord.js");

module.exports.run = async (client, message, args) => 
  if(!message.member.hasPermission("MANAGE_MESSAGES")) return message.channel.send("Vous n'\avez pas les permissions pour utiliser cette commande !");
  let voiceChannel =  message.guild.channels
  .filter(function (channel)  return channel.id === '540093524570406912' )
  .first()
  voiceChannel
  .join()
  .then(function (connection) 
      connection.members.setMute(true);
     )


module.exports.help = 
  name:"start"

问候,

昆汀 S

【问题讨论】:

【参考方案1】:

setMute

client.on('message', (message) => 
    if (message.content == '/muteAll') 
        let channel = message.member.voiceChannel;
        for (let member of channel.members) 
            member[1].setMute(true)
        
     
);

【讨论】:

【参考方案2】:

setMute 现在是GuildMember.voice (VoiceState) 上的一个方法。 Documentation

client.on('message', (message) => 
    const channel = message.channel
    const members = channel.members
    if (message.content.startsWith("/muteall")) 
        members.forEach(member => 
            member.voice.setMute(true)
            member.voice.setDeaf(true)
        );
        message.channel.send('Server muted');
     else if (message.content.startsWith("/unmuteall")) 
        members.forEach(member => 
            member.voice.setMute(false)
            member.voice.setDeaf(false)
        );
        message.channel.send('Server unmuted');
    
);

我已经为此https://github.com/Roshanjossey/discord-mute-voice-channel-bot创建了这个机器人

【讨论】:

以上是关于使用 Discord.js 使用 Discord Bot 将语音频道中的所有人静音的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 discord.js 使用 discord 机器人发送 DM

使用 Discord.js 使用 Discord Bot 将语音频道中的所有人静音

Discord Bot 使用 Discord.js 在 X 秒后离开 VC

如何使用 discord.js 从 discord bot 向特定用户发送消息

无法使用 discord.js 获得角色

使用 Discord.js 从频道获取频道类别