Bot discord en python: lire une musique recherchée sur YouTube

Fermé
Silenzay Messages postés 49 Date d'inscription jeudi 2 juillet 2020 Statut Membre Dernière intervention 15 janvier 2022 - 16 avril 2021 à 17:58
Silenzay Messages postés 49 Date d'inscription jeudi 2 juillet 2020 Statut Membre Dernière intervention 15 janvier 2022 - 8 mai 2021 à 19:15
Bonjour,
Je viens poster un message sur ce forum car je suis actuellement en train de coder un bot discord en python. J'ai alors suivi plusieurs tutos afin d'apprendre les modules nécessaires à la programmation d'un bon bot (discord, youtube_dl et asyncio). Afin de pouvoir lire une vidéo dans un salon vocal, je dois d'abord extraire les données nécessaires:

class Video:
def __init__(self, link):
video = ytdl.extract_info(link, download=False)
videoFormat = video["formats"][0]
self.url = video["webpage_url"]
self.streamUrl = videoFormat["url"]

ensuite, je crée une variable "source" que je vais utiliser pour lire la video:

source = discord.PCMVolumeTransformer(discord.FFmpegPCMAudio(song.streamUrl, before_options="-reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 5"))

ensuite, je demande au bot de lire la vidéo:

client.play(source, after=next)

Voila c'est bien chouette tout ça mais lorsque j'exécute la commande "play" de mon bot dans un salon sur discord, mon argument doit impérativement être un lien youtube, cependant j'aimerais bien pouvoir rechercher une vidéo sur youtube avec des mot, exemple tout bête:
sb!play baby shark. J'ai fait quelques recherches mais elles n'ont abouties à rien, le module "sélénium" pourrait-il m'aider ?
Merci beaucoup et bonne soirée,
Silenzay

1 réponse

Silenzay Messages postés 49 Date d'inscription jeudi 2 juillet 2020 Statut Membre Dernière intervention 15 janvier 2022 7
8 mai 2021 à 19:15
Bonsoir,
J'ai finalement réussi à trouver un module, simple et efficace : youtube-search, j'envoie ci-dessous le lien de la doc. C'est vraiment un super module, c'est simple et rapide !

videosSearch = VideosSearch(link, limit=0)
lien = videosSearch.result()['result'][0]['link']
print(lien)


https://pypi.org/project/youtube-search-python/
0