在 Discord.js 12 中,可以通过监听语音通道的成员变动事件来实现机器人在语音通道中没有人时离开的功能。具体步骤如下:
const Discord = require('discord.js');
const client = new Discord.Client();
voiceStateUpdate
:client.on('voiceStateUpdate', (oldState, newState) => {
const channel = newState.channel; // 获取当前成员所在的语音通道
if (!channel) {
// 如果当前成员离开了语音通道
const botVoiceConnection = client.voice.connections.get(newState.guild.id);
if (botVoiceConnection && botVoiceConnection.channel.members.size === 1) {
// 如果机器人是唯一一个在语音通道中的成员
botVoiceConnection.disconnect(); // 机器人离开语音通道
}
}
});
client.login('YOUR_BOT_TOKEN');
以上代码会监听所有服务器中的语音通道成员变动事件,当机器人是唯一一个在语音通道中的成员时,机器人会自动离开该语音通道。
请注意,以上代码仅适用于 Discord.js 12 版本,如果使用其他版本的 Discord.js,可能需要做相应的调整。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云音视频通信(TRTC)。
领取专属 10元无门槛券
手把手带您无忧上云