当前位置: 首页 > 知识库问答 >
问题:

机器人在离开前未完成音频播放

盖昀
2023-03-14

因此,这个discord机器人只是加入输入命令的人的语音通道,播放音频文件,然后离开<机器人成功加入语音频道,开始播放音频,在结束前离开。它不是在音频文件完成之前机器人离开,因为在删除机器人离开的能力后,它仍然在同一点被切断。这是我的代码:

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));
  }
});

我已经在这个问题上绞尽脑汁好几个小时了,但我似乎无法确定为什么会发生这种情况。感谢任何帮助!

共有1个答案

黄沈浪
2023-03-14

问题可能只是连接。尝试放置语音频道。leve()在setTimeout函数内。

例子:

setTimeout(function(){
    voiceChannel.leave()
}, 2000)
 类似资料:
  • 我最近制作了我的第一个discord机器人,我终于用下面的代码获得了通过机器人播放的音频。但是,如果与bot处于同一频道的人再次使用同一命令,bot将停止播放其音频并离开该频道。此外,我将如何使它,使机器人无法切换频道之前,它已经完成播放其音频。(注意:bot从包含mp3文件的URL播放音频,而不是使用YouTube插件,因为我只希望它为一些私人服务器播放特定内容)以下是代码: 非常感谢您的帮助。

  • 我有一个问题,我正在使用discord.js播放音乐,但当我发送命令$stop时,我的bot没有离开语音通道,请帮助!

  • 尝试制作一个简单的音乐机器人,只播放一个链接,但它不连接到语音通道,因此不会出现任何错误,所以我只能放入所有代码。这是我的主要内容。js公司 这是我的音乐机器人命令,我认为它是正确的,因为我已经在这里请求了一些人的帮助。

  • 有了一个机器人,我试着用discord在一个音频通道中播放一个音频文件(mp3)。js、ffmpeg和opusscript。 基本上,这就是它的工作原理: 因此,音频播放,但在结束前停止(例如,对于5s音频文件,它在3s后停止)。机器人留在频道中,我可以再次播放,但对于我的所有文件,它在结束前停止。我怎样才能解决这个问题?

  • 一款带有圆形进度条的在线音频播放器。 [Code4App.com]

  • 今天我开始为discord with discord创建自己的音乐机器人。皮耶。我使用命令扩展来实现更简单的结构。 到目前为止,我已经创建了加入和离开语音频道的命令(删除了安全检查): 现在我想实现一个功能,以便如果观众(非机器人成员)离开语音频道,机器人也离开。如果“召唤”机器人的用户离开了,但其他成员仍在语音通道中,机器人不得离开。 我想过用这样的东西: 但是我不确定如何把它们都放在一起,以及