我试图让我的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服务器之前,我已经设置了机器人在语音聊天中发言的权限。
1条答案
按热度按时间3qpi33ja1#
首先,
voice.play
不是异步的,您不应该将await
用于voice.play第二,不要在
on_ready
事件中做那么多事情,这些都是通过命令来做的(你需要把discord.Client
改成commands.Bot
,看这个第三,如果你在本地运行,你需要在你的
FFmpegPCMAudio(executable=..., source=...)
中指定可执行文件,请看这个,同时,你需要先安装ffmpeg来指定路径。第四,检查你的意图,确保你已经启用了
intents.voice_states
。如果你已经设置了Intents.default
或Intents.all
,那么你已经有了voice_states
。