Seite 1 von 1

Discord MP3 Bot mit Python und ffmpeg

Verfasst: Freitag 29. September 2017, 22:26
von Phil1401
Guten Abend,
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')
Mein erster Versuch, um den Bot den Kanal automatisch verlassen zu lassen (Der Bot verlässt den Kanal aber, bevor die Datei abgespielt wurde):

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')

Re: Discord MP3 Bot mit Python und ffmpeg

Verfasst: Freitag 1. März 2019, 19:10
von Gamingbuddies15
Hey ich finde es nice nur ich weiß nicht wie ich meine mp3 dateien ab spielen lasse

Re: Discord MP3 Bot mit Python und ffmpeg

Verfasst: Freitag 2. August 2019, 14:18
von anonym13
Ich habe eine so ähnliche frage

Kann mir wer da helfen?


import discord
from discord.ext import commands

bot = commands.Bot(command_prefix = "!")


@bot.event
async def on_ready():
print("Bot ist gestarted!")


@bot.command()
async def start(ctx):
voicechannel = discord.utils.get(ctx.guild.channels, name='User-music')
vc = await voicechannel.connect()


bot.run('MyToken')

Ich möchte jetzt das der bot einen stream link der in der datei festgelegt wir spielt wie kann ich das machen?
Also insgesammt soll der bot in einen festgelegten channle joinen wenn ich !start eingebe und einen fastgelegten radio stream link spielen

Re: Discord MP3 Bot mit Python und ffmpeg

Verfasst: Sonntag 20. Dezember 2020, 15:45
von miel9
...