Бот в Телеграм просмотр страниц

Рассказываем о полезных ботах и сервисах, с помощью которых ведение, администрация и модерация Telegram-каналов и чатов станет намного проще.

ControllerBot

Это самый известный и популярный бот в Telegram. Его используют для постинга публикаций.

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

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

FleepBot

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

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

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

ТОП-10 ПОЛЕЗНЫХ Ботов Телеграм: Фильмы, Музыка, Книги, Игры, Анонимный чат и др

Combot

Этот сервис поможет вам управлять группами и чатами через сайт.

Среди его возможностей — детальная аналитика, настройки модерации, система репутации, триггеры, предупреждения, а также система антиспам и различные отчеты.

ChatKeeperBot

Еще одна платформа, которая позволяет модерировать чаты.

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

TGStat

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

Среди возможностей сервиса — аналитика каналов, которая обновляется каждый день, отслеживание упоминаний, а также прием заявок на рекламу и установление стоимости рекламной публикации.

Telemetr

Еще один крупный сервис, где можно найти публичную аналитику Telegram-каналов. Здесь есть также рейтинг каналов, поиск по каналам и постам, к тому же, искать можно даже Telegraph-статьи.

Еще по теме:  Скачать всех подписчиков в ТГ из группы

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

Crosser_Bot

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

Бот анализирует, сколько подписчиков пересекается, какое количество подписчиков у канала, кто из аудитории бот, кто живой человек и сколько удаленных аккаунтов. А также показывает статистику аудитории по последнему входу и времени жизни на канале.

Shmalala

Это бот, работающий на искусственном интеллекте. Он может общаться с участниками чата с помощью машинного обучения.

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

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

Авторизация на сайт через Телеграм без использования официального виджета

Рассмотрим простой вариант авторизации на сайте с помощью Телеграм без использования официального виджета.

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

запустим JS скрипт, который будет с интервалом в 2 секунды делать AJAX запрос на сервер для проверки появления в базе записи переданного в бот значения, и в случае обнаружения произведет авторизацию пользователя

Для начала создадим таблицу users в базе MySQL (используйте кодировку utf8mb4_unicode_ci )

CREATE TABLE IF NOT EXISTS `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `telegram_id` bigint(20) DEFAULT NULL, `first_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, `last_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, `username` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, `auth_key` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

index.php

Этот файл будет выводить ссылку на авторизацию через бот в случае, если пользователь не авторизован. JS скрипт вешает на ссылку прослушку на событие click с функцией, которая через 2-х секундный интервал делает запрос на сервер. Когда ответ с сервера возвращается положительный, скрипт перезагружает страницу.

Еще по теме:  Знак дорожный управляемый переменной информации тип a Telegram

Если у пользователя обнаружена кука token то скрипт делает запрос в бд и получает первое и второе имя пользователя, которые выводит вместе с ссылкой на выход. При обработке действия «Выход», скрипт просто удаляет куку и перезагружаем страницу.

Не забудьте указать ___USERNAME__ВАШЕГО__БОТА___

else < // подключаем соединение с БД require_once(«Db.php»); // создаем объект соединения $db = new Db(); // проверяем на авторизацию if($_COOKIE[‘token’]) < // проверяем на корректность if(!preg_match(‘~^[a-f0-9]+$~’, $_COOKIE[‘token’])) < // выходим если проверка не прошла exit(); >// делаем запрос в БД $order = $db->connect()->prepare(«SELECT * FROM users WHERE auth_key = :key LIMIT 1″); $order->execute([‘key’ => $_COOKIE[‘token’]]); // если запись есть то работаем if ($order->rowCount() > 0) < $orderRaw = $order->fetch(); // Выводим имя echo trim($orderRaw[‘first_name’] .’ ‘.$orderRaw[‘last_name’]).» | «; // ссылка на выход echo «Выход»; > else < // удаляем кукку header(«Location: index.php?act=logout»); >> else < // генерируем ключ $key = md5(rand(0, 1000)); /////////////////////////////////////////////// //// username Bot /////////////////////////////////////////////// $bot = «___USERNAME__ВАШЕГО__БОТА___»; // создаем ссылки на авторизацию echo » jQuery(function ($) < $(«body»).on(«click», «.link_auth», function () < var auth_key = $(this).data(«key»); var timerId = setInterval(function () < $.ajax(< type: «GET», dataType: «json», url: «checkKey.php», data: < key: auth_key >, success: function (data) < if (data.result == «success») < clearInterval(timerId); setTimeout(function () < location.reload(); >, 1000); > > >); >, 2000); >); >); > ?>

webHook.php

init(); ?>

Auth.php

После инициализации объекта, передаем данные от Bot API в роутер, в котором определяем, что делать с данными. Нас интересует объект message с переданным значением параметра start в виде ключа из 32 символов. Его мы передаем в метод авторизации.

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

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

Еще по теме:  Лента новостей в Телеграмме как сделать

Не забудьте указать ___TOKEN__ВАШЕГО__БОТА___

Db.php

Класс для получения соединения с базой данных. Укажите данные ваших настроек базы данных.

pdo)) < $this->setPdo(); > return $this->pdo; > /** * Создаем соединение с БД */ private function setPdo() < // задаем тип БД, хост, имя базы данных и чарсет $dsn = «mysql:host=».$this->host.»;dbname=».$this->db.»;charset=».$this->charset; // дополнительные опции $opt = [ // способ обработки ошибок — режим исключений PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, // тип получаемого результата по-умолчанию — ассоциативный массив PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, // отключаем эмуляцию подготовленных запросов PDO::ATTR_EMULATE_PREPARES => false, // определяем кодировку запросов PDO::MYSQL_ATTR_INIT_COMMAND => «SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci» ]; // // записываем объект PDO в свойство $this->pdo $this->pdo = new PDO($dsn, $this->user, $this->pass, $opt); > > ?>

checkKey.php

Этот файл принимает AJAX запрос со страницы index.php когда пользователь нажимает ссылку для авторизации. Он по ключу проверяет наличии записи в базе, и в случае обнаружения обновляет ключ, записывает куки и возвращает положительный результат.

+$~’, $key)) < exit(json_encode([‘result’=>’error’])); > // создаем массив для возврата результата $data = []; // обращаемся в БД — проверяем наличие записи с переданным ключом $order = $db->connect()->prepare(«SELECT * FROM users WHERE auth_key = :key LIMIT 1»); $order->execute([‘key’ => $key]); // если запись есть то работаем if ($order->rowCount() > 0) < $orderRaw = $order->fetch(); // создаем новый ключ $new_key = md5(rand(0, 1000));; // записываем новый ключ в БД $update = $db->connect()->prepare(«UPDATE users SET auth_key = :new_key WHERE // если обновили то авторизуем if ($update->execute([‘id’ => $orderRaw[‘id’], ‘new_key’ => $new_key])) < // ставим куку setcookie(‘token’, $new_key); // возвращаем результат $data[‘result’] = «success»; >else < $data[‘result’] = «error»; >> else < $data[‘result’] = «error»; >// возвращаем результат echo json_encode($data); ?>

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

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

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