Как авторизоваться в чат боте Телеграмме около

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

в бот мы передадим значение в параметре 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-канала

Rabbit verh

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

Топовый антидетект для арбитража | Забирай скидку 20%
Промокод PROTRAFFIC

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

Содержание скрыть

Зачем нужны боты для ТГ-каналов

  1. Они позволяют задействовать очередной канал коммуникации с целевой аудиторией (в России Телеграмом пользуется около 10 миллионов человек).
  2. Они быстро выполняют однообразную работу, позволяя разгрузить наемных сотрудников, тем самым экономя деньги компании.

Как добавить бота в Телеграм-канал

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

Перейдите в чат. Откройте настройки канала:

Полезные боты для Telegram-канала

Нажмите кнопку редактировать в верхнем правом углу:

Полезные боты для Telegram-канала

Нажмите на подписчиков

Полезные боты для Telegram-канала

Нажмите “Добавить участников” и найдите нужного бота:

Полезные боты для Telegram-канала

Добавьте бота и выдайте ему права администратора:

Полезные боты для Telegram-канала

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

Боты для ведения каналов

Помимо этих ботов, которые станут полезными для администраторов каналов, можно использовать и других, которые развлекут аудиторию:

Боты для публикации постов

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

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

Общие сведения

Бот — это интерактивное приложение, программа, если хотите — интерфейс к вашему серверу. Бот умеет запускать разные варианты предустановленных сценариев в ответ на нажатие кнопки или какое-то слово. По сути, бот имитирует живое общение.

Зачем нужны боты

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

Это можно использовать в бизнесе:

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

Любые из этих действий можно упаковать в бота и не делать это вручную. Главное — грамотно продумать логику его поведения. Для примера: вот как выглядит бот для продажи курсов и консультаций от семейного психолога.

Что могут делать боты

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

  • Настроить для коммуникации с клиентами. Бот будет отвечать на сообщения, подбирать продукты, собирать контакты и заявки, давать инструкции, ссылки на оплату, распределять между менеджерами
  • Интегрировать с любыми другими сервисами. Например, его можно научить управлять умным домом в приложении, подбирать картинки или 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

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