Add exception в Телеграмме

Как запретить посторонним писать вам в Telegram? Если время от времени вы получаете сообщения в Telegram от совершенно незнакомых людей и хотите предотвратить это, хорошая новость в том, что это возможно, и мы покажем вам, как это сделать.

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

Как запретить посторонним писать вам в Telegram?

Автоматически архивировать неизвестные чаты

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

How to add exception never allow users On Telegram


Лучшие VPN для PS4 и как их использовать?

Как запретить посторонним писать вам в Telegram?

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

Чтобы настроить Telegram на автоматическое хранение сообщений от неизвестных людей, необходимо перейти на боковую панель приложения и войти в Настройки. Затем перейдите в раздел Конфиденциальность и безопасность, и, наконец, вы найдете опцию Архивировать и отключать звук в разделе Новые чаты от незнакомцев.

Эта опция проста: когда вы получаете новое сообщение от человека, которого нет в вашем списке контактов, вы не получаете уведомления и оно не отображается в основном списке сообщений, а автоматически архивируется. Архивированные сообщения доступны, сгруппированы в верхней части списка чата.

Еще по теме:  Как добавить стикеры с Телеграмма в Ватсап на iOs

Скрыть заархивированные чаты

Если вы отвлекаетесь от неизвестных сообщений, вы можете скрыть заархивированные чаты.

Как получить URL-адрес профиля LinkedIn за четыре простых шага?

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

Таким образом, вы узнали, как запретить посторонним писать вам текстовые сообщения в Telegram.

Источник: ru.techbriefly.com

Как сделать уведомления в телеграм на PHP

Привет! Сегодня поговорим о том, как можно отправить себе сообщение в телеграмме с помощью PHP. Это удобно использовать, когда нужно получить уведомление о каком-то событии, произошедшем на бэкенде. Например, я таким образом получаю уведомления о новых комментариях к урокам.

/newbot

В ответ он попросит написать ему имя бота. Я назвал своего PhpZoneNotifier. Пишем, отправляем.

После этого он попросит прислать username для бота — это адрес, используемый в телеге для поиска пользователей. Username бота должен заканчиваться словом bot. Я выбрал в качестве юзернейма phpzonenotifier_bot. Отправляем.

  • Привет, мир!
  • Развернуть строку
  • Чётные числа
  • Числа Фибоначчи

токен бота

В ответ получаем токен вида 123:ABCDEF. С помощью этого токена мы можем авторизоваться в телеге от имени этого бота.

user id в телеге

После того, как мы получили auth token бота и наш id, можно приступать к написанию кода для отправки. Телеграм предоставляет довольно простой API для этого дела. Всё что нужно — это отправить POST-запрос на адрес:

https://api.telegram.org/bot/sendMessage

Где вместо подставить токен бота, полученный выше.

В теле запроса нужно передать 2 параметра:

  • chat_id — сюда передаём наш id пользователя
  • text — сюда передаём текст сообщения

Для отправки запроса я использовал Guzzle.

post(‘https://api.telegram.org/bot1869549332:AAGhlRm5*************/sendMessage’, [ RequestOptions::JSON => [ ‘chat_id’ => 298160970, ‘text’ => $text, ] ]); > catch (Exception $e) < var_dump($e->getMessage()); > > >

После чего пытаемся отправить сообщение, вызвав:

TelegramNotifier::notify(‘lol kek cheburek’);

И видим, что произошло исключение. var_dump вывел следующее:

Так происходит потому что у бота нет чата с вами. Это защита телеги от рассылки спама — чтобы боту было позволено вам писать, вы сначала должны сами написать боту. Так что просто пишем нашему новому боту /start и снова пробуем запустить наш PHP-скриптик.

Еще по теме:  Слишком много попыток повторите позже удаление аккаунта Телеграмм

Получаем наше заветное уведомление.

уведомление от бота

Изи. Не забываем убрать отладочный var_dump из кода и добавить корректную обработку исключений.

Источник: php.zone

Авторизация пользователей через Telegram

Александр Менщиков

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

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

Настройка бота

Для использования виджета вам понадобится Telegram-бот.

Скопируйте токен бота, через которого вы хотите производить авторизацию пользователей.

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

Настройка виджета

На сайте можно получить код виджета и выбрать его внешний вид. К сожалению, возможностей для его произвольного конфигурирования на данный момент нет т.к. виджет встраивается на сайт посредством iframe.

Встраивание на сайт

После того, как пользователь нажмёт на кнопку, 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 функцию, которая будет вызвана после успешной авторизации.

Эту функцию нужно передать в аттрибуте 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) «abba<..>1345» >

На первом шаге из массива извлекается значение по ключу 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.

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