-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathTelegram.py
More file actions
62 lines (52 loc) · 2.39 KB
/
Telegram.py
File metadata and controls
62 lines (52 loc) · 2.39 KB
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#Orientacoes em : https://youtu.be/rywDqxJTDPY
import requests
import time
import json
import os
class TelegramBot:
def __init__(self):
iTOKEN = 'INFORMAR AQUI O SEU TOKEN'
self.iURL = f'https://api.telegram.org/bot{iTOKEN}/'
def Iniciar(self):
iUPDATE_ID = None
while True:
iATUALIZACAO = self.ler_novas_mensagens(iUPDATE_ID)
IDADOS = iATUALIZACAO["result"]
if IDADOS:
for dado in IDADOS:
iUPDATE_ID = dado['update_id']
mensagem = str(dado["message"]["text"])
chat_id = dado["message"]["from"]["id"]
primeira_mensagem = int(dado["message"]["message_id"]) == 1
resposta = self.gerar_respostas(mensagem, primeira_mensagem)
self.responder(resposta, chat_id)
def ler_novas_mensagens(self, iUPDATE_ID):
iLINK_REQ = f'{self.iURL}getUpdates?timeout=5'
if iUPDATE_ID:
iLINK_REQ = f'{iLINK_REQ}&offset={iUPDATE_ID + 1}'
iRESULT = requests.get(iLINK_REQ)
return json.loads(iRESULT.content)
def gerar_respostas(self, mensagem, primeira_mensagem):
print('mensagem do cliente: ' + str(mensagem))
if primeira_mensagem == True or mensagem.lower() in ('menu','cardapio'):
return f'''Olá seja bem vindo a Pizzaria MammaMia, informe o codigo do item que deseja pedir:{os.linesep}1 - Pizza Calabresa{os.linesep}2 - Pizza Napolitana{os.linesep}3 - Pizza 4 Queijos'''
if mensagem == '1':
return f'''Pizza Calabresa - R$25,00{os.linesep}Confirmar pedido?(s/n)
'''
elif mensagem == '2':
return f'''Pizza Napolitana - R$27,00{os.linesep}Confirmar pedido?(s/n)
'''
elif mensagem == '3':
return f'''Pizza 4 Queijos - R$30,00{os.linesep}Confirmar pedido?(s/n)'''
elif mensagem.lower() in ('s', 'sim'):
return ''' Pedido Confirmado! '''
elif mensagem.lower() in ('n', 'não'):
return ''' Item não incluso! Informe o codigo do item: '''
else:
return 'Para acessar o cardapio digite "menu"'
def responder(self, resposta, chat_id):
iLINK_REQ = f'{self.iURL}sendMessage?chat_id={chat_id}&text={resposta}'
requests.get(iLINK_REQ)
print("respondi: " + str(resposta))
bot = TelegramBot()
bot.Iniciar()