Telegram

Über

Telegram ist ein dezentraler cloudbasierter Instant-Messenger, welcher ein offenes Protokoll und OpenSource Clients, verwendet. Außerdem ist es möglich eigene Telegram Bot zu programmieren, mit den die User interagieren können.

Offizielle Website: Telegram.org

Telegram Bot

Ein Telegram Bot ist ein Programm, welches auf jeder Plattform laufen kann und sich wie ein User im Chat mit extra Funktionen verhält. So ist es möglich, den Bot via Befehlen, die mit / starten zu steuern, wie zum Beispiel /hilfe welches die für diesen Bot möglichen Befehle anzeigt. Im FAQ auf der Offiziellen Telegram Seite wird der Telgram Bot genauer erklärt.

Für die Integration in diesen Projekt wurde der Python Telegram Wrapper python-telegram-bot verwendet, dieser erlaubt es mit wenigen Zeilen Code einen nützlichen Telegram Bot zu erstellen.

Telegram Bot erstellen

Info
Diese Anleitung ist speziell für das Projekt KellerBot erstellt. Alle möglichen Funktionen des Telegram Bots sind auf Telegram Bot Entwickler Dokumentation nachzulesen.

1. BotFather einrichten

Der Telegram BotFather ist ein Telegam Bot, welcher zur Verwaltung der eigenen Telegram Bots dient. Mit diesem Bot ist es möglich, einen eigenen Bot zu erstellen, Befehle einzurichten, das Profilbild des Bots anzupassen und mehr.

Um Zugriff auf den BotFather zu erhalten, muss auf der Seite telegram.me/botfather auf SEND MESSAGE geklickt werden (Abb. 11).

BotFather hinzufügen

Abb. 11 BotFather hinzufügen

Anschließend öffnet sich das Telegram Fenster mit dem BotFather (Abb. 12). In diesem Fenster auf START klicken um dem BotFather zu interagieren.

BotFather Chat starten

Abb. 12 BotFather Chat starten

Nachdem der Chat mit dem BotFather erstellt wurde, wird dieser im Kontaktverlauf angezeigt und kann so wieder direkt verwendet werden (Abb. 13).

BotFather Kontakt Verlauf

Abb. 13 BotFather Kontakt Verlauf

2. Eigenen Bot erstellen

Um einen neuen Bot zu erstellen, muss im Chat des BotFather (Abb. 13) der Befehl /newbot eingeben werden. Danach muss im Chat der Namen des neuen Bots geschrieben werden, in diesen Beispiel wird er KellerBot heißen.

Hinweis

Der Bot Name muss immer mit bot enden und muss einzigartig sein, also der Name darf noch nicht vergeben sein! Beispiele Keller_bot, KellerBot, kellerbot oder kellerBOT.

Nachdem Erstellen des Bots gibt Telegram die URL & den Token des Bots aus:

Done! Congratulations on your new bot. You will find it at t.me/KellerBot. You can now add a description, about section and profile picture for your bot, see /help for a list of commands. By the way, when you’ve finished creating your cool bot, ping our Bot Support if you want a better username for it. Just make sure the bot is fully operational before you do this.

Use this token to access the HTTP API: 659931436:AAEAVoiIJxkswS-nl3tLBaTC1ydsgJn5SVA

For a description of the Bot API, see this page: https://core.telegram.org/bots/api

Den soebend erstellten Token notieren. Dieser wird benötigt, damit das Programm später auf den KellerBot zugreifen kann.

Warnung

Der Token des Telegram Bots sollte nie veröffentlicht werden! Der Token in diesem Beispiel existiert auch nicht.

Um den gerade erstellten Bot in dem eigenen Chat zu aktivieren, muss auf den Bot Link geklickt werden. Der Link ist aus t.me/ und deinem Botnamen zusammengesetzt. In diesem Beispiel heißt der Link t.me/KellerBot. Sobald auf den Link geklckt wurde, erscheint das Chat Fenster zum Bot. Dort muss wie bei dem BotFather Abb. 12 auf START geklickt werden muss, um den neuen Bot auf dem eigenen Account zu aktivieren.

3. Bot einrichten

Im BotFather Chat Fenster den gewünschten Keller Bot auswählen via /mybots und auf den neuen Bot klicken, siehe Abb. 14.

Bot auswählen

Abb. 14 Bot auswählen

In dem neuen Untermenü (Abb. 15) auf Edit Bot klicken.

Bot bearbeiten

Abb. 15 Bot bearbeiten

Im Bot Optionsmenü (Abb. 16) können die Werte Name, Beschreibung, About, Bild und Befehle bearbeitet werden. Dafür auf die jeweilige Option klicken und danach den Wert im Chat eingeben oder im Fall des Bildes, das gewünschte Bild im Chat hochladen.

Bot Optionsmenü

Abb. 16 Bot Optionsmenü

Standartwerte

Edit Name

KellerBot

Edit About

Erstellt von Steffen.Exler@pm.me, Quellcode @ https://github.com/linuxluigi/kellerbot

Edit Description

Wasserschaden melden, Temperatur & Luftfeuchtigkeit anzeigen

Edit Commands

hilfe - zeige alle Befehle an
temperatur - Temperatur anzeigen
luftfeuchtigkeit - Luftfeuchtigkeit anzeigen
wassermelder - Wassertest

Edit Botpic :

Bild von der online Doku android-image oder von der orginal Quelle https://pixabay.com/en/android-bot-robot-television-happy-161184/ herunterladen und anschließend im Chat als Bild einfügen (Abb. 17).

Bot Bild einfügen

Abb. 17 Bot Bild einfügen

4. Telegram Chat Gruppe anlegen

Im Optionsmenü von Telegram auf New Group klicken, um dort eine Gruppe für den KellerBot zu erstellen (Abb. 18) z.B. mit den Namen BasementWatchGroup.

Telegram Gruppe erstellen

Abb. 18 Telegram Gruppe erstellen

Im nächsten Schritt erscheint das Add Members Fenster, hier den KellerBot suchen, hinzufügen (Abb. 19) und anschließend auf Create klicken, um die Gruppe zu erstellen.

Telegram Gruppe Mitglieder hinzufügen

Abb. 19 Telegram Gruppe Mitglieder hinzufügen

5. Chat Group ID erhalten

Um die Chat Group ID zu erhalten, muss der KellerBot in der gewünschten Gruppe sein und es wird der Token benötigt (welcher in dem Kaptiel 2. Eigenen Bot erstellen erstellt wurde). Außerdem muss noch mindestens eine Nachricht in der Gruppe geschrieben werden.

Die Chat Group ID ist via https://api.telegram.org/bot<Token>/getUpdates abrufbar. In diesem Beispiel würde die URL https://api.telegram.org/bot659931436:AAEAVoiIJxkswS-nl3tLBaTC1ydsgJn5SVA/getUpdates lauten. Die Ausgabe der URL ist ein JSON, wobei die Group ID unter result -> 0 -> message -> chat -> id zu finden ist (Abb. 20). Diese ID sowie den Token zwischenspeichern. Diese Werte werden später bei der Einrichtung des Bots auf dem Raspberry Pi benötigt.

Telegram Gruppe Mitglieder hinzufügen

Abb. 20 Telegram Gruppe Mitglieder hinzufügen