Telegram Notifications Plugin (discourse-telegram-notifications)

Talvez seja uma pergunta boba, mas que notificações devo esperar receber pelo Telegram? O bot está ativo e funcionando; enviei uma mensagem e obtive um Chat ID. Inseri esse ID no meu perfil de usuário, mas, embora tenha recebido algumas notificações por e-mail desde então, não vi nada no Telegram. Deveria ter recebido, ou preciso configurar essas notificações em outro lugar?

Se forem necessários logs para ajudar a resolver isso, não tenho problema em publicá-los, mas precisarei de orientação sobre onde procurá-los.

Revisar sempre ajuda — descobri que (aparentemente, embora nunca tenha visto o erro) tinha inserido o Chat ID incorretamente. Agora que foi reinserido, as notificações funcionam como esperado. Legal!

3 curtidas

Olá. Estou tentando configurar isso, mas estou travado tentando fazer o Bot me enviar o Chat ID. Não importa o que eu digite, não recebo nenhuma resposta.

Primeiro, criei o bot seguindo as instruções.
Depois, criei um grupo no Telegram e adicionei o bot como membro.
Em seguida, tentei enviar uma mensagem, até marcando o bot, e ainda assim não houve resposta.

Tentei até criar um canal e enviar mensagem ao bot, mas sem resposta.
Tentei fazer isso tanto pelo aplicativo de desktop quanto pelo aplicativo móvel, mas sem sucesso.

Não sei mais o que fazer.

Além disso, preciso ter ambos, discourse-chat-integration e discourse-telegram-notifications, instalados?

Não vejo em nenhum lugar da documentação que diz para criar um grupo; na verdade, vejo uma recomendação para impedir que o bot seja adicionado a um grupo. Envie uma mensagem diretamente ao bot, não a um grupo que inclua o bot.

De acordo com o OP (está até em uma caixa sombreada no topo), eles fazem coisas diferentes:

1 curtida

Obrigado pelo feedback, vou tentar novamente.

Posso usar o Plugin de Integração de Chat e os plugins de notificação do Telegram ao mesmo tempo? Integrei com sucesso o plugin de integração de chat e está funcionando bem, mas o plugin de notificação do Telegram não está notificando os usuários. O bot apenas mostra isso!

testbot, [28.12.19 15:58]
Olá, Administrador, enviarei uma mensagem quando você tiver novas notificações no Engineer's Asylum.
Responder a uma notificação postará uma resposta no Engineer's Asylum.
Para desativar, visite suas preferências de usuário.

Do OP:

Eu não fiz isso pessoalmente, mas parece que isso responde à pergunta.

1 curtida

Descobri onde errei: eu estava colocando o token de acesso na área de integração do plugin de chat. Encontrei o token na área de configurações dos plugins para o Telegram, enviei uma mensagem ao bot e obtive uma resposta!

Citação: Ainda não estou conseguindo que o bot responda e me forneça o ID do chat via Telegram. Tentei enviar uma mensagem para o próprio bot. Tentei criar um canal no Telegram e marcar o bot com uma mensagem. Mesmo assim, não obtive nada.

Você já encontrou uma solução para isso? Eu também estou com esse problema.

Acabei de abrir este PR para o plugin:

Ele adiciona suporte a essa string e também ao plugin Discourse Follow.
Espero que a equipe o mescla em breve.

Parece ótimo, acabei de fundi-lo – obrigado @barreeeiroo :smiley:

4 curtidas

Se você planeja expandir isso para oferecer notificações via Viber e SMS, veja meu projeto GitHub - Sprachprofi/notifications_sample: Demonstrating how to cleanly handle opt-in/opt-out and notifications via a variety of platforms · GitHub

1 curtida

@david
Plugin muito útil, obrigado! :blush:

Posso usar {name} em vez de {username} nas traduções?

Infelizmente não, isso exigiria uma alteração no código do plugin.

4 curtidas

Ei @david, meu bot às vezes não está funcionando… Verifiquei o token e o SSL do site, tudo ok… Alguma ideia?

Verifiquei os logs e todos são sobre mensagens privadas:
Falha ao enviar mensagem do Telegram. Dados da mensagem= “… mensagem privada …”

