[3.2][beta] Telegram Notifications

Здесь авторы могут постить бета-версии своих расширений для phpBB. Внимание! Не устанавливайте бета-версии расширений на работающие форумы!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.2.x | FAQ | Внимание! Прежде чем создать тему - прочти! | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).

Внимание! Не устанавливайте бета-версии расширений на работающие форумы!
Аватара пользователя
Gubkin
phpBB 2.0.16
Сообщения: 1096
Стаж: 10 лет 11 месяцев
Благодарил (а): 204 раза
Поблагодарили: 91 раз

[3.2][beta] Telegram Notifications

Сообщение Gubkin »

Уведомление о новых сообщениях на конференции в канале или группе telegram

Страница на phpbb https://www.phpbb.com/community/viewtop ... &t=2432566
Страница для закачки https://github.com/lassik/phpbb-ext-tel ... ifications

страница настройки
setting.jpg

поставил себе для теста :D
сообщение приходит моментом в туже секунду после размещения на форуме
я думал будет через cron как-то через 10-30 мин :D

Сообщения в канале (группе) содержат ссылку на тему и опционально часть её текста.


Модифицированная версия расширения от Nekstati (июнь 2026):

Что изменено:
- добавлен выбор форумов, из которых должен идти репост в ТГ
- добавлено превью ссылок в ТГ
- добавлена поддержка ББкодов в тексте сообщений (только базовые ББкоды, возможны ошибки на кастомных ББкодах)
- добавлена функция наполнения канала (постепенная отправка старых тем форума в ТГ по крону)
- добавлен ряд доп. настроек
- добавлены подробные пояснения к настройкам
- пофикшены ошибки

Рекомендации:
- установить мою фикшенную версию этого расширения (во вложении)
- в настройках расширения поставить: "Предпросмотр Telegram: тема", "Предпросмотр текста: нет"
- установить расширение SEO Metadata ([3.2] SEO Metadata)
- в настройках SEO Metadata включить опцию "Include attachments" (по умолчанию отключена)

SEO Metadata нужно для того, чтобы Телеграм генерировал превью тем с картинками. Иначе будут голые ссылки или голый текст. То есть специальный служебный бот Telegram зайдёт на ваш форум, прочитает метатеги, сгенерированные расширением SEO Metadata, и на их основе отобразит превью. Само же по себе расширение Telegram Notifications не умеет постить картинки.

Сообщения в ТГ в идеале выглядят так:
  
preview2.png
  
Но размер изображения в превью бывает и намного меньше, это решает сам ТГ по каким-то своим соображениям.
  
Что делать, если фото в ТГ не появляется 
Алгоритм генерации превью в ТГ:

- ТГ получает ссылку на ваш сайт
- Служебный ТГ-бот идёт по этой ссылке
- ТГ-бот ищет метатеги типа <meta property="og:image">
- ТГ-бот находит тег и скачивает изображение

Подробный чеклист:

1)
Настройка расширений
      Уведомления Telegram
            Предпросмотр Telegram: "Тема"
            Предпросмотр текста: "Ответ"

2)
Настройка расширений
      SEO Metadata
            Image strategy: "First found"
            Include attachments: "Да"
            Prefer attachments: "Да"
            И всё остальное - "Да"

3)
Опубликуйте новую тему с вложением. В исходном коде страницы благодаря расширению SEO Metadata должен появиться такой метатег:
<meta property="og:image" content="https://site.ru/download/file.php?id=1">
В этом теге должна быть рабочая ссылка на ваше вложение. Вложение должно видно гостям, тема и форум тоже видны. ТГ-бот, генерирующий превью, - это гость, и ему должно быть всё доступно. Если тег не появляется, напишите об этом в теме [3.2] SEO Metadata

4)
Убедитесь, что ваш сайт доступен из-за границ РФ. Оттуда заходит ТГ-бот, генерирующий превью.

5)
Убедитесь, что в борьбе с нагрузкой вы не заблокировали ТГ-бота. Его юзерагент: "TelegramBot (like TwitterBot)". Этих ключевых слов не должно быть в ваших чёрных списках.

