Discord.py sur heroku bot musique

Résolu
Alexouz Messages postés 88 Statut Membre -  
Alexouz Messages postés 88 Statut Membre -
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)
A voir également:

3 réponses

M3NSONG3 Messages postés 670 Statut Membre 162
 
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 88 Statut Membre 3
 
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 88 Statut Membre 3
 
Au final j'ai réussit mais différemment, j'ai utiliser le heroku CLI
0