WiMi5 Tutorial - Wie ein gamebot in Telegramm mit NodeJS erstellen
Wie ein gamebot in Telegramm mit NodeJS erstellen
Wir bekamen sofort an die Arbeit und die speziell einen Bot einige der Spiele mit unserem HTML5-Spiel Tool zur Erstellung erstellt dienen. Nun möchten wir mit Ihnen diese Erfahrung zu teilen und Ihnen sagen, wie Sie Ihr eigenes Telegramm gamebot erstellen.
Wie funktioniert Telegramm Bots?
Die beste Idee ist es, diese Einführung in den Bots für Entwickler zu lesen, aber wir werden versuchen, einen Überblick zu erklären, oder zu geben, sondern wie die Bot-basierte Gaming-Plattform funktioniert.
Telegramm ermöglicht es Ihnen, Bots zu erstellen. Wenn Sie einen Bot erstellen, alles, was Sie wirklich ein spezielles Konto tun, ist zu schaffen, und sie Befehle, Meldungen oder Benutzerabfragen von Telegramm erhält beantwortet. Aber, um sie zu beantworten, leitet den Bot diese Eingaben an ein Stück Software, die Sie haben zu entwickeln und auf den Servern ausgeführt werden, die dann die Antwort auf den Bot zurückkehren, so dass es zu dem Telegramm Benutzer geben wird.

Auf der anderen Seite können Sie auch Spiele erstellen und sie zu einem Bot zuweisen. Wenn Sie ein Telegramm Spiel erstellen, sind, was Sie wirklich tun Informationen des für das Spiel einen Behälter zu schaffen: Titel, Kurzbeschreibung, Bild, animierte GIF (optional) und einen kurzen Namen, der seine Kennung sein wird.
In einem bestimmten Moment wird ein Telegramm Benutzer unsere Bot bitten, das Spiel zu spielen. Der Bot wird die Petition an unsere Software senden, die die Bot mit einer Nachricht visuell zu präsentieren dem Spiel mit einem Bild und einer „Spiel starten“ Taste antworten. Wenn der Benutzer diese Taste drückt, wird Ihre Software die Petition, empfangen und zurück zum bietet eine URL oder Web-Adresse senden, die das Spiel enthält. In diesem Moment nimmt die Bot die Verwendung auf diese Webseite (im Telegramm-App, die einen integrierten Browser hat), in dem der Benutzer schließlich spielen kann.
Es gibt weitere Möglichkeiten, wie zum Beispiel das Senden oder Empfangen von Aufzeichnungen, teilen Spiele, etc., aber das werden wir für einen anderen Artikel verlassen. In diesem werden wir auf das Verständnis, wie die Gaming-Plattform konzentrieren arbeitet. Dafür werden wir einen Bot schaffen, die uns ein Spiel spielen lassen.
1: Erstellen eines Bot in Telegramm

2: Erstellen Sie ein Spiel in Telegramm und es unser Bot Assoziieren