6)
Если ничего не помогает, попробуйте в ТГ вручную запостить ссылку на тему, например себе в избранное. Появляется ли превью? При этом учитывайте, что ТГ генерирует превью, только когда видит ссылку первый раз, а далее кэширует его. Т.е. всякий раз после изменения настроек лучше создавать новую тестовую тему.
  
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Nekstati 16.06.2026 14:07, всего редактировалось 1 раз.
Аватара пользователя
Piercer
phpBB 1.2.0
Сообщения: 18
Стаж: 18 лет 1 месяц
Благодарил (а): 2 раза
Поблагодарили: 1 раз

Re: [3.2][beta] Telegram Notifications

Сообщение Piercer »

Пошаговая инструкция:
1. Создал @piercerbot в списке Ботов (ACP), добавил ему права на чтение всех форумов
2. запустил модуль Телеграм-бот
3. создал бота в Телеграм при помощи бота @botfather
4. получил Токен и ввел название чата в модуле Телеграм (ACP phpBB)
Усе заработало.

Точнее сообщения приходят только о вновь созданных темах. Уведомления про ответ в уже существующей теме не приходит. Это как-то можно настроить? Желательно не для всех форумов сразу, а для определенных.
С уважением, Алекс (www.piercer.ru)
Аватара пользователя
Tony25
phpBB 1.4.4
Сообщения: 174
Стаж: 9 лет 6 месяцев
Благодарил (а): 65 раз
Поблагодарили: 5 раз

Re: [3.2][beta] Telegram Notifications

Сообщение Tony25 »

Piercer, покажите, что конкретно вводили в аср? В 2 строки
я ваш кеш чистил :)
Аватара пользователя
Piercer
phpBB 1.2.0
Сообщения: 18
Стаж: 18 лет 1 месяц
Благодарил (а): 2 раза
Поблагодарили: 1 раз

Re: [3.2][beta] Telegram Notifications

Сообщение Piercer »

Telegram token (первая строка): 24356245365:JOErjo548_48jhskg9qJowTDXlsi99
Telegram ID (вторая строка): 334000567

делал по инструкции https://stackoverflow.com/questions/324 ... 6_32572159
С уважением, Алекс (www.piercer.ru)
Аватара пользователя
Piercer
phpBB 1.2.0
Сообщения: 18
Стаж: 18 лет 1 месяц
Благодарил (а): 2 раза
Поблагодарили: 1 раз

Re: [3.2][beta] Telegram Notifications

Сообщение Piercer »

Приходит сообщение в телеграм только админу. Пользователям, которые в телеграм добавили моего бота @piercerbot сообщения не приходят. У всех так?
С уважением, Алекс (www.piercer.ru)
Аватара пользователя
demonlibra
phpBB 2.0.2
Сообщения: 338
Стаж: 16 лет 8 месяцев
Откуда: Ростов-на-Дону
Благодарил (а): 22 раза
Поблагодарили: 36 раз

Re: [3.2][beta] Telegram Notifications

Сообщение demonlibra »

Pazh писал(а): 24.09.2017 20:52Gubkin, Админка - Система - Управление модулями - Администраторские модули - Настройки расширений - там искать свое расширение, зайти в него и удалить сначала дочерние модули, а потом модуль верхнего уровня

Удалить получилось. Но при установке новой версии (5.0) этого модуля не появились те же записи, которые удалял. Создал вручную.
"Админка - Система - Управление модулями - Администраторские модули - Настройки расширений"
И опять не могу удалить данные после отключения теперь уже новой версии (5.0).

Ошибка 
В процессе обновления произошла ошибка, которая вызвала исключение. Изменения, произведенные до появления ошибки, были отменены. Тем не менее, рекомендуется проверить конференцию на отсутствие ошибок в работе.

Модуль уже существует: ACP_TELEGRAM_SETTINGS
Ошибка следующих попыток удалить данные 
В процессе обновления произошла ошибка, которая вызвала исключение. Изменения, произведенные до появления ошибки, были отменены. Тем не менее, рекомендуется проверить конференцию на отсутствие ошибок в работе.

Модуль уже существует: ACP_TELEGRAM_FIND_CHAT_ID

На чистом форуме такой проблемы с версией 5.0 не наблюдается. Может быть еще какие-то следы от версии 4.0 надо удалить?
Аватара пользователя
Pazh
Former team member
Сообщения: 2317
Стаж: 16 лет 7 месяцев
Благодарил (а): 20 раз
Поблагодарили: 221 раз

Re: [3.2][beta] Telegram Notifications

Сообщение Pazh »

