Bot discord en python: lire une musique recherchée sur YouTube
Silenzay
Messages postés
49
Date d'inscription
Statut
Membre
Dernière intervention
-
Silenzay Messages postés 49 Date d'inscription Statut Membre Dernière intervention -
Silenzay Messages postés 49 Date d'inscription Statut Membre Dernière intervention -
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
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
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/
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/