discord.py(python)中的ffmpeg播放器自动离开

时间:2018-01-12 13:58:17

标签: python ffmpeg discord discord.py

我创建了一个不和谐机器人,在某些消息上发回消息或播放声音(如音板)

关键代码是:

         soundboard_player = voice_client.create_ffmpeg_player("doh.mp3")
         soundboard_player.start()
         await client.send_message(message.channel, "Playing DOH...")

这个工作绝对没问题,但我一直试图添加这条线              after=voice_client.disconnect() 我把它放在("doh.mp3", * I PUT IT HERE *)括号内。 我希望机器人在完成后离开。

当我运行包含'after'语句的代码时,bot加入并收到错误消息:

TypeError: disconnect() takes 1 positional argument but 2 were given

我知道您可以使用soundboard_player.is_done()来检查僵尸程序的状态,但我无法找到一种方法来检查状态而不会在循环中捕获代码

通过在循环中捕获代码,我无法执行STOP命令以阻止它在中途播放歌曲(soundbite)。

对ffmpeg播放器的after=voice_client.disconnect()命令有任何帮助 或者是一种创造性的方式来定期检查状态而不会被困在循环中?

1 个答案:

答案 0 :(得分:0)

运行threadafe。

我建议:

forced_root_block : false, force_br_newlines : true, force_p_newlines : false,

loop = voice_client.loop 你应该在同步功能中写它。 祝你好运。