Dieser Artikel ist inspiriert von der Beliebtheit der Ressource bei studentischen Programmierern, aber ich werde versuchen, alles für sehr unerfahrene Programmierer so einfach wie möglich zu erzählen. Als Ergebnis erstellen wir einen einfachen Echo-Bot als Vorlage für verschiedene Änderungen.
PS Außerdem ist der Artikel vom Fehlen eines Tutorials in Python inspiriert. Es gibt ein gutes Tutorial zu Nodejs .
Link zur
Dokumentation zu Yandex Cloud-Funktionen Link zur Dokumentation zur Telegramm-API .
Schritt 1 : Registrierung und Anmeldung bei der Yandex Cloud- Plattform
Schritt 2 : Funktionen eingeben. Hier müssen Sie im linken Bereich der "Management Console" "Cloud-Funktionen" auswählen.
Schritt 3 : Drücken Sie die Taste
. Dann setzen wir einen aussagekräftigen Funktionsnamen und eine Beschreibung.
Rat
< >-<>-<>.
telegram-study-bot, weather-get-api ..
. language=python3.7, lib=telebot
telegram-study-bot, weather-get-api ..
. language=python3.7, lib=telebot
Schritt 4 : Wählen Sie die Registerkarte "Editor".
Danach öffnen wir ein Fenster zur Verwaltung des Codes unserer Funktion. Hier können wir wählen:
1) "Runtime", in unserem Fall ist es Python3.7
Über Abhängigkeiten
preview , ( 02.10.2020 )
2) "Wege" sind dafür verantwortlich, wie der Code an die Funktion übergeben wird. In diesem Artikel verwenden wir den einfachen Code-Editor als einfachstes Beispiel.
3) "Einstiegspunkt" ist dafür verantwortlich, welche Funktion die Anfrage erhält und der Beginn der Aktion unserer Funktion ist. Wir werden dies etwas später angeben.
4) Als nächstes kommen die "Parameter", ich schlage vor, sie so zu lassen, wie sie sind.
Wenn Sie Berechtigungen verwenden möchten
, , .
Schritt 5 : Stellen Sie sicher, dass wir die richtige Einstellung für "Laufzeit" und "Methode" haben.
Klicken Sie dann auf "Datei erstellen" und nennen Sie sie main.py.
Schritt 6 : Dies öffnet den Code-Editor, in dem wir eine Request-Handler-Funktion erstellen können. Nennen wir es Handler und fügen diesen Code ein:
import json
def handler(event, context):
body = json.loads(event['body'])
return {
'statusCode': 200,
'headers': {
'Content-Type': 'application/json'
},
'body': json.dumps({
'method': 'sendMessage',
'chat_id': body['message']['chat']['id'],
'text': body['message']['text']
}),
'isBase64Encoded': False
}
Analysieren Sie den Code
«json», body json- python dict.
handler , , . .
body Python json.loads body .
, webhook telegram , body, json.dumps, .
handler , , . .
body Python json.loads body .
, webhook telegram , body, json.dumps, .
BEACHTUNG!!!
Im "Einstiegspunkt" müssen Sie diese Funktion als Anfang des Skripts angeben. Wir schreiben main.handler . Es sollte so aussehen:
Dann klicken wir auf "Version erstellen" und warten, bis wir zur Registerkarte "Übersicht" weitergeleitet werden.
Schritt 7 : Hier interessieren uns der "Link to call" und der Schalter "Public function". Wir drücken den Schalter und merken uns, wo sich der Link für den Anruf befindet.
Schritt 8 : Erstellen Sie einen Telegramm-Bot und kopieren Sie dessen Token. Sie müssen eine Abfrage erstellen wie:
https://api.telegram.org/bot<bot_token>/setWebHook?url=<webhook_url>
Wobei bot_token Ihr Telegramm-Bot-Token ist und webhook_url der "Anruflink" von Funktionen (Schritt 7). Diese Anfrage sollte gesammelt und in die Browserzeile eingefügt werden.
Beispiel anfordern
https://api.telegram.org/bot1234567:AAAAAAAAAAAAAAA/setWebHook?url=https://functions.yandexcloud.net/asdjaskjdasdjasd
Schritt 9 : Senden Sie "Hallo" an den Bot und sehen Sie, was wir am Ende bekommen haben.
Vielen Dank für Ihre Aufmerksamkeit! Wenn Sie diesen Artikel gelesen haben, freue ich mich über verschiedene Vorschläge zur Verbesserung / Hinzufügung / Kommentierung dieses Artikels.