ich habe ein Problem mit der Programmierung eines Discord-Bots. Und zwar soll dieser auf einen Befehl hin (der den Ort wo alles abgespielt werden soll und was abgespielt werden soll beinhaltet)
Das Problem ist, dass der Bot, wenn er dann einmal in einem Sprachkanal drin ist, auch wieder hinaus muss, damit er etwas anderes abspielen kann. Dazu habe ich jetzt auch schon Code geschrieben:
Code: Alles auswählen
import discord as dc
from time import sleep
sounds = ['bach']
class MyClient(dc.Client):
async def on_ready(self):
print('Verbunden.')
async def on_message(self, message):
if message.author == client.user:
return
if message.content.startswith('!play'):
eig = message.content.split(' ')
where = eig[2]
what = eig [1].lower()
if not what in sounds:
await message.channel.send('''Sound nicht gefunden.
!sounds
für die verfügbaren Sounds eingeben.''')
return
channel = dc.utils.get(message.guild.channels, name=where)
voicec = await channel.connect()
voicec.play(dc.FFmpegPCMAudio('/home/pi/Python-Projekte/Discord 6b Bot/Sounds/'+what+'.mp3'))
while voicec.is_playing():
sleep(0)
voicec.disconnect()
if message.content.startswith('!sounds'):
pass
client = MyClient()
client.run('Token')
Mit "await" vor den Abspiel-Befehl (voicec.play(dc.FFmpegPCMAudio('/home/pi/Python-Projekte/Discord 6b Bot/Sounds/'+what+'.mp3'))) hängen geht es auch nicht.
Danke schon im Voraus.