python Discord Bot加入静音的语音通道

slhcrj9b  于 2023-01-19  发布在  Python
关注(0)|答案(1)|浏览(119)

我试图让我的discord机器人在语音通道中播放MP3文件,然而,在加入discord机器人后,它仍然保持静音,因此音频文件是听不见的,即使它可能正在播放。

@client.event
  async def on_ready():
    print(f'{client.user} is now running')
    channel = discord.utils.get(client.get_all_channels(), id=<vc id>)
    voice = await channel.connect()
    source = FFmpegPCMAudio('<filename>.mp3')
    await 
    player = voice.play(source)

有人知道如何取消discord机器人的静音吗?我确信在邀请它加入我的discord服务器之前,我已经设置了机器人在语音聊天中发言的权限。

3qpi33ja

3qpi33ja1#

首先,voice.play不是异步的,您不应该将await用于voice.play
第二,不要在on_ready事件中做那么多事情,这些都是通过命令来做的(你需要把discord.Client改成commands.Bot,看这个
第三,如果你在本地运行,你需要在你的FFmpegPCMAudio(executable=..., source=...)中指定可执行文件,请看这个,同时,你需要先安装ffmpeg来指定路径。
第四,检查你的意图,确保你已经启用了intents.voice_states。如果你已经设置了Intents.defaultIntents.all,那么你已经有了voice_states

相关问题