В бета-версии Telegram для iOS под номером 8.6 появилась возможность создавать ссылку на свою учётную запись в виде номера телефона (t.me/+1xxxxx).
Об этом пишет «Код Дурова». До сих пор ссылки можно было делать только в формате никнейма — t.me/nickname. Однако телефонный формат ссылки будет доступен другому пользователю только в двух случаях:
- если номер телефона находится в ваших контактах;
- если установлено значение «Кто может видеть мой номер телефона: Все» в в разделе настроек «Конфиденциальность и безопасность» > «Номер телефона».
Сообщается также, что Telegram уже создал публичные номера телефонов службы поддержки мессенджера. Для России, Украины, Казахстана и Узбекистана — это t.me/+42470.
Комментировать
Новости партнеров
Новости партнеров
ferra.ru, 2023 г. 18+
Нашли опечатку? Выделите текст и нажмите Ctrl+Enter
Все права защищены. Полное или частичное копирование материалов Сайта в коммерческих целях разрешено только с письменного разрешения владельца Сайта. В случае обнаружения нарушений, виновные лица могут быть привлечены к ответственности в соответствии с действующим законодательством Российской Федерации.
How to Find Telegram User ID on iPhone (EASY!)
Источник: www.ferra.ru
Авторизация пользователей через Telegram
Недавно Telegram добавил поддержку виджета для авторизации пользователей на сайте. Мы решили поэкспериментировать с ним и составить простую инструкцию, как настроить такую авторизацию самостоятельно.
В качестве примера будем использовать код на PHP, однако, данные шаги актуальны и для других языков программирования.
Настройка бота
Для использования виджета вам понадобится Telegram-бот.
Название и аватарка выбранного вами бота будут показаны пользователю во всплывающем окне. А вы получите возможность отправлять пользователю личные сообщения через этого бота.
Настройка виджета
На сайте можно получить код виджета и выбрать его внешний вид. К сожалению, возможностей для его произвольного конфигурирования на данный момент нет т.к. виджет встраивается на сайт посредством iframe.
Встраивание на сайт
$BOT_USERNAME = ‘codex_cloud_bot’; $BOT_TOKEN = ‘558<. >728:AWBEwgUg<. >HBKuiINt’; $REDIRECT_URI = ‘http://ifmo.su/auth/callback’; ?>
После того, как пользователь нажмёт на кнопку, Telegram готов отправить вам данные любым из двух способов:
- Отправить пользователя на ваш сайт путём редиректа, передав информацию о нём в GET параметрах.
- Вызвать JavaScript функцию, передав в неё информацию о пользователе в качестве аргументов.
На данный момент поддерживаются следующие данные о пользователе:
- id – уникальный идентификатор пользователя в Telegram
- first_name, last_name – фамилия и имя из профиля пользователя
- username – уникальное имя из профиля
- photo_url – ссылка на аватарку пользователя в виде https://t.me/i/…/user.jpg
- auth_date – дата авторазации
- hash – HMAC-подпись ответа на основе секретного токена бота
Получение данных через JavaScript callback
Выберите в конструкторе виджета опцию Authorization Type: Callback. Сгенерированный в результате код виджета содержит JavaScript функцию, которая будет вызвана после успешной авторизации. function onTelegramAuth(user)
Эту функцию нужно передать в аттрибуте data-onauth тега
Вы можете произвольным образом реализовать функцию onTelegramAuth. Например, послать AJAX запрос на сервер с полученными аргументами.
Получение данных через Redirect
Выберите в конструкторе виджета опцию Authorization Type: Redirect to URL и введите URL, на который вы хотите получить запрос с данными пользователя. Например, введите адрес http://example.com/auth/telegram.
На странице обработки можно положить скрипт index.php следующего содержания:
Проверка данных пользователя
Чтобы удостовериться в правильности полученных данных, нужно проверить hash. Разработчики Telegram приводят пример кода проверки, добавим эту функцию в код из файла index.php
function checkTelegramAuthorization($auth_data) < $check_hash = $auth_data[‘hash’]; unset($auth_data[‘hash’]); $data_check_arr = []; foreach ($auth_data as $key =>$value) < $data_check_arr[] = $key . ‘=’ . $value; >sort($data_check_arr); $data_check_string = implode(«n», $data_check_arr); $secret_key = hash(‘sha256’, BOT_TOKEN, true); $hash = hash_hmac(‘sha256’, $data_check_string, $secret_key); if (strcmp($hash, $check_hash) !== 0) < throw new Exception(‘Data is NOT from Telegram’); >if ((time() — $auth_data[‘auth_date’]) > 86400) < throw new Exception(‘Data is outdated’); >return $auth_data; >
Разберём механизм работы функции проверки. В качестве аргумента она получает массив с данными пользователя
. array(7) < [«id»]=>string(7) «1831337»
[«first_name»]=> string(18) «Александр»
[«last_name»]=> string(16) «Менщиков»
[«username»]=> string(5) «n0str»
[«photo_url»]=> string(36) «https://t.me/i/userpic/100/n0str.jpg» [«auth_date»]=> string(10) «1518168109»
[«hash»]=> string(64) «abba1345» >
На первом шаге из массива извлекается значение по ключу hash и сохраняется в переменной.
На втором шаге массив преобразуется к виду key=value и сортируется в лексикографическом порядке. Полученные данные склеиваются в одну строку через разделитель “n” (код символа – 0xA0)
Далее происходит проверка равенства HMAC-SHA-256 подписи этой строки и значения сохранённого hash. Дополнительно проверяется не устарела ли auth_date.
В случае успеха, функция возвращает исходный массив без параметра hash.
Авторизация пользователя на сайте
Добавим в файл код вызова функции проверки
if (isset($_GET[‘hash’])) < try < $auth_data = checkTelegramAuthorization($_GET); echo «Hello, » . $auth_data[‘username’]; >catch (Exception $e) < die ($e->getMessage()); > >
Пользователь увидит сообщение с приветствием в случае успешной авторизации. Теперь вы можете сохранить информацию о нём в базу данных и привязать его ID к текущей сессии.
Пример кода из рабочего проекта
try < $profile = $tg->checkTelegramAuthorization($_GET); $id = $profile[‘id’]; $user = Model_User::findByAttribute(‘telegram_id’, $id); if ($user->is_empty()) < $user = new Model_User(); $user->telegram_id = $id; . $user->save() > else < . >>
Кастомизация кнопки
Сейчас из-за ограничений iframe нельзя изменить внешний вид кнопки. Однако, если возникла сильная необходимость, можно обойти это ограничения с помощью clickjacking.
КАК НАПИСАТЬ ЧЕЛОВЕКУ В ТЕЛЕГРАММЕ ПО ID
Чтобы отправить сообщение пользователю, найдите его в результатах поиска, нажмите на его имя и откройте его профиль. Кликните на значок сообщения и введите ваше сообщение. После того, как вы написали сообщение, нажмите на кнопку отправки.
Если у пользователя нет имени пользователя, и вы знаете только его ID, вы можете написать сообщение, используя ссылку https://t.me/ user_id , где user_id — id пользователя.
Стоит отметить, что если пользователь не зарегистрирован в Telegram, вы не сможете отправить ему сообщение.
Также стоит обратить внимание, что некоторые пользователи могут настроить свой аккаунт так, чтобы получать сообщения только от людей в своем списке контактов. В этом случае ваше сообщение может не доставиться до пользователя, если он не добавил вас в свой список.
Как взломать Телеграм в 2023? — Анонимность Телеграм.
Как найти человека в телеграмме ЗА ПАРУ ШАГОВ
Как узнать местоположение по номеру телефона! Как следить за человеком по номеру!
Как узнать ID СКАМЕРА — Как узнать ID пользователя Телеграм
Как написать человеку личное сообщение в телеграмме .
Как Создать Два Аккаунта в Телеграмме на Один Номер
Как написать человеку в Телеграм не добавляя его номер в контакты
Как найти человека в Телеграмме по нику, имени, телефону
Как получить 100 голды бесплатно. Стандофф 2. Лёгкий баг.
Источник: tgme.pro