Значит нужно вручную вычищать все куски расширения из бд
Помощь в ЛС/email только за WM или ЮMoney
Аватара пользователя
demonlibra
phpBB 2.0.2
Сообщения: 338
Стаж: 16 лет 8 месяцев
Откуда: Ростов-на-Дону
Благодарил (а): 22 раза
Поблагодарили: 36 раз

Re: [3.2][beta] Telegram Notifications

Сообщение demonlibra »

Спасибо. Ошибка больше не появляется. Надеюсь проблему решил.
Удалил все записи в таблице "phpbb_migrations", содержащие "telegram", при помощи phpmyadmin.
Аватара пользователя
paxom
phpBB 1.4.1
Сообщения: 43
Стаж: 11 лет 4 месяца
Благодарил (а): 2 раза
Поблагодарили: 2 раза

Re: [3.2][beta] Telegram Notifications

Сообщение paxom »

Так телеграм заблокирован , как настроить проброс ?
Неизвестная ошибка протокола SSL в связи с api.telegram.org:443 (вс, 22 апреля 2018 21:00:06 +0300)
Можно как-то прикрутить tor?
Аватара пользователя
paxom
phpBB 1.4.1
Сообщения: 43
Стаж: 11 лет 4 месяца
Благодарил (а): 2 раза
Поблагодарили: 2 раза

Re: [3.2][beta] Telegram Notifications

Сообщение paxom »

Ладно сам разобрался, если кому интересно
Устанавливаем
sudo apt install tor
раскомментировано в настройках /etc/tor/torrc

Код: Выделить всё


Nickname мойник
ORPort 9001
ExitRelay 0
ControlSocket 0
ContactInfo мой@емаил
RelayBandwidthRate 75 KBytes  (т.к. через открытый порт идет весь другой трафик скрытой сети Tor, в настройках ограничить чужой трафик)  
RelayBandwidthBurst 100 KBytes # But allow bursts up to 200KB (1600Kb)

SOCKSPort 9050 # Default: Bind to localhost:9050 for local connections.
В файле /ext/lassik/telegramnotifications/core/functions.php

Код: Выделить всё

$url = 'https://api.telegram.org/bot'.urlencode($auth).'/'.
                         urlencode($endpoint);
if (!function_exists('curl_version'))
               {
                        $this->set_last_error('PHP cURL support is not enabled');
                       return NULL;
                }
                $curl = curl_init();
                curl_setopt($curl, CURLOPT_URL, $url);
                curl_setopt($curl, CURLOPT_POST, true);
                curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($query));
                curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
               curl_setopt($curl, CURLOPT_FAILONERROR, false);
               curl_setopt($curl, CURLOPT_TIMEOUT, 10);
              $result = curl_exec($curl);
                $curl_error = curl_error($curl);
               curl_close($curl);
был заменен на

Код: Выделить всё

 $url = 'https://api.telegram.org/bot'.urlencode($auth).'/'.
                         urlencode($endpoint);