An diesem Punkt, wie wir schon gesagt, ist das Spiel nur ein Informationscontainer: Der Titel, Kurzbeschreibung, Spiel Foto, eine optionale animierte GIF- und ein kurzer Name.
3: Erstellen Sie Ihre Software
Nun ist die Zeit gekommen, um Ihrem bietet die Intelligenz zu geben, es muss Telegramm Benutzer Ihr Spiel in ihren Chats spielen lassen.
Sie werden auf die API für Bots gehen müssen. und da einige der vielen Bibliotheken verwenden, die zur Verfügung stehen. In Telegramm, können Sie diese Seite. das hat ausgezeichnete bot Beispiele und Bibliotheken auf der Grundlage der wichtigsten Programmiersprachen. In diesem Beispiel werden wir NodeJS zusammen mit der Node-Telegramm-Bot-Bibliothek zu verwenden.
Es gibt zwei Möglichkeiten, um Nachrichten zu empfangen: Befehle und Abfragen oder „long Polling“ und „webhooks“. Die Unterschiede werden hier erläutert. Um die Dinge einfach zu halten, nur Stick mit „long polling“. In jedem Fall ermöglicht die Bibliothek verwenden wir entweder Verfahren umgesetzt werden.
Unser Bot geht einfach den Startbefehl zu verstehen, die empfangen wird, wenn ein Spieler einen Bot beginnt, das Spiel
Um zu starten, müssen Sie in der gewählten Bibliothek hinzuzufügen:
Dann eine Instanz von TelegramBot erstellen, die diese Bibliothek zur Verfügung gestellt werden, um die Parameter für Ihre Token Einrichtung und für die langen Abfrageeinstellungen zu arbeiten.
Dies ist der Moment Bietet Intelligenz zu geben. Jedes Mal, wenn ein Telegramm Benutzer einen Befehl schreibt, wird es mit der ONTEXT Funktion in der Bibliothek verwaltet werden.
Die ONTEXT Funktion erwartet zwei Parameter: einen regulären Ausdruck und eine Funktion. Wenn die vom Benutzer geschrieben Nachricht mit dem regulären Ausdruck übereinstimmt, wird die Funktion ausgeführt.
Beginnen Sie mit dem / Start-Befehl, die wir mit einem Gruß antworten werde, die den Namen des Benutzers gehören. Denken Sie daran, dass, wenn Sie einen regulären Ausdruck zu schaffen, das / immer am Anfang eines Befehls geht.
In der Dokumentation der Bibliothek, sehen Sie, dass die Sendmessage-Funktion die Chat-Kennung erwartet (die aus der Nachricht kommt, die wir von Telegramm empfangen wird), und den Text, den wir wollen als Parameter senden. Auch kann eine Reihe von Optionen enthalten sein, dass Sie in der Dokumentation über nachrichts im Telegramm API lesen können. Wir zum Beispiel haben die Nachricht ein HTML-Format gegeben, und wir enthalten parse_mode als zusätzliche Option.
Als nächstes implementieren Sie den Befehl / play
Unser regulärer Ausdruck erwartet / Wiedergabe von irgendetwas gefolgt. Unsere Funktion empfängt die Nachricht und in einem zweiten Parameter ein Array mit zwei Texten. Der zweite Text ist alles, was Sie nach / Spiel erhalten werden. Überprüfen Sie, dass es Ihr Spiel Kurznamen übereinstimmt mit. Wenn dies nicht der Fall, senden Sie eine Nachricht senden, zu erklären, dass das Spiel nicht existiert. Gibt es eine Übereinstimmung, eine Tastatur mit zwei Tasten auszusenden, ein so kann der Benutzer das Spiel spielen, und eine andere, so kann der Benutzer es in anderen Chats teilen.
Wenn der Benutzer auf den Play-Button klickt, werden wir eine CallbackQuery erhalten. was wir mit der On-Funktion verwalten für die callback_query Veranstaltung in der Bibliothek ..
Bei dieser Gelegenheit unser Rückruf für diese Veranstaltung wird ein Objekt mit der Abfrage von Daten als Parameter erhalten. Wenn dies die game_short_name Eigenschaft enthält, bedeutet, dass es sich um eine Abfrage ist eines unserer Spiele zu spielen. Jetzt ist die Zeit mit unserem Spiel URL zu antworten, oder mit einer Entschuldigung, wenn wir nicht das gewünschte Spiel finden können. So verwenden Sie die answerCallbackQuery Funktion in der Bibliothek, die die empfangenen Abfrage-ID senden muss, zwei Parameter in Bezug auf Benachrichtigungen und Warnungen, dass, um die Dinge einfach zu halten, werden wir heute nicht verwenden, und danach, wie immer, eine Reihe von Optionen wir können über im answerCallbackQuery im Telegramm API lesen. Wir verwenden die URL Eigenschaft unserer Spiele URL zu senden. Sobald diese Antwort der Benutzer erreicht, öffnet das Telegramm App unser Spiel in seinem integrierten Browser.
Zum Beenden des Vorgangs werden wir eine einfache Handhabung von Inline-Abfragen enthalten. Wird ein Telegramm Benutzer den Namen unseres Bot in einem Chat schreibt, werden wir eine Inline-Abfrage erhalten. Auch von diesem Moment an, jedes Zeichen der Benutzer schreibt oder löscht eine neue Inline-Abfrage auslösen. So verwalten Verwenden Sie hierzu die On-Funktion für die inline_query Veranstaltung in der Bibliothek.
So zu beantworten, verwenden Sie die answerInlineQuery Funktion in der Bibliothek, die die ID der empfangenen Abfrage, ein Array der Ergebnisse senden müssen, und eine Reihe von Optionen können Sie im answerInlineQuery im Telegramm API lesen.
Unsere Antwort wird immer eine Liste mit unseren Spielen sein; in diesem Fall haben die einzige, die wir erstellt haben. Aber Sie müssen wissen, dass in den iq-Parametern (die Inline-Abfrage), die in unserem Rückruf erhalten, gibt es eine Eigenschaft namens Abfrage, die den Text hat, dass der Benutzer nach unserem Bot Namen geschrieben hat. Wir könnten diesen Text verwenden, um Spiele zu suchen, die diesen Text enthalten und mit nur diesen Spielen auf die Anfrage antworten.
Nun, alles, was wir tun müssen, ist unsere App laufen, so dass Telegramm Benutzer mit unserem Bot chatten und, was noch wichtiger ist, unser Spiel genießen.
4: Testen Sie unsere Bot
Um es zu spielen, müssen wir unsere App auf Servern ausgeführt Lage von Millionen von Anfragen von Telegramm Benutzer unterstützen, die unsere Spiele spielen wollen. Aber in der Testphase, können wir es gerade von unserer Maschine laufen, solange es mit dem Internet verbunden ist.
Sobald unsere App läuft, werden wir unsere Bot von Telegramm zuzugreifen. So schreiben Sie den Namen unseres bot in jedem Chat-Fenster, und wählen Sie diesen Namen. Dies wird einen Chat mit unserer Bot starten und wird automatisch unseren / Start-Befehl ausführen. Schauen Sie sich die Begrüßung wir programmiert ;-):

Als nächstes wollen wir versuchen, ein Spiel zu spielen, die nicht durch Schreiben / Spiel fakegame im Chat-Fenster nicht vorhanden ist. Dann werden wir die erwartete Antwort erhalten; das heißt, eine Mitteilung uns, dass Spiel zu sagen gibt es nicht.

Wenn wir die „Share“ -Taste drücken, werden wir in der Lage sein, mit anderen Telegramm-Chats zu teilen, und wenn wir „Play“ drücken, wird unser Spiel in Telegramm des integrierten Browser öffnen.
Schließlich, wenn wir unseren Bot Namen in jedem Chat schreiben, werden die Inline-Abfragen automatisch eingeschaltet, und in unserem Fall werden wir unser einziges Spiel sehen, was die Antwort ist, dass wir programmiert.

Im nächsten Artikel werden wir sehen, wie die Scores von unserem Spiel zu anderem Telegramm-Chats zu schicken, und wie unser bietet über die höchsten Werte abzufragen in einem Chat sie in unserem Spiel zu zeigen.