Как авторизоваться в мой феникс Телеграмм бот

6 февраля 2018 года команда Telegram анонсировала запуск Telegram Login Widget для внешних сайтов.

Оценить возможности виджета можно по ссылке: https://testwidgetbot.herokuapp.com/

Виджет предназначен для авторизации на сайте с помощью Telegram.

Виджет представляет собой кнопку с надписью Log in with Telegram. При нажатии на эту кнопку появляется окно, в которое пользователь должен ввести свой номер телефона. Введенный номер телефона не будет сообщен администратору сайта.

После ввода номера телефона пользователю придет уведомление в Telegram от пользователя Telegram следующего содержания:

Андрей, we received a request to log in on testwidgetbot.herokuapp.com with your Telegram account. To authorize this request, tap the ‘Confirm’ button below. Browser: Firefox on Linux IP: xx.xx.xx.xx (Russia) If you didn’t request this, tap ‘Decline’ or ignore this message.

Под сообщением будет две кнопки: Accept и Decline . При нажатии Decline запрос авторизации будет проигнорирован. При нажатии Accept запрос авторизации будет принят.

денежный бот телеграмм правда или нет надо ждать пока что

Как только пользователь примет запрос авторизации в приложении Telegram, сайт получит информацию об авторизованном пользователе.

Создание бота Telegram

Для реализации системы авторизации необходимо создать бота.

Если введенное имя уже занято, то будет предложено ввести другое. Если имя свободно, то BotFather пришлет токен созданного бота. Токен представляет собой строку вида xxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx и предназначен для авторизации бота.

Подключение домена

В целях безопасности Telegram требует привязать созданного бота к доменному имени. Для этого нужно отправить боту BotFather команду /setdomain . Бот спросит, к какому боту относится команда (необходимо выбрать созданного ранее бота), после чего ввести домен, к которому будет привязан созданный бот. Например, example.com .

Еще по теме:  Как создать два аккаунта Телеграмм на один номер

Теперь можно разместить бота на любой странице example.com .

Для корректной работы виджета авторизации необхоидимо размещать сайт на 80 или 443. То есть, если при разработке запускается тестовый сервер, например, http://example.com:5000/ , то виджет авторизации работать не будет. Поддомены тоже не работают, то есть разместить виджет на http://demo.example.com/ не получится. Несколько доменов командой /setdomain указать нельзя.

Возможно, эти недочеты будут устранены в дальнейшем.

Генерация кода виджета авторизации

На странице сайта example.com , в том месте страницы, где необходимо разместить виджет авторизации необходимо разместить виджета. Для получения скрипта можно воспользоваться генератором на странице документации Telegram.

В генераторе нужно ввести следующие параметры.

В моем случае получился такой код:

Сгенерированный код необходимо скопировать и вставить на странице сайта.

Обработка запроса на сервере

При подтверждении пользователем авторизации на сайте, в зависимости от выбранного параметра “тип авторизации”, либо выполнится JavaScript-функция, либо пользователь будет перенаправлен на страницу Callback URL. В качестве GET-параметров на эту страницу будут переданы данные пользователя.

Рассмортрим второй вариант.

Callback URL в моем случае https://testwidgetbot.herokuapp.com/register/ . Telegram не требует, чтобы этот URL совпадал частично или полностью с доменом, который установлен /setdomain

Рассмотрим на примере. Предположим что клиент с chat_id 8951599, именем Andrey, фамилией S, авторизовался на сайте в момент времени 1518613843. Тогда после подтверждения авторизации он будет перенаправлен на URL:

Параметр hash служит для проверки данных. На странице документации приведен алгоритм, по которому следует проводить валидацию данных. Я разработал класс для проверки данных по этому алгоритму, он доступен по ссылке:

Использовать класс следует следующим образом:

from .utils import HashCheck secret = os.getenv(‘BOT_TOKEN’).encode(‘utf-8’) if not HashCheck(request.GET, secret).check_hash(): # Hash не верен else: # Hash верен

Еще по теме:  Как назвать группу с друзьями прикольно в Телеграмме

Переменная окружения BOT_TOKEN должна содержать токен бота.

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

Заключение

В статье описан общий принцип работы авторичзации пользователя на сайте с использованием Telegram Login Widget. В статье используется технологии Python и Django, однако принцип может быть реализован с применением любых технологий, позволяющий обработать GET-запрос.

Источник: ansmirnov.ru

Телфин.Бот в Telegram

Телфин Бот — это простой способ оперативно получать оповещения о полученных и пропущенных звонках в Telegram.

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

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

Таким образом, бот сообщит вам:

  • о всех звонках на определенный номер;
  • о пропущенных звонках в очереди (например, в отдел продаж);
  • о всех ваших личных звонках как пропущенных, так и принятых с возможностью оперативного доступа к записи конкретного разговора.

Источник: www.telphin.ru

Рейтинг
( Пока оценок нет )
Загрузка ...