[Telegram] Core
Предоставляет возможность авторизоваться через Telegram
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #1
ITnull добавил(а) новый ресурс:

[Telegram] Core 2.0.5 Alpha 7 - [Telegram] Core 2.0.5 Alpha 7

firefox_2018-05-02_12-21-34.png

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

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

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

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

Вот и вся настройка. Всё не так сложно, как кажется.
По мере необходимости, пост буду дополнять.
 
Последнее редактирование модератором:
Регистрация
02.06.21
Донат
50.00 ₽
Сообщения
12,619
Решения
1
Симпатии
13,119
Веб-сайт
itnull.info
  • Последнее редактирование модератором:
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #3
Последнее редактирование модератором:
Распаковать на сервере с дополнением поверх уже установленного оригинального, перестроить мастер-данные дополнения:

1620200071607.png

После должно заработать без проблем.

В архив включил только изменившиеся файлы, потому обязательно наличие ранее установленного этого дополнения. Либо хотя бы загруженного на сервер архива из ресурса. Полноценный патч, пригодный так же для раскатки через админку, будет вечером. Он же в ресурс и будет загружен.
 

Вложения

  • SModders-TelegramCore-2.0.5 Alpha 7_patch.zip
    11.8 KB · Просмотры: 0
Последнее редактирование модератором:
Регистрация
02.06.21
Донат
50.00 ₽
Сообщения
12,619
Решения
1
Симпатии
13,119
Веб-сайт
itnull.info
  • Друг форума
  • Программист
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #4
iTnull обновил(а) ресурс [Telegram] Core 2.0.5 Alpha 7 новой записью:

[Telegram] Core v2.0.5 Alpha 9

Это - альфа-версия дополнения. Я не гарантирую её стабильную работоспособность и всё в этом духе. Установка исключительно на Ваш страх и риск.
Т.к. это альфа-версия, собранный билд не был опубликован на Гите.

Полный список изменений​

Изменено


Узнать больше об этом обновлении...
 

Создайте аккаунт или войдите, чтобы комментировать

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

Зарегистрироваться

Создайте учетную запись. Это просто!

Авторизация

Уже есть аккаунт? Авторизуйтесь.

Сверху Снизу