ich habe beim Programmieren an meinem Discord Bot (https://discordapp.com/) ein kleines Problem gefunden.
Mit dem nachfolgendem Code kann ich den Bot zwar in einen Sprachkanal kommen und deine MP3 Datei abspielen lassen, aber bevor der Bot eine neue Datei spielen kann, muss er den Kanal verlassen. Manuell (Befehl .quit eingeben) bekomme ich das hin, aber ich hätte es gerne, dass der Bot nach dem abspielen der Datei den Kanal automatisch verlässt.
Ich bin da etwas hilflos und würde mich über jede Idee freuen.
Danke
Phil
Mit Hilfe von dieser Seite habe ich den Code zusammengestellt. http://discordpy.readthedocs.io/en/late ... html#voice
Aktueller Code (manuelles Verlassen):
Code: Alles auswählen
import discord
client = discord.Client()
players = {}
@client.event
async def on_ready():
print(client.user.name)
@client.event
async def on_message(message):
if message.content.startswith('.quit'):
try:
voice_client = client.voice_client_in(message.server)
await voice_client.disconnect()
except AttributeError:
await client.send_message(message.channel, "Ich habe mich bereits von allen Voice Channels getrennt.")
except Exception as exce:
await client.send_message(message.channel, "Es ist ein Fehler aufgetreten. ```{hhh}```".format(hhh=exce))
if message.content.startswith('.play'):
try:
channel = message.author.voice.voice_channel
voice = await client.join_voice_channel(channel)
player = voice.create_ffmpeg_player('Sounds\h.mp3')
player.start()
except Exception as exc:
await client.send_message(message.channel, "Es ist ein Fehler aufgetreten. ```{ttt}```".format(ttt=exc))
client.run('xxx')
Code: Alles auswählen
import discord
client = discord.Client()
players = {}
@client.event
async def on_ready():
print(client.user.name)
@client.event
async def on_message(message):
if message.content.startswith('.play'):
try:
channel = message.author.voice.voice_channel
voice = await client.join_voice_channel(channel)
player = voice.create_ffmpeg_player('Sounds\h.mp3')
player.start()
except Exception as exc:
await client.send_message(message.channel, "Es ist ein Fehler aufgetreten. ```{ttt}```".format(ttt=exc))
voice_client = client.voice_client_in(message.server)
await voice_client.disconnect()
client.run('xxx')