
Ce bot multifonctionnel peut faire un peu de tout! C'est un Poked, URL se raccourcit et vous ennuie même si vous ne savez pas quoi faire. Il a été développé sur mon canal Twitch Live dans le but de tous les différentes techniques, fonctions et mise en œuvre d'idées dans un seul projet. De plus, il ne collecte aucune donnée de l'utilisateur qui interagit avec lui sur Telegram, ne répond qu'avec les demandes faites.
Ci-dessous, vous pouvez voir quelles API et technologies ont été utilisées dans le projet, des instructions pour installer les packages nécessaires et l'utilisation de l'application. Le projet a été achevé et placé pour travailler dans le cloud, garantissant que tout le monde peut à tout moment. Ajoutez simplement @bittoinlivebot sur Telegram et amusez-vous!
La plate-forme utilisée pour exécuter le bot dans le cloud était Heroku, car elle est rapide, simple et efficace. L'utilisation de cette plate-forme n'est pas obligatoire pour l'exécution de bot bot et de cloud, car elle peut s'exécuter localement sur votre machine ou d'autres plates-formes peuvent être utilisées, comme AWS, Google, entre autres.
Liste des API utilisées dans le développement du bot:
Source: Liste des API publiques chez GitHub
Packs Python principaux utilisés dans le développement du bot
Version Python utilisée dans le projet: Python 3.8
Pour installer les packages utilisés dans ce projet et le reproduire sur votre machine ou en créer un autre en fonction de cela, des informations sont nécessaires pour s'entraîner! Tout d'abord, si vous souhaitez vous reproduire dans son propre bot, vous devrez créer votre bot sur le télégramme, en utilisant le chat @BotFather . Dans ce chat, vous pouvez créer un bot, modifier les commandes, ajouter description, etc. Mais surtout, pour reproduire le projet, c'est pour enregistrer l' API de jeton généré dans sa création. Ce jeton peut être placé dans le fichier bot.py dans le projet, dans la variable bot_token , afin que toutes les fonctionnalités fonctionnent directement vers votre bot.
Il existe deux façons d'installer tout ce qui est nécessaire pour exécuter le code, vous devez choisir celui que vous trouvez le mieux. Via requirements.txt ou Pipenv . La configuration de bot dans le cloud ne sera pas abordée ici, car la documentation de la plate-forme elle-même (Heroku) a le pas par étape pour y mettre le code s'exécuter, mais il convient de noter qu'au moins une de ces méthodes d'installation de package est nécessaire pour la configuration de l'environnement dans le cloud ainsi que sur votre ordinateur.
Installation par exigences.txt est simple, car il vous suffit de faire installer le PIP sur la machine et d'exécuter la commande suivante:
pip install requirments.txt
L'avantage de l'installation de cette façon est rapide, simple et facile. Cependant, il convient de noter que cette méthode garantit que les principales bibliothèques utilisées dans le projet sont installées dans leurs versions correctes, mais pas leurs filiales. À partir de maintenant, quelques années se trompent peut-être pour cela, mais vous n'avez pas à vous inquiéter.
Pour installer les paquets à l'aide de pipenv est simple, assurez-vous d'abord que PiPenv est installé sur votre machine, avec la commande suivante:
pip install pipenv
Installez ensuite les packages via le fichier PipFile.lock, avec la commande:
pipenv install --ignore-pipfile
Avec tout installé, vous n'aurez qu'à exécuter la commande PIPENV Shell dans le dossier du projet et dès qu'il est à l'intérieur de l'environnement virtuel avec tout ce qui est installé, il exécute le code normalement.
pipenv shell
python main.py

Dans ce sujet, il sera expliqué comment le projet est structuré, entre les fichiers et comment les codes se connectent, afin que tout le monde comprenne et puisse modifier la façon dont nécessaire. La façon de mettre en œuvre est déjà expliquée dans la documentation des bibliothèques elle-même, donc l'accent sera mis sur la façon dont il a été organisé dans ce projet. Dans la figure suivante, il est possible d'observer comment les fichiers sont structurés et à partir de cela, nous entrons les connexions entre eux (dossier IMG IMG ignoré car il ne contient que les images utilisées dans ce montage).