$proxy = "socks5h://127.0.0.1:9050";
                if (!function_exists('curl_version'))
                {
                        $this->set_last_error('PHP cURL support is not enabled');
                        return NULL;
                }
                $curl = curl_init();
                curl_setopt($curl, CURLOPT_URL, $url);
                curl_setopt($curl, CURLOPT_POST, true);
                curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($query));
                curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
                curl_setopt($curl, CURLOPT_PROXY, $proxy);
                curl_setopt($curl, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
                curl_setopt($curl, CURLOPT_FAILONERROR, false);
                curl_setopt($curl, CURLOPT_TIMEOUT, 10);
                 $result = curl_exec($curl);
                $curl_error = curl_error($curl);
                curl_close($curl);
Аватара пользователя
demonlibra
phpBB 2.0.2
Сообщения: 338
Стаж: 16 лет 8 месяцев
Откуда: Ростов-на-Дону
Благодарил (а): 22 раза
Поблагодарили: 36 раз

Re: [3.2][beta] Telegram Notifications

Сообщение demonlibra »

Как установка сервиса tor на вашем ПК изменит работу сервера?
У Вас форум на личном сервере установлен?
Аватара пользователя
Sumanai
phpBB 3.0.0 RC5
Сообщения: 1668
Стаж: 11 лет 7 месяцев
Благодарил (а): 235 раз
Поблагодарили: 173 раза

Re: [3.2][beta] Telegram Notifications

Сообщение Sumanai »

demonlibra писал(а): 23.04.2018 9:23 У Вас форум на личном сервере установлен?
VPS сейчас идут от 200 рублей, ненамного дороже шареда, зато намного более гибкие.
Аватара пользователя
paxom
phpBB 1.4.1
Сообщения: 43
Стаж: 11 лет 4 месяца
Благодарил (а): 2 раза
Поблагодарили: 2 раза

Re: [3.2][beta] Telegram Notifications

Сообщение paxom »

demonlibra писал(а): 23.04.2018 9:23 Как установка сервиса tor на вашем ПК изменит работу сервера?
У Вас форум на личном сервере установлен?
Да свой сервер, Tor прибавил нагрузку 300 мегабайт на оперативку, и 3% на одно ядро
Sumanai писал(а): 23.04.2018 11:26 VPS сейчас идут от 200 рублей, ненамного дороже шареда, зато намного более гибкие.
У нас общественная организация нам даже эти 200 рублей, неоткуда взять.
Аватара пользователя
Piercer
phpBB 1.2.0
Сообщения: 18
Стаж: 18 лет 1 месяц
Благодарил (а): 2 раза
Поблагодарили: 1 раз

Re: [3.2][beta] Telegram Notifications

Сообщение Piercer »

http://spys.one/socks/
Еще проще, если не ставить tor. Тогда строка будет выглядеть так:
$proxy = "socks5h://97.92.97.218:39880";

В файле /ext/lassik/telegramnotifications/core/functions.php

Код: Выделить всё

$url = 'https://api.telegram.org/bot'.urlencode($auth).'/'.
                         urlencode($endpoint);
if (!function_exists('curl_version'))
               {
                        $this->set_last_error('PHP cURL support is not enabled');
                       return NULL;
                }
                $curl = curl_init();
                curl_setopt($curl, CURLOPT_URL, $url);
                curl_setopt($curl, CURLOPT_POST, true);
                curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($query));
                curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
               curl_setopt($curl, CURLOPT_FAILONERROR, false);
               curl_setopt($curl, CURLOPT_TIMEOUT, 10);
              $result = curl_exec($curl);
                $curl_error = curl_error($curl);
               curl_close($curl);
был заменен на

Код: Выделить всё

 $url = 'https://api.telegram.org/bot'.urlencode($auth).'/'.
                         urlencode($endpoint);
$proxy = "socks5h://97.92.97.218:39880";
                if (!function_exists('curl_version'))
                {
                        $this->set_last_error('PHP cURL support is not enabled');
                        return NULL;
                }
                $curl = curl_init();
                curl_setopt($curl, CURLOPT_URL, $url);
                curl_setopt($curl, CURLOPT_POST, true);
                curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($query));
                curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
                curl_setopt($curl, CURLOPT_PROXY, $proxy);
                curl_setopt($curl, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
                curl_setopt($curl, CURLOPT_FAILONERROR, false);
                curl_setopt($curl, CURLOPT_TIMEOUT, 10);
                 $result = curl_exec($curl);
                $curl_error = curl_error($curl);
                curl_close($curl);
[/quote]
С уважением, Алекс (www.piercer.ru)
Аватара пользователя
southklad
phpBB 3.1.0 RC4
Сообщения: 3459
Стаж: 14 лет 5 месяцев
Благодарил (а): 709 раз
Поблагодарили: 173 раза

Re: [3.2][beta] Telegram Notifications

Сообщение southklad »

А перевода ни у кого нет?
Изображение
Аватара пользователя
paxom
phpBB 1.4.1
Сообщения: 43
Стаж: 11 лет 4 месяца
Благодарил (а): 2 раза
Поблагодарили: 2 раза

Re: [3.2][beta] Telegram Notifications

Сообщение paxom »

igorbond писал(а): 07.08.2018 20:36 А перевода ни у кого нет?
Зачем пару слов перевести, Last error
Success (Sun, 02 Sep 2018 00:44:43 +0300) Это хорошо-Успех
Piercer писал(а): 23.05.2018 23:33 http://spys.one/socks/
Еще проще, если не ставить tor. Тогда строка будет выглядеть так:
$proxy = "socks5h://97.92.97.218:39880";


Они каждый день мигрируют или отваливаются, каждый день править?

Вернуться в «Бета-версии расширений для phpBB»