-
Notifications
You must be signed in to change notification settings - Fork 4
/
send_text_resp_bot.py
38 lines (32 loc) · 1.25 KB
/
send_text_resp_bot.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from flask import Flask, request
import requests
app = Flask(__name__)
# ATENÇÃO - NINGUÉM ALÉM DE VOCÊ DEVE SABER ESSE TOKEN
BOT_TOKEN = "SEU_TOKEN_AQUI" # NÃO SUBIR PARA O GITHUB
@app.route('/nova-mensagem', methods=["POST"])
def new_message():
# pegar a mensagem que o telegram enviou
body = request.json
app.logger.info(f"Chegou uma nova mensagem: {body}")
# escolher um texto de resposta para a mensagem recebida
resposta = montar_resposta(body)
# enviar mensagem respondendo o usuário
enviar_mensagem(resposta, body)
# falar para o telegram que tudo ocorreu bem :)
return {"ok": True}
def montar_resposta(body):
if 'text' in body['message']:
texto_recebido = body['message']['text']
nome_usuario = body['message']['from']['first_name']
if texto_recebido == '/start':
return "Texto apresentando meu bot!"
return f"Olá, {nome_usuario}! Recebi esse texto seu: {texto_recebido}"
else:
return "Desculpe, só processo mensagens de texto"
def enviar_mensagem(texto, body):
endpoint = f"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage"
params = {
"chat_id": body['message']['chat']['id'],
"text": texto,
}
requests.get(endpoint, params)