/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/logster-2.5.1/lib/logster/logger.rb:112:in `report_to_store'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/logster-2.5.1/lib/logster/logger.rb:103:in `add_with_opts'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/logster-2.5.1/lib/logster/logger.rb:54:in `add'
/usr/local/lib/ruby/2.6.0/logger.rb:543:in `error'
/var/www/discourse/plugins/discourse-telegram-notifications/services/discourse_telegram_notifications/telegram-notifier.rb:46:in `doRequest'
/var/www/discourse/plugins/discourse-telegram-notifications/services/discourse_telegram_notifications/telegram-notifier.rb:7:in `sendMessage'
/var/www/discourse/plugins/discourse-telegram-notifications/plugin.rb:234:in `execute'
/var/www/discourse/app/jobs/base.rb:232:in `block (2 levels) in perform'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rails_multisite-2.0.7/lib/rails_multisite/connection_management.rb:63:in `with_connection'
/var/www/discourse/app/jobs/base.rb:221:in `block in perform'
/var/www/discourse/app/jobs/base.rb:217:in `each'
/var/www/discourse/app/jobs/base.rb:217:in `perform'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/sidekiq-6.0.4/lib/sidekiq/processor.rb:196:in `execute_job'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/sidekiq-6.0.4/lib/sidekiq/processor.rb:164:in `block (2 levels) in process'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/sidekiq-6.0.4/lib/sidekiq/middleware/chain.rb:138:in `block in invoke'
/var/www/discourse/lib/sidekiq/pausable.rb:138:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/sidekiq-6.0.4/lib/sidekiq/middleware/chain.rb:140:in `block in invoke'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/sidekiq-6.0.4/lib/sidekiq/middleware/chain.rb:143:in `invoke'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/sidekiq-6.0.4/lib/sidekiq/processor.rb:163:in `block in process'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/sidekiq-6.0.4/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/sidekiq-6.0.4/lib/sidekiq/job_retry.rb:111:in `local'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/sidekiq-6.0.4/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/sidekiq.rb:37:in `block in <module:Sidekiq>'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/sidekiq-6.0.4/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/sidekiq-6.0.4/lib/sidekiq/processor.rb:257:in `stats'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/sidekiq-6.0.4/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/sidekiq-6.0.4/lib/sidekiq/job_logger.rb:13:in `call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/sidekiq-6.0.4/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/sidekiq-6.0.4/lib/sidekiq/job_retry.rb:78:in `global'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/sidekiq-6.0.4/lib/sidekiq/processor.rb:124:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/sidekiq-6.0.4/lib/sidekiq/logger.rb:10:in `with'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/sidekiq-6.0.4/lib/sidekiq/job_logger.rb:33:in `prepare'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/sidekiq-6.0.4/lib/sidekiq/processor.rb:123:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/sidekiq-6.0.4/lib/sidekiq/processor.rb:162:in `process'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/sidekiq-6.0.4/lib/sidekiq/processor.rb:78:in `process_one'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/sidekiq-6.0.4/lib/sidekiq/processor.rb:68:in `run'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/sidekiq-6.0.4/lib/sidekiq/util.rb:15:in `watchdog'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/sidekiq-6.0.4/lib/sidekiq/util.rb:24:in `block in safe_thread'

Saudações.
Mesmo problema com a instalação deste plugin..

Problema e Solução:

Problema:
Fiquei bastante confuso entre os dois plugins, dois bots do Telegram e duas conversas do Telegram (canal do Telegram e grupo do Telegram). Nessa confusão, sempre me era apresentado um campo chamado ‘Token do Telegram’ ou algo assim. Mas continuava a me confundir entre os dois.

Solução:
No final, descobri que nas Configurações do Discourse existem dois campos diferentes, com rótulos/nomes muito, muito parecidos, e localizados bem próximos um do outro, mas que, bem, NÃO SÃO IGUAIS.

Portanto, por favor, note que são duas coisas diferentes e têm propósitos distintos:

Notei que os chats de canal/grupo do Telegram não respondem mais ao comando /getchatid. Não é mais possível obter o ID do chat deles de formas normais. Antes, sempre que criávamos um novo bot, ele automaticamente informava seu ID assim que iniciávamos uma conversa com ele. Mas isso não acontece mais.

Seria possível implementar que eu receba uma notificação se um post estiver aguardando aprovação?

Ei @david!

Primeiramente, obrigado pelo plugin. Tudo está configurado, funcionando e mal posso esperar para anunciá-lo à comunidade.

No entanto, tenho algumas perguntas:

  1. Como posso traduzi-lo para o meu idioma, para facilitar ainda mais as coisas para nossa comunidade?

  2. Existe alguma maneira, seja pelo Telegram ou pelo Discourse, de controlar a aparência das mensagens do Telegram? A fonte está com uma aparência ruim e há espaços duplos entre as palavras do texto real da mensagem enviada pelo Discourse (os textos do plugin estão ótimos).

Eu também. Não gosto muito de como ficou.

Bom saber que isso ainda está funcionando. Acho que vou tentar isso na minha comunidade.