Bot 在离开前未完成播放音频
Posted
技术标签:
【中文标题】Bot 在离开前未完成播放音频【英文标题】:Bot does not finish playing audio before leaving 【发布时间】:2018-11-19 03:12:05 【问题描述】:因此,这个不和谐机器人旨在简单地加入输入命令的人的语音通道,播放音频文件,完成后离开。 机器人成功加入语音频道,开始播放音频,在完成之前,它离开了。在音频文件完成之前并不是机器人离开,因为在移除机器人离开的能力后它仍然在同一点切断。这是我的代码:
const Discord = require("discord.js");
const client = new Discord.Client();
var isReady = true;
client.on("ready", () =>
console.log("I am ready!");
);
client.on("message", (message) =>
if (isReady && message.content.startsWith("!gtab"))
isReady = false;
var voiceChannel = message.member.voiceChannel;
voiceChannel.join().then(connection =>
const dispatcher = connection.playFile('./getthatassbanned.mp3', );
dispatcher.on("end", end =>
message.channel.send("Get that ass banned.");
voiceChannel.leave();
isReady = true;
);
).catch(err => console.log(err));
);
我已经为这个问题猛烈抨击了好几个小时,但我似乎无法确定它发生的原因。任何帮助表示赞赏!
【问题讨论】:
好像是库的问题,看看this Github Issue 【参考方案1】:问题可能只是连接。尝试将voiceChannel.leave()
放入setTimeout
函数中。
例子:
setTimeout(function()
voiceChannel.leave()
, 2000)
【讨论】:
以上是关于Bot 在离开前未完成播放音频的主要内容,如果未能解决你的问题,请参考以下文章
使用 python Discord bot 播放 Youtube 音频