Créer un robot Discord low-code avec Integromat : parties 1 et 2
Par Mitch Schwartz
Mis à jour :
Ancien tutoriel — conservé à titre de référence.
Pour savoir comment créer un robot Discord, et pour le code de base utilisé dans la partie 2, voir ici : https://www.codementor.io/@garethdwye…
)Partie 2 : [https://www.youtube.com/watch?v=ddiy2…
)Sites que je mentionne :- https://www.integromat.com/?pc=pragma…) (C’est notre lien partenaire Integromat; ça nous aide si vous l’utilisez!)
Transcription de la partie 1
Salut tout le monde. Bienvenue. Aujourd'hui, on va bâtir deux, trois robots Discord de base. Qu'est-ce qu'ils font, ces robots-là? Ben, vous voyez le résultat final juste ici. C'est pour un jeu vraiment génial, avec une communauté géniale, qui s'appelle crypto Raiders. Les robots vont afficher le prix de leur jeton. Comme ça, on a les valeurs directement dans Discord au lieu d'aller les chercher sur différents sites.
Bon. Comment on bâtit ça, maintenant? Moi, je l'ai fait en combinant quelques affaires. Une de ces affaires-là, c'est integr met, et c'est ça qui va chercher les données et qui les passe aux robots. Dans la partie un, on va juste regarder ça. Alors comment ça marche? J'ai utilisé trois requêtes HTTP.
C'est parce que j'ai deux robots à mettre à jour. Si j'en avais juste un, ce serait deux modules. J'aurais pas besoin du routeur. Dans integr map, vous partez juste un nouveau. Scénario, et vous choisissez le module HTTP request. Une fois dedans, cliquez d'abord sur afficher les paramètres avancés, et assurez-vous que tous les statuts sauf 200 et 300 sont traités comme des erreurs, parce que sinon Integra reconnaîtra pas les erreurs.
L'autre chose à faire, juste pour la configuration de base, c'est de sélectionner parse response ici. Comme ça, les données de la réponse vont être utilisables dans les modules suivants; sans ça, c'est un peu plus long. Donc on va aller chercher des données chez Nomics. NOx, c'est un site vraiment génial, à mon avis en tout cas. Et ils vous laissent, je veux dire, un, la, la collection de jetons est géniale.
L'interface est vraiment bonne. Et là, vous pouvez comparer dans n'importe quelle devise ou paire que vous voulez. Autre affaire vraiment pratique : vous cliquez ici en haut, et ils vous amènent chercher une clé d'API, et vous. En gros, il faut, vous pouvez en avoir une gratuite et ça va suffire, même si c'est pas idéal, et je vais vous expliquer pourquoi ça fait quand même la job.
Et je pense que leur clé de base, c'est genre 5k. Alors, vous savez, on va interroger l'API des prix. Donc ça, c'est l'URL, et vous pouvez la trouver dans leur documentation. Et ensuite, on a key égale, bon, je ne mets pas ma clé ici, même si je pense que c'est une clé publique, mais vous savez, c'est une bonne pratique. Alors, vous savez, pas de parenthèses, collez juste la clé là.
Bon, j'ai aussi la section d'en-tête ici, où il y a la valeur de la clé. Ça m'a surpris d'avoir besoin des deux. Je suis pas certain, mais quand je l'ai enlevée de l'URL, ça a arrêté de marcher. Fait que j'ai les deux, vous pouvez jouer avec ça. Et encore une fois, ici, la vraie valeur de la clé, après ça, vous n'avez pas vraiment besoin de request content, alors vous pouvez laisser ça vide.
Je faisais juste jouer avec. Et c'est, c'est tout ce qu'il vous faut. Alors quand vous roulez ça, je vais vous montrer dans celui-là, ici. Quand vous roulez ça, vous allez recevoir un énorme. Vidage, assez gros merci, regardez la taille du fichier. C'est, malheureusement, c'est très gros, parce que je sais pas encore comment spécifier les, oui.
Pardon. Comment, comment choisir juste les cryptos que je veux. Je suis pas sûr que ce soit permis, en tout cas avec l'API gratuite. Ensuite, quand vous regardez dans la section data, vous voyez, tsé, voici le jeton, donc on a currency et price, et c'est juste une longue liste de paires clé-valeur currency et price.
Dans les modules suivants, on va juste aller chercher celle qu'on veut. Alors si on regarde ça, ouais, regardons le module radar. Ici, premièrement, on pingue l'app Discord, OK? J'ai créé un robot dans Discord. C'est vraiment important de le dire : du côté de Discord, il faut que vous créiez une app.
Il y a des tonnes de. Guides là-dessus. Fait que je le montre pas, mais je vais mettre un lien dans la description, et c'est pas si, si long. Assurez-vous de donner à ce robot-là, quand vous partagez le lien, de donner au robot la permission de changer son propre surnom, parce que c'est ça, le mécanisme qu'on utilise ici.
Donc discord app, API guilds. Ça, c'est l'ID du serveur (guild) où vous mettez le robot, où vous voulez. Pardon, où vous voulez qu'il fonctionne et qu'il se mette à jour; le plus facile pour le trouver, c'est dans l'URL. Si vous regardez dans l'app Web de Discord, et ensuite slash members et at me, donc en gros, selon le jeton du robot que vous allez mettre ici, que Discord va vous donner, et ça, c'est le jeton secret.
Fait que partagez-le pas. C'est pas pour rien que je le montre pas ici. Celui de Dynamics. Est pas très sensible, mais celui-là. Et je me trompe peut-être pour celui de NOx. Mais bon. Partagez pas cette clé-là, c'est le mot de passe de votre robot. Donc ici, comme on envoie ce jeton-là et que Discord peut savoir, tsé, à quel robot il appartient, on met at me : c'est ça qu'on change.
Donc encore une fois ici, autorisation bot plus. Jeton. Donc bot précise que c'est un jeton de type robot. Et ensuite, si on va dans le type de corps, j'ai essayé de mettre ça dans la chaîne de requête. Ça a pas. Ça marcherait peut-être. Je, je sais pas. Ça semblait mieux comme ça. Donc type de corps raw, JSON, encore une fois, vous voulez parse response.
Même si, rendu là, ça change probablement pas grand-chose. Et encore une fois, ici, j'ai cliqué sur afficher les paramètres avancés, et, et je me suis assuré que, vous savez, les erreurs sont bien enregistrées ici. Donc ce qui se passe, c'est le contenu que je vais envoyer. Et si vous regardez la documentation de l'API pour cette URL, elle va expliquer un peu plus en détail pourquoi je l'ai fait.
Mais la valeur que je veux changer. Et je pense que la seule que je peux changer avec cet appel, c'est Nick, ou nickname. C'est comme ça qu'ils l'appellent. Et ensuite, ce par quoi je veux le changer, c'est, vous savez, le nom est Rader. C'est le formatage du robot. Je vais le remettre à l'écran pour que vous le voyiez.
Alors, vous savez, et tout ce que je veux changer, c'est ce qui vient après le signe de dollar. Comment j'arrive à ça? Bon, le formatage est pas le plus beau. Mais si j'essaie juste de rendre ça un peu plus lisible, ça donne ça. En partant de l'intérieur, premièrement, on prend tout le tableau data.
Je vous ai montré, c'était une grosse liste de paires clé-valeur. Et on va mapper ça dans un tableau à une seule dimension, ou juste une liste, et vu comment on s'y prend, la liste va avoir une seule valeur. Donc c'est un mappage de ce tableau. Seulement de la valeur price, et on va seulement prendre la valeur price où currency est égal à Rader.
Si vous survolez map ici, vous pouvez voir le formatage d'un coup, au cas où vous oublieriez. Donc c'est ça, oh non, c'est cette ligne du bas qu'on a faite. Et ouais, donc en gros, à partir de là, on va aller chercher. La première valeur du tableau, c'est la seule. Et là, on va la lire comme un nombre. Je fais ça parce que je veux la formater, mais je peux pas formater une chaîne comme un nombre.
Donc on va la convertir en nombre. Et vous pouvez voir ici, ça vous demande juste de préciser le séparateur décimal. Et finalement, on va formater le nombre. Et si vous regardez ça, c'est le nombre de décimales et les séparateurs décimaux. Le nombre de décimales, ensuite le séparateur décimal, et ensuite le séparateur des milliers.
Donc c'est ce que ça demande. Et ensuite, on ferme notre requête ici, et, et c'est tout. Donc en gros, avec la vraie clé branchée, ça marche. Je vais vous montrer le résultat final. Une dernière fois. On va regarder, il est où, donc? Donc ces robots, et peut-être que je peux faire ça bien vite. Donc c'est le vrai, ça va.
Alors je vais cliquer sur exécuter et revenir, et on va peut-être le voir changer en direct. Ou pas. Ah, le voilà. Vous avez vu celui-là se mettre à jour, et si on regarde ici encore une fois, tsé, vous voyez que ça a roulé sans problème. Et si vous cochez pas ça. Tsé, traiter les statuts 400, 500 comme des erreurs, même s'il y avait eu une erreur, ce serait vert, vous le sauriez pas.
C'est pour ça qu'on veut le faire. Donc si vous vous rendez juste jusque-là, si vous avez créé le robot dans Discord et que vous avez configuré cette routine integr net, vous allez avoir des robots qui fonctionnent, mais qui ne s'afficheront pas en ligne. Alors dans la partie deux, ce qu'on va faire, c'est vous montrer comment faire en sorte que les robots.
Alors ça s'en vient juste après. En supposant que l'algorithme de YouTube fait bien sa job. Bon, de la façon dont je veux qu'il la fasse, j'imagine. Et oui, si vous avez aimé ça, abonnez-vous, tout ça. Je pense que si ce n'est pas en miroir, vous savez, vous savez où est le bouton rendu là. Alors merci d'avoir regardé.
Et si vous aimez ça, vous savez, on carbure aux encouragements. Alors si vous commentez, si vous vous abonnez, tout ça, et que c'est utile, on va faire d'autres vidéos comme celles-ci. Alors merci beaucoup.
Transcription de la partie 2
Bon, rebonjour. Et maintenant, on va faire la partie deux de ces robots super cool qui vont afficher. La valeur d'un jeton récupérée par Nomics dans Discord, pour qu'on n'ait pas à en sortir pour la voir. Et on peut montrer le prix de notre jeton, dollar, aux membres. Super cool. Alors si vous avez suivi la partie un, ça fonctionne déjà, mais le robot ne s'affichera pas en ligne.
Donc ce qu'on doit faire, c'est, bon, configurer, configurer un serveur. Pour que, pour que ça arrive. Alors allons ici, voilà, rep.com, et ce dépôt, je, je vais donner le lien. Vous pouvez y accéder. Aucun de ces bouts de code n'est de moi à l'origine. Je pense que j'ai changé genre une chose, peut-être. Et oui, en gros, c'est le premier script Python que j'écris.
Vous allez remarquer, pendant que j'essaie de vous l'expliquer, que je m'y connais peut-être même pas tant que ça, mais ça marche. Et ouais, ça, c'est la bonne nouvelle. Alors, vous savez, on importe nos paquets ici. Vous avez, c'est import discord, en fait, je me demande si je suis censé le mettre à jour en import discord. P Y, si vous regardez les paquets.
En important ça, ça, ça, c'est en gros un wrapper, pour pouvoir interagir avec l'API de Discord. Flask, je ne suis pas sûr de ce que ça fait, en fait, mais ça faisait partie du script qui était recommandé pour le keep alive. Donc ce sont les deux fichiers qu'on a. Vous pouvez copier-coller ça et ça devrait, en gros, fonctionner.
La seule modification que vous allez devoir faire, c'est token OS point environment point get ici. Ça, en gros, ça va chercher la valeur du jeton. Si je la mettais dans le code, les gens pourraient la voir, et ce ne serait pas très sécuritaire. Alors à la place, vous allez dans secrets, les variables d'environnement, et elles restent secrètes. Et ensuite, vous allez voir juste ici, vous pouvez en créer une nouvelle.
Vous pouvez l'appeler token ou lui donner le nom que vous voulez. Et ensuite, vous mettez juste à jour. Ici, le nom du jeton. Donc je pense même, oui, il y a une ligne de code de trop ici, peut-être. Mais bon, il y a deux affaires de base qui se passent ici. Un, c'est, vous savez, juste le, l'hébergement général et l'importation des paquets et tout ça, comme le, le wrapper.
Et ensuite, il y a la vraie fonction keep alive ici. Vous pouvez voir ce qu'elle fait. Vous pouvez la copier-coller. En gros, elle retourne I'm alive. Donc on a quelque chose à, à pinger ici. Donc cette fonction keep alive, ce qu'elle va faire, c'est juste aller chercher le jeton, et ensuite elle va faire client.run avec le jeton.
Et donc ce que ça va faire, c'est juste faire rouler le robot. Ça ne fait rien de concret et il n'y a pas de fonction, mais ça garde le robot en vie parce qu'il a fait une action. Donc on doit exécuter ça au moins une fois par heure, parce que sur le. Forfait de Relet, en tout cas, ou, pardon, dans Discord, si le robot n'a pas d'activité, je suis pas mal sûr que c'est dans l'heure, il se déconnecte.
Le problème avec Relet gratuit, c'est qu'il ne vous laisse pas garder le serveur en vie très longtemps. Une fois que vous avez des points, que vous avez fermé la fenêtre du navigateur, mais on a une solution pour ça. Si vous prenez cette URL juste ici, et elle va seulement apparaître une fois que vous avez cliqué. Donc si vous la prenez, on peut aller sur uptime robot.
Vous pouvez ajouter un nouveau moniteur, et je vais vous montrer comment je l'ai configuré. Alors la première chose ici, je vais juste vous montrer, modifier. Bon. La première chose, c'est que vous allez choisir HTTPS. Ensuite, vous entrez un nom convivial, puis vous collez l'URL qu'on vient de prendre dans l'autre page, l'URL du serveur. L'intervalle de surveillance, aux 30 minutes, ça marche bien jusqu'à maintenant.
Alors ça semble correct. Et, et c'est tout. Vous pouvez configurer un courriel de contact si vous voulez recevoir des notifications quand ça envoie un ping au serveur et que le serveur, vous savez, ne répond pas genre : hé, je vais bien, ça ne donne pas si c'est une réponse 200, et oui, avec cette combinaison-là, vous êtes pas mal prêts.
Ça fait maintenant deux jours que je teste ça sur mon serveur, les robots sont restés. Et ça, c'est vraiment une bonne nouvelle. Alors si vous avez des questions sur le script, vous pouvez les poser dans les commentaires. Encore une fois, je vais donner le crédit dans la, dans la description, parce que j'oublie où j'ai trouvé ça, mais c'était super utile.
Ça s'est configuré super vite, tout ça, et oui, j'espère que ça va vous être vraiment utile. Parce que maintenant, que vous fassiez le robot de jeton ou non, cette partie va. Garder vos robots en vie, peu importe leurs fonctions. Et si vous apprenez integr map, ou si vous apprenez Python ou n'importe quel autre langage de script, vous pouvez en fait faire ça en JavaScript, et, et en Node, ce qui a commencé à m'échapper un peu.
Alors je ne l'ai pas fait. Mais oui, vous pouvez, vous pouvez modifier ça. Et probablement que la prochaine chose que je vais faire, c'est prendre les parties integr map, qui coûtent en ce moment genre deux, trois dollars par mois en requêtes. Mais je suis pas mal sûr que je peux les amener ici et faire baisser ça. Et au lieu d'exécuter chaque heure, on pourrait peut-être exécuter toutes les 15 minutes ou plus souvent.
Alors je vais tester tout ça ensuite. Mais encore une fois, j'espère que c'est utile. Merci d'être là et d'avoir regardé. Comme toujours, on carbure aux encouragements, ou peut-être aux votes du public, vous savez. Alors si cette vidéo est utile, on va en faire d'autres. Faites-le-nous savoir, donnez-nous un pouce en l'air, abonnez-vous, tout ça. Et on va vous sortir d'autres affaires comme ça.
Alors merci beaucoup, et bon plaisir.