Telegram Notifications Plugin (discourse-telegram-notifications)

Возможно, глупый вопрос, но какие уведомления я должен получать через Telegram? Бот запущен и работает, я отправил ему сообщение и получил Chat ID, вставил этот ID в свой профиль пользователя, но, несмотря на то, что с тех пор я получил несколько уведомлений по электронной почте, в Telegram ничего не появилось. Должно ли это быть так, или мне нужно настроить уведомления в другом месте?

Если для решения этой проблемы нужны логи, я не против их опубликовать, но мне нужна будет подсказка, где их искать.

Проверка текста всегда помогает — оказалось, что я (видимо, хотя я никогда не видел ошибки) неправильно ввёл Chat ID. Теперь, когда я ввёл его заново, уведомления работают как положено. Отлично!

3 лайка

Привет. Я пытаюсь настроить это, но застрял на этапе получения Chat ID от бота. Что бы я ни писал, ответа нет.

Сначала я создал бота, следуя инструкциям.
Затем я создал группу в Telegram и добавил туда бота как участника.
После этого я попытался отправить сообщение, даже отметив бота, но ответа всё равно нет.

Я даже попробовал создать канал и написать боту, но ответа всё ещё нет.
Я пробовал делать это и через десктопное приложение, и через мобильное, но безрезультатно.

Не знаю, что ещё можно сделать.

Кроме того, нужно ли устанавливать оба плагина: discourse-chat-integration и discourse-telegram-notifications?

Я нигде в документации не вижу указания на необходимость создания группы. Напротив, там рекомендуется не разрешать боту присоединяться к группам. Отправляйте сообщения напрямую боту, а не в группу, в которой он состоит.

Согласно исходному посту (это даже выделено в заштрихованном блоке вверху), они выполняют разные функции:

1 лайк

Спасибо за ваш отзыв, я попробую ещё раз.

Могу ли я одновременно использовать плагин интеграции чата и плагин уведомлений Telegram? Я успешно интегрировал плагин интеграции чата, и он работает нормально, но плагин уведомлений Telegram не отправляет уведомления пользователям. Бот просто показывает мне это!

testbot, [28.12.19 15:58]
Привет, администратор! Я буду присылать вам сообщения, когда появятся новые уведомления на Engineer's Asylum.
Ответ на уведомление опубликует ответ на Engineer's Asylum.
Чтобы отключить, перейдите в настройки вашего профиля.

Из первого поста:

Я сам этого не делал, но, похоже, это отвечает на вопрос.

1 лайк

Я нашел, где ошибся: я вставлял токен доступа в область интеграции чата плагина. Нашел его в настройках плагина для Telegram, отправил сообщение боту и получил ответ!

Цитата: Я всё ещё не могу заставить бота отвечать и предоставлять мне ID чата через Telegram. Я пробовал отправить сообщение самому боту. Также пытался создать канал в Telegram и упомянуть бота в сообщении, но всё равно ничего не получил.

Вы нашли решение этой проблемы? У меня возникла такая же ошибка.

Я только что открыл этот PR для плагина:

Он добавляет поддержку этой строки, а также плагина Discourse Follow. Надеюсь, сотрудники скоро его примут.

Выглядит отлично, я только что объединил — спасибо @barreeeiroo :smiley:

4 лайка

Если вы планируете расширить это, добавив уведомления через Viber и SMS, ознакомьтесь с моим проектом: GitHub - Sprachprofi/notifications_sample: Demonstrating how to cleanly handle opt-in/opt-out and notifications via a variety of platforms · GitHub

1 лайк

@david
Очень полезный плагин, спасибо! :blush:

Могу ли я использовать {name} вместо {username} в переводах?

К сожалению, нет, для этого потребовалось бы внести изменения в код плагина.

4 лайка

Привет, @david, мой бот иногда не работает… Проверил токен и SSL сайта — всё в порядке… Есть какие-то идеи?

Я просмотрел логи, и все они касаются личных сообщений:
Не удалось отправить сообщение в Telegram. Данные сообщения= “… личное сообщение …”

/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-6.0.4/lib/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'

Приветствие.
Та же проблема с установкой этого плагина..

Проблема и решение:

Проблема:
Я сильно путался между двумя плагинами, двумя телеграм-ботами и двумя телеграм-чатами (каналом и группой). В этой путанице мне постоянно давали поле с названием «Telegram Token» или что-то подобное, но я так и не мог разобраться, в чём разница.

Решение:
В конце концов я обнаружил, что в настройках Discourse есть два разных поля с очень похожими названиями/метками, расположенные рядом друг с другом, но которые, разумеется, НЕ ОДИНАКОВЫЕ.

Поэтому, пожалуйста, обратите внимание: это два разных элемента с разными назначениями:

Я заметил, что чаты телеграм-каналов и групп больше не отвечают на команду /getchatid. Они больше не раскрывают свой ID чата обычным способом. Раньше, при создании нового бота, он автоматически сообщал свой ID сразу после начала с ним чата. Но теперь так больше не происходит.

Возможно ли настроить получение уведомления, если пост ожидает одобрения?

Привет @david!
Во-первых, спасибо за плагин. Всё настроено, работает, и я не могу дождаться, чтобы сообщить об этом сообществу.
Однако у меня есть несколько вопросов:

  1. Как я могу перевести его на свой язык, чтобы сделать всё ещё удобнее для нашего сообщества?

  2. Есть ли способ — через Telegram или Discourse — контролировать внешний вид сообщений в Telegram? Шрифт выглядит плохо, а между словами в тексте самого сообщения, отправленного из Discourse, есть двойные пробелы (текст плагина выглядит отлично).

У меня тоже. Мне не очень нравится, как это выглядит.

Приятно слышать, что это всё ещё работает. Думаю, я попробую это на своём сообществе.