Как связать пользователей своего сайта с их аккаунтами телеграмм?

Ссылка скопирована
1 ответ

Добрый день! Подскажите, как связать пользователей своего сайта с их аккаунтами в телеграмм?
Бота создал, но что делать дальше не совсем понимаю.

Дополнительно:

Сам как раз изучаю этот вопрос и буду рад, если более опытные товарищи расскажут более правильный вариант.

Пока так: даете пользователю перейти по ссылке вида https://t.me/ИМЯ_БОТА?start=ТОКЕН.
В токене шифруете ID пользователя и подпись (чтобы посторонний не подделал обращение).
Он переходит по ссылке, подтверждает подписку на вашего бота, боту приходит сообщение, в котором есть и ID чата, и вот это сообщение с токеном, из которого вы вынете ID пользователя, которому надо прописать этот чат.

  • Да это вариант, есть еще его менее автоматизированная версия, в ЛК на сайте показать пользователю этот ТОКЕН, он потом его руками боту пишет. Еще можно сделать у себя на сайт логин через телеграм https://core.telegram.org/widgets/login
  • Everything_is_bad, ну, авторизация через телегу - дело перпендикулярное.
    Собственно, она этот вопрос просто исключает за ненадобностью, как я понимаю.
  • Вопрос, а токен - его произвольно сформировать можно?
    и второй вопрос, а как из бота передать данные на свой сайт, чтоб привязать по токену ID пользователя из телеги?
  • Adamos, аутентификация ;)
    Дмитрий, вот прям же в ответе про токен всё написали, а по второму вопросу, ты владелец и бота, и сайта, есть 100500 способов обмена информации, самый простой, ботом про это записать в БД сайта.
  • Дмитрий, токен вы и формируете, и разбираете сами, так что содержание произвольное.
    Простейший бот отправляет сообщения и принимает их. Вы его точно дописали? ;)
    Принимает либо через вебхук, но для этого нужен HTTPS на сайте, либо периодическими запросами.
    Если бот должен делать, скажем, ежедневную рассылку - достаточно периодических запросов.
  • А наоборот можно?
    В телеге бот отправляет кнопочку, нажимая на нее тебя перенаправляет на сайт с урл, в котором указан ID пользователя и чтонибудь еще, чтобы потом на сайте ты уже мог понять кто к тебе пришел?
  • Saboteur, для интерактивного бота можно реализовать схему:
    - юзер нажимает кнопочку в боте, телега отправляет сообщение от этого юзера боту
    - бот разбирает сообщение, получая chat_id, и возвращает юзеру ссылку на сайт, в параметрах которой этот самый chat_id
    - юзер переходит на сайт, сайт сопоставляет chat_id и ID юзера на сайте.
    Минус в том, что по той же ссылке теоретически может зайти другой юзер... но почвы для злоупотреблений пока не представляю. Разве что проблемы, если он начнет этой ссылкой делиться ;)
  • А так, чтобы при нажатии кнопки юзер сразу переходил на сайт?
    В телеге сейчас есть игры, и я не очень понимаю как реализован запуск игры с передачей идентификации на сайт
  • Хотя, только что придумал, все просто. Надо кнопку менять при каждом нажатии
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Алексей Денисов Ответ

Для связывания пользователей своего сайта с их аккаунтами Telegram можно использовать Telegram Bot API. Вот пример того, как можно реализовать данную функциональность на сайте, используя PHP:

1. Создайте бота в Telegram с помощью официального бота @BotFather. Получите токен вашего бота.

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

3. На сайте создайте форму, в которой пользователи могут ввести свой Telegram ID (узнать его можно, например, через бота @userinfobot).

4. Обработайте отправку формы на сервере. Ваш PHP-код может выглядеть примерно так:

$token = 'YOUR_BOT_TOKEN';
$chat_id = 'YOUR_CHAT_ID';
$user_id = $_POST['telegram_id'];
 
$message = 'Новый пользователь с Telegram ID: ' . $user_id;
 
$url = 'https://api.telegram.org/bot' . $token . '/sendMessage?chat_id=' . $chat_id . '&text=' . urlencode($message);
 
file_get_contents($url);

$token = 'YOUR_BOT_TOKEN'; $chat_id = 'YOUR_CHAT_ID'; $user_id = $_POST['telegram_id']; $message = 'Новый пользователь с Telegram ID: ' . $user_id; $url = 'https://api.telegram.org/bot' . $token . '/sendMessage?chat_id=' . $chat_id . '&text=' . urlencode($message); file_get_contents($url);

5. При получении уведомления в группе вы можете связать Telegram ID пользователя с его аккаунтом на сайте и сохранить эту информацию в базе данных.

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

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно