我最近重新回到编码和 Python 领域,并想了解如何制作一个不和谐的机器人。我已经设法发送消息并做一些基本的事情,但现在我不知道如何让它在语音频道中播放音频。
我可以让它随意加入和离开,但是一旦我尝试播放音乐,它就安静了。音频文件已经下载,它与我的程序在同一个文件夹中。我没有收到任何错误,我只知道机器人有问题。音频文件不仅仅是静音,我已经检查过。我不知道出了什么问题。
应该发生的情况是,当我呼叫机器人并且它加入我的 VC 时,它应该开始播放歌曲。
我的代码:
@client.command(aliases=['jvc'])
async def joinvc(ctx):
voice_channel = ctx.message.author.voice.channel
voice_client = discord.utils.get(client.voice_clients, guild=ctx.guild)
if voice_client:
if not voice_client.is_connected():
await voice_channel.connect()
voice_client.play(discord.FFmpegPCMAudio(executable='C:\\FFmpeg\\bin\\ffmpeg.exe', source='file.mp3'))
else:
await voice_channel.connect()
voice_client = discord.utils.get(client.voice_clients, guild=ctx.guild)
voice_client.play(discord.FFmpegPCMAudio(executable='C:\\FFmpeg\\bin\\ffmpeg.exe', source='file.mp3'))
对不起,如果代码不是很好,但这是我能想到的唯一不会出错的方法。如果我忘记了任何重要的事情或做错了什么,我也很抱歉,这是我第一次使用 StackOverflow。
答案 0 :(得分:0)
记得在路径中添加ffmpeg
/(?<=\{).+?(?=\})/g
如果您不知道如何将 ffmpeg 添加到路径,请随时向我发送信息@client.command()
async def thisisnotacommand(ctx):
channel = ctx.author.voice.channel
vc = await channel.connect()
await ctx.send('Started playing: something')
vc.play(discord.FFmpegPCMAudio('file.mp3'), after=lambda e: print('done', e))