【问题标题】:Mute everyone in a voice channel with a Discord Bot with Discord.js使用 Discord.js 使用 Discord Bot 将语音频道中的所有人静音
【发布时间】: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
【问题讨论】:
标签:
javascript
bots
discord
【解决方案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创建了这个机器人