-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathcrush_percentage_bot.py
47 lines (41 loc) · 1.51 KB
/
crush_percentage_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
38
39
40
41
42
43
44
45
46
from flask import Flask, request
import requests
import random
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']
porcentagem = random.randint(0, 100)
if texto_recebido == '/start':
return (
"Olá!\n\n"
"Quer saber o que o futuro guarda para você e a pessoa amada?\n"
"Me mande o nome dela e lhe direi..."
)
return (
f"Calculando amor entre *{nome_usuario}* & *{texto_recebido}*...\n\n"
f"Chance de match: {porcentagem}%"
)
else:
return "Chance de match: 0%"
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)