Este artigo é inspirado pela popularidade do recurso entre os alunos programadores, mas tentarei contar tudo da forma mais simples possível para programadores novatos. Como resultado, criaremos um Echo bot simples como um modelo para várias modificações.
PS Além disso, o artigo é inspirado na falta de um tutorial em Python, existe um bom tutorial em Nodejs .
Link para a
documentação do Yandex Cloud Functions Link para a documentação da API do Telegram .
Etapa 1 : registro e login na plataforma em nuvem Yandex
Etapa 2 : inserir funções. Aqui você precisa selecionar "Cloud Functions" no painel esquerdo do "Console de gerenciamento"
Etapa 3 : Clique no botão
. Em seguida, definimos um nome e uma descrição de função significativos.
Adendo
< >-<>-<>.
telegram-study-bot, weather-get-api ..
. language=python3.7, lib=telebot
telegram-study-bot, weather-get-api ..
. language=python3.7, lib=telebot
Passo 4 : Selecione a aba "Editor"
Após a qual abriremos uma janela para gerenciamento do código de nossa função. Aqui podemos escolher:
1) "Runtime", no nosso caso é python3.7
Sobre dependências
preview , ( 02.10.2020 )
2) "Métodos" são responsáveis por como o código será passado para a função. Neste artigo, usaremos o Editor de código direto como o exemplo mais simples.
3) O “ponto de entrada” é o responsável por qual função receberá a solicitação e será o início da ação de nossa função, iremos indicá-lo um pouco mais tarde.
4) Em seguida, vêm os "Parâmetros", sugiro deixá-los como estão.
Se você quiser usar autorizações
, , .
Passo 5 : Certifique-se de que temos os conjuntos "Runtime" e "Método" corretos.
Em seguida, clique em "Criar arquivo", vamos chamá-lo de main.py.
Etapa 6 : Isso abrirá o editor de código, onde podemos criar uma função de manipulador de solicitação. Vamos chamá-lo de handler e inserir este código:
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
}
Analise o código
«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, .
ATENÇÃO!!!
No "Ponto de entrada", você precisa especificar esta função como o início do script. Escrevemos main.handler . Deveria ser assim:
Em seguida, clicamos em "Criar versão" e esperamos ser transferidos para a guia "Visão geral".
Passo 7 : Aqui estamos interessados no "Link para ligar" e no switch "Função pública". Pressionamos o botão e lembramos onde está o link para a chamada.
Etapa 8 : Crie um bot de telegrama e copie seu token. Você precisa criar uma consulta como:
https://api.telegram.org/bot<bot_token>/setWebHook?url=<webhook_url>
Onde bot_token é o token do bot do telegrama e webhook_url é o "link de chamada" das funções (etapa 7). Esta solicitação deve ser coletada e inserida na linha do navegador.
Solicitar exemplo
https://api.telegram.org/bot1234567:AAAAAAAAAAAAAAA/setWebHook?url=https://functions.yandexcloud.net/asdjaskjdasdjasd
Passo 9 : Envie um "olá" ao bot e veja o que conseguimos no final.
Obrigado pela atenção! Se você leu este artigo, ficarei feliz com várias sugestões para melhorar / complementar / comentar este artigo.