Что нового?
Иконка ресурса

Плагины xenforo 2 [Telegram] Core 2.0.4.1

Нет прав для скачивания
  • Автор Xenru
  • Дата создания
  • Теги
    [telegram] core
  • Ваша группа достигла максимального количества скачиваний в день.
Совместимость с XenForo
2.2
Поднимаем свой прокси-сервер

Добавляет возможность авторизоваться через Telegram Login Widget. Из-за особенностей работы последнего, вместо моментального редиректа на Telegram, происходит открытие страницы с предложением нажать на кнопку авторизации.
P.S.: Т.к. провайдеры блокируют доступ к серверам Telegram, скорее всего, кнопка авторизации Telegram не будет видна без VPN/прокси. Для них предусмотрен вариант перехода в клиент Telegram.

1


Подробный разбор установки 2.х
С 1.х многое поменялось. Что-то стало проще, что-то - сложнее. Мне показалось, что будет разумнее написать один большой пост про установку и ссылаться, в случае чего, на него. Ну и ссылку на него в описание впилить...
В этом "подробном" разборе будет опущена процедура скачивания архива, его распаковки и загрузки на удалённый сервер посредством любого протокола (FTP / SFTP / WebDav) с последующим нажатием кнопки Установить в админке. Это такие банальные вещи, которые надо уже уметь делать без явных уточнений, что и как.
  1. Переходим в Telegram и через поиск находим "отца ботов" (@BotFather).
  2. В диалоге с ним нажимаем Start.
  3. В ответ, отец напишет Вам, что он помогает с созданием и управление ботами в Telegram, и выведет перечень всех команд, которые он для этого знает. Нас интересует /newbot. Нажимаем на неё прямо в сообщении.
    Трюк с нажатием на команду в тексте сообщения точно работает в официальных клиентах. Если у Вас - неофициальный, наберите/скопируйте её руками и отправьте в чат как обычно.
    В ответ последовательно сообщаем отцу имя нашего бота и его имя пользователя.
  4. В ответ, отец пришлёт нам токен бота. На скриншоте ниже, его местоположение будет выделено красной рамочкой.
    1573929394429.png
    Обратите внимание на предостережение отца ботов касательно токена. Никому его [токен] не показывайте! Это важно!
  5. Для возможности использовать авторизацию через Telegram, нам так же нужно сообщить отцу ботов, на каком домене располагается наш сайт. Для этого, мы либо листаем в диалоге выше, находим команду /setdomain и нажимаем левой кнопкой мыши по ней, либо вводим её вручную в чате.
    В вылезшей клавиатуре выбираем нашего бота и отправляем в ответ чисто домен (без протокола; пример ниже).
    Клавиатура может вылезть, а может и не вылезть.
    Своего первого бота я делал в 2016 году, и с тех пор утекло много воды. Всех деталей я не помню.
    Но, на данный момент, на моём аккаунте приличное кол-во аккаунтов ботов (не менее 10 штук), и я всегда вижу эту клавиатуру. Вылезает ли она, когда бот один - я, соответственно, не помню.
    1573929741515.png
  6. На этом наши приготовления бота завершены. Если необходимо - можете так же через отца задать аватарку (/setuserpic) или изменить имя (/setname). Изменить тег бота не представляется возможным на данный момент. Если Вы на этом этапе резко осознали, что выбрали плохой тег боту - самое время удалить бота (/deletebot) и сделать его с нуля.
  7. Переходим на форум и заходим в панель администратора (/admin.php). В меню сбоку заходим в Setup → Service providers → Connected accounts, в списке находим Telegram и нажимаем левой кнопкой мыши по нему.
  8. В отличие от 1.х, где нам нужно было ввести и имя бота в определенном формате (без символа собаки) и токен, в 2.х теперь нужен только токен. Его и заполняем, выбираем способ авторизации и нажимаем Save.
    Если при сохранении вылезает ошибка, а токен верный (и без пробелов в начале или в конце)...
    Похоже, Ваш хостинг-провайдер чтит законы РФ и блокирует доступ к Telegram. Поздравляем.
    На эти случаи, аддон имеет возможность настройки прокси-сервера. Она локальная и распространяется только на запросы к Telegram API.
    В Setup → Options находим Telegram (/admin.php?options/groups/smodders_telegram/). Там будет опция Proxy connection string. В неё нам нужно ввести адрес прокси-сервера в определённой URL-схеме (для тех, кому нужны подробности - на странице настроек, прямо в описании данного пункта есть ссылочка).

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

    Свои сервера я стараюсь держать в максимальном аптайме, но иногда что-то идёт не по плану. О таких проблемах, когда хостинг-провайдер точно не причём (и даже клиент Telegram отказывается работать) можно сообщать мне напрямую в ЛС.
  9. В настройках аддона (Setup → Options находим Telegram (/admin.php?options/groups/smodders_telegram/)) включаем веб-хуки в идеале для того, чтобы все выполняемые действия с ботом (новые сообщения, например, к нему от кого-то; нужно если выбрали Direct способ авторизации) приходили на наш сервер самостоятельно.
    Если Вы до сих пор сидите без HTTPS, можете даже не пробовать включать веб-хуки. Telegram без HTTPS присылать веб-хуки откажется, и единственно верным решением для Вашей ситуации будет лонг-поллинг (крон-задача), но тут надо понимать, что по-умолчанию, cron-задачи обрабатываются XF только когда кто-то заходит на сайт, потому задумайтесь об установке хотя бы Lets Encrypt сертификата.
