如何让 Discord 机器人加入语音频道并在有人加入语音聊天时播放音频文件



我当前的项目

我正在尝试制作一个 Discord 机器人,当有人加入 Discord 语音聊天时,它会播放特定的音频文件(.mp3 或 .ogg(。

我的问题

我不知道如何做到这一点。

我认为这应该有效。您必须安装 ffmpeg 并安装所需的模块,但如果有任何问题,请告诉我。

import discord
import audioread
import time
@client.event
async def on_voice_state_update(member: discord.Member, before, after):
#replace this with the path to your audio file
path = r"/path/to/file.mp3"
vc_before = before.channel
vc_after = after.channel
if vc_before == vc_after:
return
if vc_before is None:
channel = member.voice.channel
vc = await channel.connect()
sleep(.5)
vc.play(discord.FFmpegPCMAudio(path))
with audioread.audio_open(path) as f:
#Start Playing
sleep(f.duration)
await vc.disconnect()
elif vc_after is None:
return
else:
channel = member.voice.channel
vc = await channel.connect()
sleep(.5)
vc.play(discord.FFmpegPCMAudio(path))
with audioread.audio_open(path) as f:
#Start Playing
sleep(f.duration)
await vc.disconnect()

最新更新