Comment créer un Gamebot dans Télégramme avec nodejs - tutoriel WiMi5

Comment créer un Gamebot dans Télégramme avec nodejs

Nous avons immédiatement mis au travail et a créé un robot spécialement pour servir quelques-uns des jeux créés avec notre outil de création de jeux HTML5. Maintenant, nous aimerions partager cette expérience avec vous et vous dire comment créer votre propre télégramme Gamebot.

Comment fonctionnent les robots collecteurs de télégrammes?

La meilleure idée est de lire cette introduction aux robots pour les développeurs, mais nous allons essayer d'expliquer ou donner une vue d'ensemble, plutôt, le fonctionnement de la plate-forme de jeu en fonction bot.

Télégramme vous permet de créer des robots. Lorsque vous créez un bot, tout ce que vous faites est vraiment créer un compte spécial qui reçoit des commandes, des messages ou des requêtes utilisateur de télégramme et les réponses. Mais, pour y répondre, le robot redirige ces pétitions à un logiciel que vous devez développer et exécuter sur vos serveurs, qui renverra la réponse au bot afin qu'il lui donnera à l'utilisateur Télégramme.

Comment créer un Gamebot dans Télégramme avec nodejs - tutoriel WiMi5

D'autre part, vous pouvez également créer des jeux et de les affecter à un bot. Lorsque vous créez un jeu de télégramme, ce que vous faites vraiment est la création d'un conteneur pour les informations de ce jeu: son titre, une brève description, image, animation .gif (en option), et un nom court qui sera son identifiant.

Dans un moment donné, un utilisateur Télégramme demandera notre bot à jouer ce jeu. Le bot envoie la pétition à notre logiciel, qui répondra au robot avec un message au jeu visuellement présent avec une image et un bouton « start jeu ». Lorsque l'utilisateur appuie sur ce bouton, votre logiciel recevra la pétition, et renvoyer au robot une URL ou une adresse Web qui contient ce jeu. A ce moment-là, le robot prendra l'utilisation de cette page Web (dans l'application Télégramme, qui dispose d'un navigateur intégré), où l'utilisateur peut enfin commencer à jouer.

Il y a plus d'options, telles que l'envoi ou la réception des documents, le partage de jeux, etc., mais nous allons laisser pour un autre article. Dans celui-ci, nous allons nous concentrer sur la compréhension de la façon dont fonctionne la plate-forme de jeu. Pour cela, nous allons créer un bot qui nous permettra de jouer à un jeu.

1: Création d'un bot dans Telegram

Comment créer un Gamebot dans Télégramme avec nodejs - tutoriel WiMi5

2: Création d'un jeu dans Telegram et l'associer à notre bot

Comment créer un Gamebot dans Télégramme avec nodejs - tutoriel WiMi5

À ce stade, comme nous l'avons dit, votre jeu est seulement un conteneur d'information: le titre, une brève description, photo de jeu, un .gif animé en option, et un nom court.

3: Création d'un logiciel

Maintenant, le temps est venu de donner à votre bot l'intelligence dont il a besoin pour permettre aux utilisateurs Telegram jouer à votre jeu dans leurs chats.

Vous aurez besoin d'aller à l'API pour les bots. et là, utiliser quelques-unes des nombreuses bibliothèques qui sont disponibles. Dans Telegram, vous trouverez sur cette page. qui a d'excellents exemples de bots, et les bibliothèques sur la base des langages de programmation principaux. Dans cet exemple, nous allons utiliser nodejs avec la bibliothèque Node-Telegram-bot.

Il y a deux façons de recevoir des messages: les commandes et les requêtes, ou « polling long » et « webhooks ». Les différences sont expliquées ici. Pour garder les choses simples, il suffit de coller avec « polling long ». Dans tous les cas, la bibliothèque que nous utilisons permet soit la méthode à mettre en œuvre.

Notre bot va tout simplement de comprendre la commande de démarrage, qui est reçu chaque fois qu'un joueur lance un bot, le jeu commande, et des requêtes intégrées.

Pour commencer, vous devez ajouter dans la bibliothèque choisie:

Ensuite, créez une instance de TelegramBot qui mettra cette bibliothèque à notre disposition, la mise en place des paramètres de votre jeton et pour les longs paramètres d'interrogation pour travailler.

C'est le moment de donner votre intelligence bot. Chaque fois qu'un utilisateur télégramme écrit une commande, il sera géré avec la fonction ONTEXTE dans la bibliothèque.

La fonction ONTEXTE attend deux paramètres: une expression régulière et une fonction. Lorsque le message écrit par l'utilisateur coïncide avec l'expression régulière, la fonction est exécutée.

Commencez par le / démarrage commande, que nous répondons à un message d'accueil qui comprendra le nom de l'utilisateur. Rappelez-vous que lors de la création d'une expression régulière, le / va toujours au début d'une commande.

Dans la documentation de la bibliothèque, vous verrez que la fonction sendMessage attend l'identifiant de chat (qui vient du message que nous avons reçu de télégramme), et le texte que nous voulons envoyer comme paramètre. En outre, une série d'options peut être inclus que vous pouvez lire dans la documentation sur sendMessage dans l'API Télégramme. Nous, par exemple, ont donné le message un format HTML, et nous avons inclus parse_mode comme une option supplémentaire.

