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 音频

Discord Bot 更新:如何播放音频?

在 Discord bot 中播放本地音频文件的问题

Discord Bot 不播放音频 discord.js v13

Discord.py Bot 不播放音乐

尝试通过语音通道播放 youtube 音频时 C# discord bot 未知操作码 8