Рассмотрим простой вариант авторизации на сайте с помощью Телеграм без использования официального виджета.
в бот мы передадим значение в параметре 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-х секундный интервал делает запрос на сервер. Когда ответ с сервера возвращается положительный, скрипт перезагружает страницу.
Telegram web app. Онлайн магазин с корзиной + чат-бот
Если у пользователя обнаружена кука 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
Полезные боты для Telegram-канала
Телеграм набирает все большую популярность. Внешние факторы этому, конечно, способствуют как никогда — геополитическая обстановка и обилие мошенников в интернете обязывают осваивать все новые и новые горизонты. А для арбитражников Телега — рассадник неплохого и конвертабельного трафика.
Топовый антидетект для арбитража | Забирай скидку 20%
Промокод PROTRAFFIC
Телеграм не блочит ни серое, ни черное, а потому отсюда можно лить на практически любую вертикаль, особенно если у вас есть хорошая идея для Телеграм-канала. Вести канал удобнее, когда к нему подключены полезные боты для Телеграм-канала. В этом материале мы решили познакомить вас с топовыми ботами для администраторов в Telegram.
Содержание скрыть
Зачем нужны боты для ТГ-каналов
- Они позволяют задействовать очередной канал коммуникации с целевой аудиторией (в России Телеграмом пользуется около 10 миллионов человек).
- Они быстро выполняют однообразную работу, позволяя разгрузить наемных сотрудников, тем самым экономя деньги компании.
Как добавить бота в Телеграм-канал
Есть боты, которые подключаются к каналам извне. Есть те, которых нужно в него добавить. Сделать это просто.
Перейдите в чат. Откройте настройки канала:
Нажмите кнопку редактировать в верхнем правом углу:
Нажмите на подписчиков
Нажмите “Добавить участников” и найдите нужного бота:
Добавьте бота и выдайте ему права администратора:
Дальнейшие настройки у всех ботов разные, но принцип добавления их в канал — один и тот же.
Боты для ведения каналов
Помимо этих ботов, которые станут полезными для администраторов каналов, можно использовать и других, которые развлекут аудиторию:
Боты для публикации постов
Отличительные функции: мультипостинг, пересылка поста, подробная статистика, учет доходов и расходов канала, кнопка поделиться, возможность отправить ответный пост, просмотр контент-плана с запланированными постами в удобном календаре.
Платный — 199 р/месяц.
Channely — сервис для постинга в каналы от создателей Crosser_Bot, работающий через веб-интерфейс. Есть мультипостинг и функция «переслать» в другие каналы. Из минусов: сервис платный, последнее обновление 14 марта 2019 года. Есть чат ТП, но он слабоват.
В посте остается ссылка на бота, пост может состоять только из одного типа сообщения (картинка, GIF, текст или видео). Функционал в целом достаточно небогатый.
Боты для приветствия
Боты для бана
Боты для статистики
PuzzleBot — конструктор ботов в Telegram, с помощью которого бота можно подключить на свои каналы и чаты для: мультипостинга, отправки нескольких сообщений в посте, отложенного постинга, редактирования отправленных сообщений, сбора статистики, добавления кнопок, реакций, удаления системных сообщений, приветствия и отправки триггеров.
Боты для парсинга
Помимо этих ботов можно еще воспользоваться сервисами:
Telereg.ru — сервис для авторегистрации аккаунтов. Это доступно на бесплатной версии, платная же может порадовать функциями приглашений, рассылки сообщений и парсинга профилей. Регулярно обновляется.
A-Parser.com — собирает всевозможные медиа буквально отовсюду. Это универсальная программа, потому что она генерирует парсеры в разных местах социальных онлайн площадок. Пользователи применяют ее в выгрузке ссылок, их сборе.
Telegram-Soft.org — помимо парсингла, так же имеет функции приглашений, накруток и рассылок. Программа совместима с приватными ссылками.
Боты для связи с администратором канала
Боты для платной подписки
Как зарабатывать в Telegram? По-разному. Один из вариантов заработка — это создавать вип-каналы с уникальным контентом по платной подписке.
Боты для опросов
Для создания опросов так же можно использовать ботов. В этом помогут специальные боты для составления опросников:
Возможные проблемы при работе с ботами
Боты — это программы. Рано или поздно вы можете столкнуться с ошибками в их работе. Расскажем о самых популярных четырех проблемах и путях их решения.
Бот не работает. Иногда временно может повиснуть любой бот. У большинства Телеграм-помощников есть контакты для обратной связи, можно обратиться за помощью по оставленным контактам в информационном поле.
Бот просит заплатить. Иногда разработчики включают возможность доната, это не обязательное действие, но предложение появляется после завершения каждой задачи, и его работа останавливается. Можно просто игнорировать это. Условно бесплатные боты обычно присылают предупреждения о том, что какой-то функционал является платным.
Бот просит права администратора. Такое случается, особенно если дело касается ботов парсеров Телеграм, которые должны передавать информацию в канал. Права нужно будет выдать — иначе бот работать не будет.
Бот публикует чужую рекламу. Такое случается, когда хозяева ботов пытаются его монетизировать. Чаще всего об этом предупреждают заранее. Если нет, единственный способ бороться с этой проблемой — просто бота отключить.
Полезных ботов гораздо больше, чем удалось вместить в этот материал. Надеемся, те TG-боты для арбитражников,SEO-специалистов и просто администраторов ТГ-каналов, о которых мы рассказали в этом материале, будут полезны в вашей работе.
Источник: protraffic.com
Как создать чат-бота в Телеграм самостоятельно
Система объединяет в одном окне все мессенджеры, социальные сети и чаты. Обращение клиента нельзя пропустить, ответ будет мгновенным.
Попробовать бесплатно
Аудитория Telegram прошла рубеж в 27 млн активных пользователей в России еще в 2020 году и остается самой быстрорастущей для мессенджеров. По понятным причинам бизнес переходит в Telegram, используя боты для продаж и коммуникации с клиентами. Их можно научить отправлять сообщения-автоответы, добавлять переменные, отправлять веб-хуки, сохранять данные про пользователей, сегментировать аудиторию и делать много другого полезного по работе с клиентами.
Нужно помнить, что бот для Телеграм — это все еще приложение, программа. Создать бота может кто угодно, но вот чтобы обучить, нужно уметь программировать. Если вам незнакомы понятия Python, JavaScript или Flask, API, cgi и HTTP-интерфейс, вряд ли получится написать бота вручную. Но есть решение — конструкторы. В этой статье мы расскажем, как создать бота для телеграмма с нуля, если вы не программист. Но сначала общие сведения.
Общие сведения
Бот — это интерактивное приложение, программа, если хотите — интерфейс к вашему серверу. Бот умеет запускать разные варианты предустановленных сценариев в ответ на нажатие кнопки или какое-то слово. По сути, бот имитирует живое общение.
Зачем нужны боты
Чтобы автоматически обрабатывать и отправлять сообщения. Пользователь может написать вашему боту в обычном чате или канале, и тот ему ответит по заранее разработанному скрипту. Он имитирует живое общение и может выпытывать у юзеров полезную для бизнеса информацию: номера телефонов, э-мейлы, анкетные данные и переносить их в переменные. Его можно научить выполнять команды, рассылать сообщения, отвечать на вопросы клиентов и делать все то, что менеджер раньше делал вручную.
Это можно использовать в бизнесе:
- презентовать себя и продукт
- делать массовые рассылки с новостями
- регистрировать на мероприятия, делать запись на консультацию
- организовать выбор еды в меню для доставки, бронь столиков
- давать ответы на часто задаваемые вопросы
- организовать первичную обработку сообщений в службу поддержки
- сделать сервис оплаты и доставки товаров
- подписать пользователей на обновления
- организовать выбор врача и запись для клиники
- организовать сбор обратной связи, отзывов по продуктам и услугам, т.д.
Любые из этих действий можно упаковать в бота и не делать это вручную. Главное — грамотно продумать логику его поведения. Для примера: вот как выглядит бот для продажи курсов и консультаций от семейного психолога.
Что могут делать боты
Боту можно поручить любую функцию, которую в мессенджере может выполнить человек. Он не просто выполнит ее лучше, но и во много раз быстрее.
- Настроить для коммуникации с клиентами. Бот будет отвечать на сообщения, подбирать продукты, собирать контакты и заявки, давать инструкции, ссылки на оплату, распределять между менеджерами
- Интегрировать с любыми другими сервисами. Например, его можно научить управлять умным домом в приложении, подбирать картинки или gif-анимации в Яндексе под ключевые слова или отвечать на комментарии пользователей в вашем канале
- Использовать как утилиту. Например, бот может отображать юзерам погоду по запросу в конкретном городе, делать автоматический перевод текста, проводить опросы или сообщать о каком-то событии, например, появлении нового товара
- Использовать как интерактив. Бот может играть в шахматы, проводить викторины, тестировать знания пользователей, присылать анекдоты или подбирать вид кофе по вашему знаку зодиака
- Применять для социальной коммуникации. Например, учитывать интересы и предпочтения людей при поиске собеседника, подбирать музыкальные проигрыватели для меломанов
В самом Telegram говорят, что бота можно научить делать что угодно, если это не мытье посуды.
BotFather
С его помощью можно настраивать ранее созданных ботов или создавать новых. Напишите ему, следуйте инструкциям и он поможет вам сделать бота самостоятельно, добавить его и активировать. Правда, все инструкции на английском языке. Ниже — наш пошаговый алгоритм для создания бота на русском.
Как создать бота в Телеграм
2. Придумать название. Можно вписать любое имя, какое хочется. оно будет отображаться в контактах и чатах.
3. Придумать логин. Пишем боту придуманное название и он предлагает нам выбрать для бота логин. Программа предупредит, что логин должен заканчиваться на «bot». Логин должен быть уникальным, программа не пропустит имя пользователя, если оно уже занято. А еще он должен быть написан на латинице (с цифрами и нижним подчеркиванием), содержать от 5 до 32 символов.
3. Сохранить токен. Бот-отец пришлет вам токен вашего бота. Сохраните его в текстовом файле, например, в блокноте. Это ключ для доступа к HTTP API, с помощью которого вы будете программировать робота, получать и отправлять сообщения. Запомнить получится вряд ли, выглядит он примерно вот так:
4. Добавить аватар, описание, приветственное сообщение. Жмем /help и получаем перечень базовых команд. Тут будут в том числе команды для изменения описания (/setdescription), информации о боте (/setabouttext), для загрузки аватара (/setuserpic) и другие. Мы их продублировали в разделе про настройки.
Теперь бот создан, сохранен и активирован. Но чтобы научить его выполнять какие-то функции и отвечать на команды, бот нужно обучить. Для этого нужно работать с языками программирования, уметь писать код и использовать Bot API — HTTP-интерфейс для работы с ботами в Telegram. Или воспользоваться одним из сервисов-конструкторов. Они помогают создавать логику работы ботов без особых проблем и навыков программирования. О них ниже.
Создание токена
Настройки бота
/setname — коррекция имени робота
/setdescription — коррекция описания. Это краткая характеристика создаваемого бота, что он умеет. Это описание будет видно другим пользователям
/setabouttext — коррекция информации. Это описание профиля, еще короче, чем дескрипшн. Если человек даст кому-то ссылку на вашего бота, то второй человек получит это короткое описание вместе со ссылкой
/setuserpic — коррекция аватарки. Иллюстрация — это всегда хорошо, люди смогут идентифицировать вашего бота в списке контактов по картинке
/setcommands — коррекция перечня команд робота. Это команды в формате «/команда». Их увидят пользователи при использовании вашего бота
/setprivacy — настройка приватности. Нужна на случай, если вы хотите подключить бота в группу включить или ограничить его возможность видеть групповые сообщения
/deletebot — удаляет вашего бота
Источник: okocrm.com