josircg / raizcidadanista

Sistema de Gerenciamento da Raiz Cidadanista
http://www.raiz.org.br
GNU General Public License v3.0
1 stars 2 forks source link

Integração com o Telegram! #87

Closed josircg closed 7 years ago

josircg commented 8 years ago

https://core.telegram.org/bots

O objetivo é enviar notificações para o bot sempre que haja conversação em um tópico do fórum.

leonardocsantoss commented 7 years ago

Resolvido. Eu criei o BotRaiz. Link: https://telegram.me/raiz_bot

Quando você inicia uma conversa com o bot, ele envia um link para você associar o Telegram ao usuário do Raiz. Feita a associação todas as conversas que o usuário está como Ouvinte vai chegar pelo bot.

josircg commented 7 years ago

As menções não estão funcionando. Por enquanto, vamos enviá-las mesmo que a pessoa não tenha marcado a opção de Sempre Receber.

leonardocsantoss commented 7 years ago

Blz. Retirei a lógica que verificava se ele marcou "Sempre Receber".

josircg commented 7 years ago

Leonardo, tem sempre que ficar atento para não colocar nenhuma senha no repositório. Esse repositório é aberto! Aproveite e dá uma conferida se não tem nenhuma senha no settings.

josircg commented 7 years ago

O Telegram está retornando:

http://127.0.0.1:8000/forum/grupo/3/topico/5/#conversa-99

leonardocsantoss commented 7 years ago

Sempre esqueço desse detalhe. Coloquei a API Key no settings/production.py apenas no ambiente de testes.

Não tem nenhuma senha no settings.

Quanto a esse erro do Telegram retornando o http://127.0.0.1:8000/... foi porque esqueci de desabilitar do meu ambiente local. Fiz isso agora mesmo.

josircg commented 7 years ago

Corrigir o erro do listener que você citou no email.

leonardocsantoss commented 7 years ago

Resolvido.

Como o gunicorn abre mais de uma thread para o projeto, então mais de um robot estava sendo aberto. Desta forma, o usuário podia receber as mensagens duplicadas.

A ideia foi criar um management e colocar ele para ser executado no supervisord.

josircg commented 7 years ago

Essa rotina já foi para produção?

leonardocsantoss commented 7 years ago

Sim.

josircg commented 7 years ago

Temos que incluir um debug ou trace para entender porque alguns usuários não conseguem se registrar no bot.

leonardocsantoss commented 7 years ago

Adicionei um log no membro quando o usuário associa a conta dele ao telegram, assim temos uma ideia de quando foi a ultima associação que deu certo.

Acrescentei também um "status" do telegram no footer do admin. O status verifica se o processo do telegram está ativo ou não.

josircg commented 7 years ago

Leonardo, dá uma olhada no email que eu tinha te enviado anteriormente a uns 5 dias atrás. O problema é que o usuário dá o /start e o sistema não retorna nada.

Temos que entender por que isso ocorre?

leonardocsantoss commented 7 years ago

Se o sistema não retornar nada é porque ele está inativo.