Блоком привязки к боту Телеграмм

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 запрос авторизации будет проигнорирован.

Телеграм Бот на Java Обработка команд привязкой к пользовательскому вводу

При нажатии 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-параметров на эту страницу будут переданы данные пользователя.

Отложенный постинг в Телеграм бот. Блок ТАЙМЕР в Лидтех Telegram Bot

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

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 верен

Еще по теме:  Chrome 112 выйди из Телеграмм

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

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

Заключение

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

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

Как подключить StarLine к Telegram.

Кроссплатформенный мессенджер для гаджетов Telegram сегодня пользуется большой популярностью. Для таких клиентов StarLine интегрировал в Telegram StarLineSmartBot. Подробности и инструкция по подключению ниже.

Информация о количестве средств на SIM-карте охранно-телематического комплекса, уровень заряда аккумулятора, температура салона и температура двигателя благодаря специальному помощнику StarLine BOT теперь в вашем Telegram. К одному боту можно подключить несколько автомобилей. Telegram предоставляется ограниченный доступ (права) к каждому автомобилю. Необходимая информация обо всех ваших автомобилях будет доступна одним нажатием кнопки. Количество команд будет увеличиваться.

Инструкция подключения к Telegram BOT StarLine.

Установите на вашем компьютере, телефоне или планшете клиент мессенджера Telegram. Вы можете использовать как мобильную, так и web-версию Telegram.

В поиске Telegram найдите бота StarLineSmartBot:

или, если вы находитесь на сайте, перейдите по ссылке, которая находится на странице предоставления прав:

После выбора бота, нажмите кнопку «Start», расположенную в самом низу мессенджера. Вы получите сообщение о необходимости предоставить доступ в личном кабинете starline.online:

На сайте starline.online найдите в настройках пункт «Управление доступом», выберите пункт «Telegram» и нажмите кнопку «Открыть доступ»:

После принятия соглашения на экране появится окно с PIN-кодом:

Еще по теме:  Слышу самого себя в Телеграмме

Отправьте сообщение с PIN-кодом боту на вашем устройстве и ждите ответа бота: «Доступ успешно предоставлен»:

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

Бот Telegram StarLineSmart полностью безопасен. Доступ предоставляется только к сервисным функциям, которые не могут повлиять на безопасность владельца и автомобиля, даже в случае потери или взлома учетной записи Telegram

Произвести запуск двигателя через бот Telegram StarLineSmart или посмотреть геозоны нельзя в целях безопасности.

Для удаления привязки бота Telegram StarLineSmart необходимо на сайте starline.online в настройках управления доступом удалить бота: снимите галочку в соответствующем пункте меню и вы будете отключены от сервиса.

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

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