Configurar integração com o Telegram usando o plugin discourse-chat-integration

Solved: Exited the chat bot from that telegram group. And understood that if I wanted the bot to be the part of that group, then that group’s chat ID need to have a channel and a channel rule under itself.

1 curtida

The Telegram integration works very well for channels but it’s unsuitable for groups-- it will spam its operation instructions every time a chat “event” happens (like someone joining or leaving the chat, or a message getting pinned). Even if you disable the slash commands entirely. Is there a way to get the bot to not respond to these events?

2 curtidas

Do you have group_privacy disabled?

4 curtidas

I tried that setting too and saw that it becomes every message as you say. Even with group_privacy enabled bots can still see these join/leave/pin events.

Hi,
I created the telegram bot, entered the key and activated the function in discourse. HTTPS is enabled (our site runs behind an apache proxy)
However the tab is not showing. Where can I debug this? I can not find any errors in the logs.
Is there a way to test the connection to telegram from inside the Discourse container?
thx

1 curtida

short update on this. I entered the discourse container with docker exec -it container /bin/bash. then I executed the following:

curl https://api.telegram.org/bot123456789:ABCDEfgh2ZojwyChMz0xuIo2Wvg4ww3XGI4g/getMe

this returned an ok response with the name of my bot etc.

however the integration with discourse does not work yet. Is there a log file somewhere so that I can debug this? Any help is appreciated.

Is the force_https site setting enabled? Is the chat_integration_enable_telegram setting enabled?

2 curtidas

Hi,
yes both settings are enabled.
HTTPS is working fine, also with login integration with fb, google, tw.

what could be the cause, or where could I find the logs?

thx

@jucajuca

I am also facing same issue since last 4-5 days on my new discourse instance.

Hi @david, is there any way i can see the logs.

On my old instance notifications are working good with telegram bot, but in newer instance Chat ID is not getting generated. The curl command mentioned above is giving output as true from discourse instance. Other oauth plugins like google. twitter are working without any issues.

Thanks in advance.

1 curtida

I just got it working on a new Discourse install by firing up rails c and manually running DiscourseChat::Provider::TelegramProvider.setup_webhook()

Hope that helps!

4 curtidas

Thanks a lot @codatory
@codinghorror Thanks for this awesome platform :slight_smile:

It worked :+1:

2 curtidas

can you elaborate a bit on this? should I run these commands from within the container? in which directory? I’m not a rails expert. thx! : )

Yeah; so you enter the container and run
rails c
Then wait a bit for it to load up. Once it’s loaded up you can paste in
DiscourseChat::Provider::TelegramProvider.setup_webhook(); exit
Then you can exit out of the container and it should be working.

2 curtidas

THANK YOU, this solved my issue But had to toggle the plugin off in my admin. Then on. Then run this.

1 curtida

Consegui fazer isso funcionar, mas não em um grupo. Ele me envia notificações diretamente como um chat entre eu e o bot.

Adicionei o bot a um grupo privado, e o bot tinha acesso de administrador no grupo. Também adicionei o grupo como um canal nas configurações do plugin do Discourse. Mas sempre que tento enviar uma notificação de teste para o grupo (canal do Telegram), recebo o erro 422. Não importa o que eu faça. Esse erro vem das configurações do canal do plugin do Telegram no Discourse.

Alguém pode ajudar? Quero muito configurar isso para o nosso grupo.

Esse problema agora deve estar resolvido, graças a este PR:

O problema mais comum é uma chave de API inválida. Certifique-se de que a copiou e colou corretamente e que não introduziu acidentalmente espaços antes ou depois.

2 curtidas

O token da API está funcionando corretamente; consigo receber as notificações em uma mensagem privada do bot no Telegram. O problema é que ele não consegue enviar para o grupo. Além disso, toda vez que alguém no canal envia uma mensagem, o bot diz: “Este canal está configurado com chatID: …”, o que é muito irritante.

Agora estou recebendo este erro.

Errno::ECONNRESET: Conexão redefinida pelo par - SSL_connect
from /usr/local/lib/ruby/2.6.0/net/protocol.rb:44:in `connect_nonblock’

Não importa como isso seja alternado, estou enfrentando o mesmo problema. Existe alguma solução alternativa para isso?

Estou tentando configurar as notificações, mas ao adicionar o bot ao grupo do Telegram, ele não envia o ID do chat. Já tentei várias vezes e falhei em todas :<

O que posso fazer para solucionar o problema? Já tentei executar o comando do console do Rails.

1 curtida