Discord.py sur heroku bot musique

Résolu/Fermé
Alexouz Messages postés 84 Date d'inscription samedi 28 novembre 2020 Statut Membre Dernière intervention 17 août 2022 - 8 août 2021 à 13:03
Alexouz Messages postés 84 Date d'inscription samedi 28 novembre 2020 Statut Membre Dernière intervention 17 août 2022 - 17 août 2021 à 19:13
Bonjour, J'ai un gros problème j'ai héberger mon bot sur heroku et quand j'ai voulu écouter de la musique ça ne marche pas alors que si je fais manuellement sans l'héberger ça marche expliquer moi svp.

Mon code:
music = {}
ytdl = youtube_dl.YoutubeDL()


class Video:
    def __init__(self, link):
        video = ytdl.extract_info(link, download=False)
        video_format = video["formats"][0]
        self.url = video["webpage_url"]
        self.stream_url = video_format["url"]
        self.title = video['title']
        self.duration = video['duration']
        self.thumbnail = video['thumbnail']
        return


def play_song(clients, queue, song):
    source = discord.PCMVolumeTransformer(discord.FFmpegPCMAudio(song.stream_url,
                                                                 before_options="-reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 5"))

    def next(_):
        if len(queue) > 0:
            new_song = queue[0]
            del queue[0]
            play_song(clients, queue, new_song)
        else:
            asyncio.run_coroutine_threadsafe(clients.disconnect(), bot.loop)

    clients.play(source, after=next)

@bot.command()
async def play(ctx, url):
    if not ctx.message.author.voice:
        await ctx.send(" {} Vous devez vous connectez a un salon vocal !".format("<:no_entry:862022003639713892>"))
        return
    else:
        clients = ctx.guild.voice_client

        if clients and clients.channel:
            video = Video(url)
            music[ctx.guild].append(video)
        else:
            channels = ctx.message.author.voice.channel
            video = Video(url)
            music[ctx.guild] = []
            clients = await channels.connect()
            embed = discord.Embed(title="**Je met cette vidéo !**", color=0xFF0000, url=url)
            embed.set_author(name=ctx.author.name, icon_url=ctx.author.avatar_url)
            embed.set_thumbnail(url=video.thumbnail)
            embed.add_field(name="Titre :", value=video.title, inline=True)
            embed.add_field(name="Durée :", value=f"{video.duration}s", inline=True)
            await ctx.send(embed=embed)
            play_song(clients, music[ctx.guild], video)

3 réponses

M3NSONG3 Messages postés 615 Date d'inscription mardi 16 avril 2013 Statut Membre Dernière intervention 4 novembre 2021 162
8 août 2021 à 22:27
Je suppose qu'il te manque des dépendances sur Heroku... J'ai jamais utilisé cet... hebergement ? je sais pas trop comment le qualifier, mais il semblerait que plusieurs personnes aient des problèmes avec les dépendances sur les forums américains.

Essaye de vérifier que tu as bien ton "youtube_dl" d'installé, que tu as bien ton ffmepg s'il ton module l'utilise, etc...

Bon courage.
0
Alexouz Messages postés 84 Date d'inscription samedi 28 novembre 2020 Statut Membre Dernière intervention 17 août 2022 3
9 août 2021 à 00:44
Bonsoir sur le requirements.txt j'ai mis ceci :
ffmpeg==1.4
ffmpeg-python==0.2.0
youtube-dl==2021.6.6
donc il devrai l'installé est l'utilisé
0
Alexouz Messages postés 84 Date d'inscription samedi 28 novembre 2020 Statut Membre Dernière intervention 17 août 2022 3
17 août 2021 à 19:13
Au final j'ai réussit mais différemment, j'ai utiliser le heroku CLI
0