我希望我的机器人先加入语音频道,然后运行命令并发送消息,然后再次离开语音频道,但我失败了。我还很新,我正在等待您的建议作为资源。
我的代码:
client.on("message", function (message) {
if (message.content === "hello"){
if (message.member.voice.channel) {
const connection = DiscordMessage.member.voice.channel.join();
const channel01 = client.channels.cache.find(channel => channel.id === "838137321169223701");
channel01.send("hi")
}
}
});
答案 0 :(得分:0)
在查看您的代码后,我注意到您缺少一个让您的机器人加入语音聊天的实际功能。您所做的只是调用了一个“const”变量,但从未执行过它。如果您希望您的机器人在响应发送后立即离开,这将使您的机器人加入呼叫的时间不到一秒钟,尽管您可以用它来替换当前代码。
client.on("message", function (message) {
if (message.content === "hello"){
if (message.member.voice.channel) {
const VoiceChannel = message.member.voice.channel
const channel01 = client.channels.cache.find(channel => channel.id === "849139242478206976");
VoiceChannel.join()
channel01.send("hi").then(setTimeout(function(){
VoiceChannel.leave()
}, 2000));
}
}
});
这将使您的机器人加入语音聊天,并在 2 秒后离开,正如您从超时功能中看到的那样。如果您不想有任何超时,您可以简单地将 .then 之后的值替换为:
.then(VoiceChannel.leave());
希望对您有所帮助!