- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte person00:00:00 :Dans cette vidéo, on va encapsuler notre bot à l'intérieur d'une classe,donc on va faire de l'orienté objet, ça va nous permettre d'organiser un peu mieux notre codeet d'avoir également d'autres avantages comme par exemple le fait de ne pas être obligé depréfixer chaque événement comme ceci du décorateur at client.event. Vu qu'on va hériter du bot et
00:00:19 :bien toutes les fonctions qui vont être à l'intérieur qui vont avoir le même nom qu'unévénement seront considérées directement comme des événements. Donc déjà ce qu'on va faire c'est
00:00:27 :ne pas passer par un client mais on va utiliser un bot. Les bots sont un peu plus versatiles queles clients, comme on l'a vu ça nous permet notamment d'utiliser directement des commandesqui sont plus faciles d'utilisation que lorsqu'on a un client. Donc ce que je vais faire c'est déjà
00:00:40 :remplacer cet import et à la place je vais mettre from discord.ext import comments. A l'intérieurde comments on va retrouver la classe bot que l'on va utiliser. Donc je vais enlever ça ici,
00:00:51 :je ne vais pas faire un client, je vais également enlever le unready et cette ligne on va pourl'instant la commenter mais on en aura besoin quand même tout à l'heure. Donc je vais faire
00:01:00 :une classe que je vais appeler dogBot du nom de mon bot et on va hériter de comments.bot. Donc çac'est la classe qui nous permet de créer un bot. Donc on crée une classe qui hérite de comments.bot
00:01:10 :comme ça on va pouvoir avoir accès à tout ce qui est à l'intérieur de cette classe. Je vaisfaire ensuite la fameuse méthode init qui va me permettre d'initialiser les instances de cetteclasse et on va utiliser la fonction super pour appeler la méthode init de comments.bot.
00:01:26 :Tout ça ici c'est de l'orienter objet, je ne vais pas rentrer dans les détails. A cette méthode initje vais passer le command prefix qui nous permet de spécifier le caractère qui va être utilisépour préfixer les commandes qu'on va utiliser avec notre bot. Donc je l'envoie au init ici et
00:01:42 :on va également créer la méthode unready qui est l'événement qui va être appelé lorsque le botest prêt. Donc comme je vous l'ai dit on n'a pas besoin de mettre un décorateur, on va pouvoir
00:01:52 :directement faire cette méthode en la préfixant là encore de async, donc ça par contre il fautbien le laisser. Et on va faire cette méthode unready. On n'oublie pas de mettre le self,
00:02:01 :avec Python c'est mis automatiquement mais n'oubliez pas de le faire si vous utilisezun autre éditeur de code puisqu'on est à l'intérieur d'une classe ici, il faut mettreself comme premier argument. Et ici on va tout simplement faire un print et on va dire que le
00:02:14 :bot est prêt. Donc je vais faire ici une chaîne de caractères et à l'intérieur de cette chaînede caractères je vais mettre des accolades et on va mettre le nom du bot. Donc je vais faire self.user
00:02:24 :donc self.user ça me permet de récupérer l'utilisateur du bot et ensuite je vais utiliserle displayName. Donc self.user.displayName et on va dire qu'il s'est bien connecté, donc
00:02:34 :est connecté au serveur comme ceci. Et je vais donc juste laisser le print comme ceci, je ne mets pasun await puisque là c'est juste un print donc je ne fais aucune action sur le serveur directement.
00:02:44 :Vous voyez là que tout fonctionne on n'a pas besoin comme je vous le disais de mettre dedécorateur et tout ce qu'il nous reste à faire ici et bien c'est créer une instance de notre bot.
00:02:52 :Donc là je vais faire un bot que je vais appeler docBot et on va créer une instance de docBot.Je n'ai rien besoin de passer ici, on fait juste créer une instance de docBot et on ne passe aucunargument ici lors de l'initialisation donc je fais juste créer une instance à partir de ma classe
00:03:06 :et ensuite je vais lancer cette instance donc avec run. Donc pour ça ça ne change absolument rien,on crée une instance et on utilise run avec notre token pour connecter notre bot au serveur.
00:03:17 :Je lance le script et normalement on devrait avoir un print qui s'affiche ici, voilà docBotAppest connecté au serveur. Donc vous voyez que ça nous a permis très simplement ici d'encapsuler
00:03:27 :notre bot dans une classe qui a le init ici donc ça nous permettrait de passer certainesinformations à notre bot ici et ensuite à chaque fois que vous allez avoir envie de créer desévénements et bien vous pouvez tout simplement overridez les fonctions des événements donccomme ici onReady directement à l'intérieur de votre classe en créant des méthodes. Donc voilà
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.