Готово. Можно проверить, всё ли работает. Хоть из админки.
Если выбран Direct способ, и бот Вам ничем не отвечает (читай: не работает) после установки веб-хуков (если Cron - нужно время, чтобы задача сработала), есть два возможных корня проблемы:
  1. Хостинг-провайдер чтит законы, и блокирует входящие запросы от Telegram.
    Честно, редко такое вижу (на ру-хостах, да), но оно есть. На такие случаи реализован "финт ушами" в виде проксирования веб-хуков.
    На GitHub опубликован скрипт, который все входящие POST-запросы с типом application/json "реплицирует" на полученный в GET-параметрах адрес. Такой простой, но действенный "финт ушами".
    Я его тоже захостил. Кому необходимо - значение для настройки https://one.oracle.kruzya.me/telegramWebHookProxy.php?_target={webHook}
  2. "Анти-ддос" сервисы (привет, CloudFlare).
    Решается добавлением IP-адресов Telegram в белый список на файрволе. Подсети IP-адресов, откуда приходят веб-хуки, опубликованы на сайте Telegram, но если Вам мешает РКН - 149.154.160.0/20 и 91.108.4.0/22 (актуально на 16.11.2019).

Вот и вся настройка. Всё не так сложно, как кажется.
По мере необходимости, пост буду дополнять.

Для просмотра этого контента нам потребуется ваше согласие на установку файлов cookie третьих лиц.
Более подробную информацию можно найти на нашей странице cookie.
Автор
Xenru
Скачивания
1
Просмотры
129
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

Другие ресурсы пользователя Xenru

Похожие ресурсы

[Telegram] Core Xenru
Предоставляет возможность авторизоваться через Telegram
0.00 звёзд 0 оценок
Скачивания
1
Обновлено
Уведомления с форума в Telegram
0.00 звёзд 0 оценок
Скачивания
0
Обновлено
[AL] Базовый пакет для AddonsLab - Xenforo 2
0.00 звёзд 0 оценок
Скачивания
2
Обновлено
Библиотека, содержащая вспомогательные функции для надстроек [MMO] для Xenforo 2.
0.00 звёзд 0 оценок
Скачивания
5
Обновлено
Вспомогательное дополнение
0.00 звёзд 0 оценок
Скачивания
0
Обновлено
Теги
[telegram] core
Сверху