Le projet peut être divisé en trois sections:
L'ensemble des codes d'organisation et de fonctionnalité BOT se trouvent dans les funcs/ . Le fichier python main.py ne contient que la création de l'objet de classe Bot qui se trouve à l'intérieur bot.py pour effectuer l'exécution du bot avec la run() .
Chaque fonctionnalité créée pour ce projet a sa propre classe, class Pokedex() , class Bored() et class Urlshort() . Pour garder le code organisé et facile pour la maintenance, chaque commande existant dans le bot est bondée dans les méthodes de classe. Dans la section d'utilisation de bot, vous devez noter que les noms des méthodes sont les mêmes que les noms des propres commandes du bot, de sorte qu'il n'y a pas de confusion concernant la mise en œuvre de chaque chose. Comme certaines API ont été utilisées pour la collecte de données de bot, chaque classe a également son URL de base, afin de séparer bien chaque API et d'organiser leurs demandes et particularités respectives. Un exemple d'implémentation de commande peut être vu ci-dessous, avec la commande la plus basique du bot, en utilisant la fonction send_message() avec le texte écrit, pour la propre personne qui a appelé la commande.
def start ( self , update , context ):
context . bot . send_message ( chat_id = update . effective_chat . id , text = "Bem vindo ao bot da transmissão (Ao vivo, não de covid) n Acesse twitch.tv/bittoin para mais informações!" ) Enfin, nous avons la classe principale du bot, dans le fichier bot.py , qui compte toutes les classes de fonctionnalité mentionnées précédemment, crée leurs objets de classe respectifs et utilise les méthodes pour gérer les commandes implémentées et utilisées dans le chat de bot en ligne. Après avoir un objet de la classe de nos fonctionnalités, nous créons un gestionnaire, où la méthode qui sera appelée par le bot et sa commande sera transmise, comme on peut le voir ci-dessous:
pokedex_handler = CommandHandler ( 'pokedex' , self . pokedex . pokedex ) Le premier argument est le nom de la commande qui sera appelé dans le chat et le second la méthode qui sera appelée lors de l'utilisation. Après cela, nous utilisons dispatcher de Bot, qui est responsable de la gestion et de la création de tous les gestionnaires créés afin de répondre à toutes les demandes des utilisateurs et de maintenir l'organisation interne des appels.
self . dispatcher . add_handler ( pokedex_handler ) À la fin du processus, nous avons l'exécution du bot lui-même, avec toutes ses fonctionnalités ajoutées au dispatcher et attend l'achèvement.
# Inicia a execução do bot
self . updater . start_polling ()
# Roda o bot até apertar CTRL + C ou receber um SIGNAL
self . updater . idle ()S'il y a une erreur dans l'exécution du projet liée aux demandes impliquant une erreur dans la traduction, accédez à ce lien avec la solution.
L' sample/ a les fichiers sample.py et inlinekeyboard.py . Sample.py a les premiers tests effectués sur le bot au début de Live pour tester comment les fonctions de la bibliothèque télégramme pour Python fonctionnent afin de découvrir et de valider certaines propriétés. Vous remarquerez peut-être que, comme tout est dans un seul fichier, il est désordonné et difficile à séparer, de sorte que l'organisation des funcs/ a été adoptée. Dans InlineKeyboard.py, l'exemple a été prélevé directement de la documentation de la bibliothèque, dans l'objectif de tester les touches / boutons sur le chat télégramme pour implémenter la fonction de l'API ennuyée.
L'installation du package a déjà été expliquée plus tôt dans la section d'installation, donc l'accent sera mis sur le fichier Procfile . ProCfile est ce qui sera exécuté dans le cloud via la plate-forme Heroku. Il s'agit d'un fichier simple et contient la commande simple:
Travailleur: python main.py
Cette commande alloue simplement une instance du serveur dans le cloud (travailleur) pour exécuter notre bot via le fichier main.py , qui active l'exécution.

Voici toutes les fonctionnalités qui ont été discutées au cours des vies écrites et remplies. Chacun de ces sujets a été mis en œuvre et testé en direct. L'idée est que, au cours de la vie, le public aide à créer les fonctionnalités, à déterminer les exigences et comment elle sera à la fin.

Dans cette section, sera montré les résultats obtenus avec le bot et les cas d'utilisation pour chaque fonctionnalité. Profitez et ajoutez le bot au télégramme et testez également! Recherchez simplement @BittoinLiveBot et commencez à taper les commandes sur le chat.
Si vous voulez voir une démonstration complète et plus expliquée de la façon dont tout fonctionne, visitez mon Instagram ou ma chaîne YouTube qui aura des vidéos sur IGTV / Channel avec tout et un peu plus!
/start La commande /start affiche seulement un message de bienvenue.


Ici, toutes les commandes de la fonctionnalité Pokédex sont présentées.
/pokedex nome_pokemon 
/pokedex numero_pokemon 
/habilidades nome_num_pokemon 
/moves nome_num_pokemon 

Ici, toutes les commandes de la fonctionnalité plus courte de l'URL sont présentées.
/url link 

Ici, toutes les commandes de l'outil qui vous retient de l'ennui sont présentées ici.
/bored 
/participantes num_participantes 