Commit 837e920f authored by Jan Luc Tavares's avatar Jan Luc Tavares
Browse files

melhoradas algumas respostas na comunicação

parent a2fb5aa2
#
# Programa principal do bot para Telegram
# das estacoes meteorologicas.
#
#
# O objetivo inicial é escrever um MVP para comunicacao dos dados das EMM.
#
# TODO:
# * Implementar alguma estrategia para que nao se realize tantos downloads e que seja mais rápido.
#
#
#
#
#
import json
import json
import requests
import time
import os
......@@ -85,8 +85,8 @@ def send_message(text, chat_id, reply_markup=None):
if reply_markup:
url += "&reply_markup={}".format(reply_markup)
get_url(url)
def send_pic(chat_id, file):
url=URL+ "sendPhoto"
files = {'photo': open('{}/{}'.format(os.getcwd(),file), 'rb')}
......@@ -120,7 +120,7 @@ def sel_emm1(chat_id,entrada=None):
estacoes = ["estação " + item for item in estacoes]
keyboard = build_keyboard(estacoes)
send_message(text, chat_id,keyboard)
def sel_emm2(chat_id, entrada=None):
ids,estacoes = lista_emm()
escolha = entrada.split()[1] # separa a estacao escolhida
......@@ -129,16 +129,18 @@ def sel_emm2(chat_id, entrada=None):
db.delete_item(chat_id, 'padrao') #deleta antes para garantir que nao ha duplicado
db.add_item(chat_id, idemm, 'padrao') #Acrescenta a estacao ao grupo 'padrao': ele existe para futuras funcionalidades.
text = "Selecionado com sucesso!"
keyboard = build_keyboard(["/ultimo","/dia",'/semana',"/mes"])
except:
text = "Não encontrei essa estação no sistema"
send_message(text,chat_id)
keyboard = build_keyboard(["/selecionar"])
send_message(text,chat_id,keyboard)
def tchau(chat_id,entrada=None):
text = "Tchau, você não receberá mais minhas mensagens."
text = "Tchau, você não receberá mais minhas mensagens."
db.delete_item(chat_id, 'padrao')
send_message(text,chat_id)
def ultimo(chat_id,entrada=None):
estacao = db.get_items(chat_id, 'padrao')
try:
......@@ -188,18 +190,19 @@ def dia(chat_id,entrada=None):
text = "Parece que você ainda não selecionou nenhuma estação"
keyboard = build_keyboard(["/selecionar", "/ajuda"])
send_message(text,chat_id, keyboard)
def dia2(chat_id,entrada=None):
try:
send_message("Vou procurar esse dado... \n",chat_id)
escolha = entrada.split()[2] # a 'escolha' é a terceira palavra da resposta.
estacao = db.get_items(chat_id, 'padrao') # verifica qual a estacao cadastrada para o usuario
tipos, dados = coleta(estacao[0]) # faz a aquisicao dos dados
plot_periodo(dados[tipos[0]], dados[escolha], escolha, 'dia')
send_pic(chat_id,"dia.png")
except:
text = "Deu ruim.\nOu você escolheu um tipo de dado que não temos ou não selecionou estação ainda.\n\n/selecionar"
text = "Me perdi.\nOu você escolheu um tipo de dado que não temos ou não selecionou estação ainda.\nTalvez não medimos um dia inteiro ainda.\n\n/selecionar"
send_message(text, chat_id)
def semana(chat_id,entrada=None):
......@@ -223,7 +226,7 @@ def semana2(chat_id,entrada=None):
tipos, dados = coleta(estacao[0]) # faz a aquisicao dos dados
plot_periodo(dados[tipos[0]], dados[escolha], escolha, 'semana')
send_pic(chat_id,"semana.png")
except:
text = "Deu ruim.\nOu você escolheu um tipo de dado que não temos ou ainda não medimos tanto tempo.\n\n/selecionar"
send_message(text, chat_id)
......@@ -241,7 +244,7 @@ def mes(chat_id,entrada=None):
text = "Parece que você ainda não selecionou nenhuma estação"
keyboard = build_keyboard(["/selecionar", "/ajuda"])
send_message(text,chat_id, keyboard)
difference on git
def mes2(chat_id,entrada=None):
try:
escolha = entrada.split()[2] # a 'escolha' é a terceira palavra da resposta.
......@@ -249,7 +252,7 @@ def mes2(chat_id,entrada=None):
tipos, dados = coleta(estacao[0]) # faz a aquisicao dos dados
plot_periodo(dados[tipos[0]], dados[escolha], escolha, 'mes')
send_pic(chat_id,"mes.png")
except:
text = "Ainda não temos tanto tempo de medida nessa estação :(\n\n/selecionar"
send_message(text, chat_id)
......@@ -307,7 +310,7 @@ def handle_updates(updates):
pass
def main():
next_update_id = None
db.setup()
......@@ -320,13 +323,3 @@ def main():
if __name__ == '__main__':
main()
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment