Cet article s'inspire de la popularité de la ressource auprès des étudiants-programmeurs, mais j'essaierai de tout dire le plus simplement possible pour les programmeurs très novices. En conséquence, nous allons créer un simple bot Echo comme modèle pour diverses modifications.
PS Aussi, l'article est inspiré par l'absence de tutoriel en Python, il existe un bon tutoriel sur Nodejs .
Lien vers la
documentation de Yandex Cloud Functions Lien vers la documentation de l'API Telegram .
Étape 1 : Inscription et connexion à la plate- forme cloud Yandex
Étape 2 : Entrez les fonctions. Ici, vous devez sélectionner "Fonctions Cloud" dans le panneau de gauche de la "Console de gestion"
Étape 3 : Cliquez sur le bouton . Ensuite, nous définissons un nom et une description de fonction significatifs.
Conseil
< >-<>-<>.
telegram-study-bot, weather-get-api ..
. language=python3.7, lib=telebot
telegram-study-bot, weather-get-api ..
. language=python3.7, lib=telebot
Étape 4 : Sélectionnez l'onglet "Editeur"
Après cela, nous ouvrirons une fenêtre pour gérer le code de notre fonction. Ici on peut choisir:
1) "Runtime", dans notre cas c'est python3.7
À propos des dépendances
preview , ( 02.10.2020 )
2) Les «moyens» sont responsables de la manière dont le code sera transmis à la fonction. Dans cet article, nous utiliserons l'éditeur de code simple comme exemple le plus simple.
3) Le "point d'entrée" répond à quelle fonction acceptera la requête et sera le début de l'action de notre fonction, nous l'indiquerons un peu plus tard.
4) Viennent ensuite les "Paramètres", je suggère de les laisser tels quels.
Si vous souhaitez utiliser les autorisations
, , .
Étape 5 : Assurez-vous que nous avons les bons "Runtime" et "Method".
Cliquez ensuite sur "Create file", nommons-le main.py.
Étape 6 : Cela ouvrira l'éditeur de code où nous pouvons créer une fonction de gestionnaire de requêtes. Appelons-le gestionnaire et insérons ce code:
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
}
Analyser le 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, .
ATTENTION!!!
Dans le "Point d'entrée", vous devez spécifier cette fonction comme début du script. Nous écrivons main.handler . Cela devrait être comme ceci:
Ensuite, nous cliquons sur "Créer une version" et attendons d'être transférés dans l'onglet "Vue d'ensemble".
Étape 7 : Ici, nous nous intéressons aux commutateurs "Lien d'appel" et "Fonction publique". Nous appuyons sur l'interrupteur et nous nous souvenons où se trouve le lien pour l'appel.
Étape 8 : Créez un robot de télégramme et copiez son jeton. Vous devez créer une requête comme:
https://api.telegram.org/bot<bot_token>/setWebHook?url=<webhook_url>
Où bot_token est votre jeton de robot de télégramme, et webhook_url est le "lien d'appel" des fonctions (étape 7). Cette demande doit être collectée et insérée dans la ligne du navigateur.
Exemple de demande
https://api.telegram.org/bot1234567:AAAAAAAAAAAAAAA/setWebHook?url=https://functions.yandexcloud.net/asdjaskjdasdjasd
Étape 9 : Envoyez "bonjour" au bot et voyez ce que nous avons obtenu à la fin.
Merci de votre attention! Si vous avez lu cet article, je serai heureux de diverses suggestions pour améliorer / compléter / commenter cet article.