Ensuite, mettre en œuvre la commande / jeu .

Notre expression régulière attend / jeu suivi par quoi que ce soit. Notre fonction reçoit le message et dans un second paramètre un tableau avec deux textes. Le deuxième texte est tout ce que vous recevrez après / lecture. Vérifiez qu'il correspond avec le nom court de votre jeu. Si elle ne le fait pas, envoyez envoyer un message expliquant que ce jeu n'existe pas. Si elle ne correspond, envoyez un clavier avec deux boutons, l'un pour que l'utilisateur peut jouer le jeu, et un autre afin que l'utilisateur peut partager dans d'autres chats.

Lorsque l'utilisateur clique sur le bouton de lecture, nous recevons un CallbackQuery. que nous allons gérer la sur la fonction pour l'événement callback_query dans la bibliothèque ..

A cette occasion, notre rappel pour cet événement recevra un objet avec les données de la requête en tant que paramètre. Si cela inclut la propriété game_short_name, cela signifie qu'il est une question de jouer l'un de nos jeux. Il est maintenant le temps de répondre à notre URL de jeu, ou avec des excuses si nous ne pouvons pas trouver le jeu désiré. Alors, utilisez la fonction answerCallbackQuery dans la bibliothèque, qui doit envoyer l'identifiant de requête reçue, deux paramètres relatifs aux notifications et alertes, pour garder les choses simples, aujourd'hui nous n'utiliserons pas, et après, comme toujours, une série d'options nous pouvons lire dans le answerCallbackQuery dans l'API Télégramme. Nous utilisons la propriété URL pour envoyer l'URL de notre jeu. Une fois cette réponse atteint l'utilisateur, l'application Télégramme ouvrira notre jeu dans son navigateur intégré.

Pour finir, nous allons inclure une manipulation simple des requêtes intégrées. Si un utilisateur Télégramme écrit le nom de notre robot dans un chat, nous recevons une requête en ligne. En outre, à partir de ce moment, tous les caractères que l'utilisateur écrit ou de suppression déclenchera une nouvelle requête en ligne. Pour gérer cela, utilisez la fonction de l'événement de inline_query dans la bibliothèque.

Pour répondre, utilisez la fonction answerInlineQuery dans la bibliothèque, qui doit envoyer l'identifiant de la requête reçue, un tableau des résultats, et une série d'options que vous pouvez lire dans le answerInlineQuery dans l'API Télégramme.

Notre réponse va toujours être une liste avec nos jeux; dans ce cas, le seul que nous avons créé. Mais vous devez savoir que dans le paramètre iq (qui est requête en ligne) que nous recevons dans notre rappel, il y a une propriété appelée requête qui a le texte que l'utilisateur a écrit après le nom de notre bot. Nous pourrions utiliser ce texte pour rechercher des jeux qui contiennent ce texte et répondre à la requête uniquement avec les jeux.

Maintenant, tout ce que nous devons faire est de lancer notre application pour que les utilisateurs peuvent Telegram discuter avec notre bot et, plus important encore, profitez de notre jeu.

4: Test notre bot

Pour jouer, nous devons exécuter notre application sur des serveurs capables de supporter des millions de requêtes des utilisateurs Telegram qui veulent jouer à nos jeux. Mais dans la phase de test, nous pouvons l'exécuter directement à partir de notre machine, tant qu'il est connecté à Internet.

Une fois que notre application est en cours d'exécution, nous allons accéder à notre bot de télégramme. Alors, écrivez le nom de notre bot dans une fenêtre de chat, puis sélectionnez ce nom. Cela va démarrer une conversation avec notre bot, et exécuter automatiquement notre / commande de démarrage. Vérifiez le message d'accueil ;-) nous avons programmé:

Comment créer un Gamebot dans Télégramme avec nodejs - tutoriel WiMi5

Ensuite, nous allons essayer de jouer à un jeu qui n'existe pas par fakegame écriture / lecture dans la fenêtre de chat. Ensuite, nous obtiendrons la réponse attendue; c'est un message nous disant que jeu n'existe pas.

Comment créer un Gamebot dans Télégramme avec nodejs - tutoriel WiMi5

Si on appuie sur le bouton « partager », nous serons en mesure de le partager avec d'autres chats télégrammes, et si on appuie sur « play », notre jeu ouvrirons intégré dans le navigateur de télégramme.

Enfin, si nous écrivons notre nom de bot dans toute discussion, les requêtes intégrées se tourneront automatiquement, et dans notre cas, nous verrons notre seul jeu, ce qui est la réponse nous avons programmé.

Comment créer un Gamebot dans Télégramme avec nodejs - tutoriel WiMi5

Dans le prochain article, nous verrons comment envoyer les résultats de notre jeu à d'autres chats télégramme, et comment interroger notre bot sur les scores les plus élevés dans un chat pour leur montrer dans notre jeu.

Articles Liés