Бот для сообщения телн ответа Телеграмм

Представьте, что у вас есть свой канал в Телеге. Допустим, вы высказываете непопулярную политическую точку зрения и, соответственно, ловите хейт в личку со стороны читателей и проходящих мимо.

Или, например, вы продаете что-то через свой канал. Клиентов так много, что один «продажник» (=вы) не справляется. Или поддержка вашего бизнеса отвечает всем в публичном чате, который прикреплен к вашему каналу. Но многие стесняются задать вопросы, так как их могут увидеть, поэтому пишут в личку, что не масштабируется.

Проблем много, а решение одно: сделать Телеграм бот, который будет работать посредником между вашими клиентами и командой поддержки.

Мое мнение: это самый лучшее применение телеграм ботов за всю историю их существования. На втором месте — рассылка закрытой информации через бота только проплатившим пользователям.

Самый популярный конструктор таких ботов — Livegrambot. Он позволяет сделать тоже самое, но при этом бот будет писать вашим пользователям «я сделан через Livegrambot», выпрашивая деньги у вас. Будучи умелым создателем Телеграм ботов, я решил сделать свой аналог, но уже с открытым исходным кодом и легким способом запустить его бесплатно на бесплатные серверы.

Создание телеграм-ботов на python (telebot) #4 / Ответы на сообщения, именованный аргумент func

Ниже я расскажу, как в 1 клик запустить такого бота и как он технически устроен.

TL;DR: Код выложил сюда

Юзер стори или как с этим ботом работать.

  • Ваши Пользователи (читатели канала, клиенты),
  • Закрытый Чат Поддержки (где сидят те, кто будет отвечать на вопросы Пользователей),
  • Бот (которому Пользователи будут писать свои вопросы).

Вот так это все будет работать:

  1. Вы публикуете ссылку на Бота,
  2. Пользователи пишут в него свои вопросы,
  3. Бот пересылает их сообщения в ваш Чат Поддержки,
  4. В этом чате вы или ваши помощники отвечают на сообщение (через reply),
  5. Бот пересылает ответ обратно пользователю от своего лица, скрывая аккаунт отвечающего.

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

Как это все запустить? Желательно, без навыков

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

В README.md я добавил волшебную кнопку от Heroku, которая поможет запустить код из репозитория. После нажатия, при наличии аккаунта на Heroku (который можно создать также по 1 кнопке), вы увидите такую картину:

Heroku уже понял, какие данные нужно запросить у вас, у создателя, чтобы все завелось автоматически. Давайте пройдемся по этим параметрам:

— App name: название приложения в системе Heroku. Можно придумать любое.

— Choose a region: где Хероку запустит ваш код. Можно выбрать любое место.

— HEROKU_APP_NAME
: впишите сюда тоже самое, что указали выше в App name (это важно для того, чтобы завести тг бота через вебхуки).

Еще по теме:  Как в Телеграм сделать что не видно было регион в котором я живу

— TELEGRAM_SUPPORT_CHAT_ID : айдишник чата, куда Телеграм бот будет пересылать сообщения пользователей. Как узнать его — смотрите ниже.

— TELEGRAM_TOKEN : токен вашего бота, который можно получить у BotFather.

Как узнать TELEGRAM_SUPPORT_CHAT_ID

Способов много, но самый простой — это добавить вот этого бота в ваш созданный приватный чат. Этот бот возвращает все данные, которые ему присылает Телеграм, в частности событие «меня добавили в чат», откуда вы и сможете извлечь chat_id .

Как реализовать такого бота?

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

Примеры кода я буду писать на языке Python и использовать библиотеку python-telegram-bot . Итогда я буду вставлять ссылки на GitHub (гит), чтобы легко можно было найти этот кусок кода в моем репозитории.

Хендлеры (обработчики событий)

Для нашей задумки необходимы всего 3 хендлера (гит):

from telegram.ext import Updater from telegram.ext import CommandHandler, MessageHandler, Filters updater = Updater(TELEGRAM_TOKEN) dp = updater.dispatcher # Для приветственного сообщения и для «к вам подключился » dp.add_handler(CommandHandler(‘start’, start)) # Для пересылки из бота в чат поддержки dp.add_handler(MessageHandler(Filters.chat_type.private, forward_to_chat)) # Для пересылки ответа из чата обратно пользователю dp.add_handler(MessageHandler(Filters.chat(TELEGRAM_SUPPORT_CHAT_ID)

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

Создание Telegram бота на PHP #3: примеры отправки сообщений с кнопками в Telegram

В новом уроке мы с вами рассмотрим отправку базовых запросов в Telegram. Я покажу вам как отправлять простые текстовые сообщения в Telegram, как отправлять кнопки и дополнительные клавиатуры.

Всю информацию по параметрам запросов мы будем брать из официальной документации Telegram
https://core.telegram.org/bots/api/

Все ответы от Telegram приходят в виде JSON строки. Для удобного отображения массива ответа в браузере, советую вам установить специальное расширение для браузера, которое называется JSON Viewer

  • С помощью параметра text вы можете передать текст кнопки
  • параметр url указывает ссылку, если вам нужно сделать кнопку для перехода на внешний ресурс
  • параметр callback_data указывает строку которая будет возвращена после нажатия на кнопку. Данную строку используют как команду.

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

Таким образом, для создания 2 кнопок в одном ряду, мы будем использовать следующий код

. ‘reply_markup’ => json_encode(array( ‘inline_keyboard’ => array( array( array( ‘text’ => ‘Button 1’, ‘callback_data’ => ‘test_2’, ), array( ‘text’ => ‘Button 2’, ‘callback_data’ => ‘test_2’, ), ) ), )), .

Для создания 2 рядов по 2 кнопки используйте код

. ‘reply_markup’ => json_encode(array( ‘inline_keyboard’ => array( array( array( ‘text’ => ‘Button 1’, ‘callback_data’ => ‘test_2’, ), array( ‘text’ => ‘Button 2’, ‘callback_data’ => ‘test_2’, ), ), array( array( ‘text’ => ‘Button 3’, ‘callback_data’ => ‘test_3’, ), array( ‘text’ => ‘Button 4’, ‘callback_data’ => ‘test_4’, ), ) ), )), .

И для создания одной кнопки в первом ряду и 2 — во втором, используйте следующий код.

. ‘reply_markup’ => json_encode(array( ‘inline_keyboard’ => array( array( array( ‘text’ => ‘Button 2’, ‘callback_data’ => ‘test_2’, ), ), array( array( ‘text’ => ‘Button 3’, ‘callback_data’ => ‘test_3’, ), array( ‘text’ => ‘Button 4’, ‘callback_data’ => ‘test_4’, ), ) ), )), .

Надеюсь, я смог объяснить данную тему доступно, если у вас будут вопросы, пишите их в нашем Telegram канале.

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

Отправка клавиатуры в чат

Аналогичные параметры имеет и массив для отправки клавиатуры в чат. Для создания клавиатуры пропишем следующий код.

. ‘reply_markup’ => json_encode(array( ‘keyboard’ => array( array( array( ‘text’ => ‘Тестовая кнопка 1’, ‘url’ => ‘YOUR BUTTON URL’, ), array( ‘text’ => ‘Тестовая кнопка 2’, ‘url’ => ‘YOUR BUTTON URL’, ), )), ‘one_time_keyboard’ => TRUE, ‘resize_keyboard’ => TRUE, )), .

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

Ключ inline_keyboard заменяется на keyboard.

А так же для клавиатуры добавляются 2 дополнительных параметра:

  • one_time_keyboard — скрыть клавиатуру, как только она была использована. Клавиатура по-прежнему будет доступна, но клиенты будут автоматически отображать обычную, буквенную клавиатуру в чате — пользователь может нажать специальную кнопку в поле ввода, чтобы снова увидеть пользовательскую клавиатуру. Значение по умолчанию равно false.
  • resize_keyboard — изменяет размер клавиатуры по вертикали для оптимальной подгонки (например, уменьшить клавиатуру, если есть только два ряда кнопок). По умолчанию установлено значение false, и в этом случае пользовательская клавиатура всегда имеет ту же высоту, что и стандартная клавиатура приложения.
  • В новом уроке мы с вами разобрали самый популярный метод для работы с Телеграм ботами — sendMessage. Данный метод позволяет отправлять текстовые сообщения с привязанными кнопками и клавиатурами.
  • Научились удалять сообщения
  • Разобрали какие бывают типы кнопок и научились создавать массивы для гибкой структуры вывода дополнительных клавиатур и кнопок.

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

Дополнения к записи от 04.11.2022

Дополнение от доброго комментатора с сайта Habr, с ником FanatPHP — https://habr.com/ru/users/FanatPHP/

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

function curl($url, $data = [], $method = ‘GET’, $options = []) < $default_options = [ CURLOPT_RETURNTRANSFER =>true, CURLOPT_HEADER => false, CURLOPT_SSL_VERIFYPEER => false, ]; if ($method === ‘GET’) < $url .= (strpos($url, ‘?’) === false) ? ‘?’ : ‘ $url .= http_build_query($data); >if ($method === ‘POST’) < $options[CURLOPT_POSTFIELDS] = http_build_query($data); >if ($method === ‘JSON’) < $options[CURLOPT_POSTFIELDS] = json_encode($data); $options[CURLOPT_HTTPHEADER][] = ‘Content-Type:application/json’; >$ch = curl_init($url); curl_setopt_array($ch, array_replace($default_options, $options)); $result = curl_exec($ch); if ($result === false) < throw new ErrorException(«Curl error: «.curl_error($ch), curl_errno($ch)); >curl_close($ch); return $result; >
$token = «5340791844:AAEXXDduvInvQrlykV91USOQSevrPVU»; $url = «https://api.telegram.org/bot$token/sendMessage»; $getQuery = array( «chat_id» => 1424625511, «text» => «Новое сообщение из формы», «parse_mode» => «html» ); echo curl($url, $getQuery);

На этом всё!
Больше интересных статей в нашей группе — https://vk.com/progtime
Вы так же можете разместить свой вопрос на нашем форуме, где другие программисты смогут вам помочь в решение вашей задачи — https://vk.com/prog_time
Так же прокачивайте свои навыки на нашем канале — https://www.youtube.com/c/ProgTime

Наши планы

  • Написание материала для курса по разработке ботов на Telegram
  • Разработка универсального парсера на PHP

Поддержите мой сайт!

Каждый переведённый донат, мотивирует на создание новых записей и уроков на YouTube

Источник: prog-time.ru

Система переговоров

isoho.pro предлагает уникальный чат-bot на базе Telegram для коммуникации между сотрудниками компании и их клиентами.

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

Применение:

  • Для интернет-магазинов, как онлайн-сервис для обслуживания клиентов с поддержкой в реальном времени
  • Для внутренней переписки между сотрудниками организации, распределенной сети или холдинга
Еще по теме:  ТГ бот расставлять занятый

telegram support bot

Рис. 1. Главный интерфейс support-бота

Помимо основных функций Telegram-бот поддержки оснащён дополнительными возможностями.

Для бота:

  • Работа через любой браузер и на любой ОС
  • Совместимость с другими ботами, режим «bot-bot». Например, принимать/отправлять почту в приложении Telegram, если у вас подключен наш бот для проверки e-mail или смс-сообщения
  • Совместимость с группами
  • Авторизация бота по паролю или кодовому слову для активации нужного сценария
  • В случае использования дополнительного пароля для авторизации в bot, возможность распределять входящие сообщения автоматически, по папкам или пользователям, в зависимости от пароля/фразы при авторизации
  • Планировщик заданий автоматических оповещений. Например, отправлять сообщение одному человеку или всей группе в заранее заданную дату и время
  • Получать сообщения из Viber, Вконтакте

Для работы персонала:

  • Неограниченное число подключенных сотрудников

бот технической поддержки

Рис. 2. Интерфейс управление локальными пользователями

  • Внутренний чат для переписки между работниками компании
  • Индивидуальные входящие сообщения для каждого пользователя, вы не пропустите ни одного сообщения из-за того, что оно было прочитано кем-то другим
  • Группы Администратор и Пользователь с разграничением прав функционала в админ-панеле
  • Права на группы. Администратор может назначать права, кто может читать/писать/не видеть содержимое группы

Рис. 3. Разграничение прав на группы

Для работы с клиентами:

  • Задавать собственные имена клиентам
  • Поиск
  • Делать заметки
  • Передавать клиента внутри чата между локальными пользователями
  • Закреплять абонента за определенным менеджером, как на время беседы, так и навсегда. Сообщения, закрепленных клиентов за менеджером не отображаются у остальных пользователей бота
  • Распределение для удобства по группам. Например, Водители, Руководители, Москва
  • Громкое оповещение — функция позволяет отправить сообщение сразу для всей группы или нескольким сотрудникам

Рис. 4. Громкое оповещение

Опционально:

  • Создание стоп-листов — заблокированные клиенты не могут писать в чате
  • Быстрые фразы — функция для автоподстановки готовых скриптов в общении, чтобы не набирать их или вставлять из буфера обмена
  • Режим день/ночь — возможность настроить определенные сценарии и распределять входящие сообщения в зависимости от времени суток
  • Использовать цветовое деление пользователей. Например, красить потенциальных заказчиков в зеленый цвет, а горячих в оранжевый
  • Настроить стоп-слова или контрольные слова. Т.е., если они упоминаются в чате, то настраивать для таких слов сценарий к действию
  • Статус для работников организации «в-сети/не-в-сети» — возможность устанавливать свой статус для того, чтобы закрепленные клиенты, например на время отпуска, не остались без ответа, и отправленные ими сообщения перенаправлялись на свободных или конкретных сотрудников
  • Функция автосекретарь. Если сообщение в группе VIP или от любого другого пользователя (зависит от ваших настроек), в течение определенного времени не прочитано, отправлять ответ: менеджеры сейчас заняты и обязательно вам ответят, либо уведомлять об этом руководителя
  • Подключать в разговор других абонентов или работников компании, так же исключать их из беседы
  • Уведомление руководителя в случае «стоп-слов» в чате
  • Ведение аналитики

Что входит в стоимость разработки:

  1. Регистрация нового доменного имени или размещение на субдомене вашего сайта
  2. Размещение бота на нашем или любом другом хостинге
  3. В случае, размещения на нашем хостинге, первый месяц в подарок, далее 3000 рублей каждый месяц
  4. Установка и настройка автопродления SSL-сертификата
  5. Поддержка в течение 1 рабочей недели

Стоимость: 99 000 руб.

У вас остались идеи, которых тут не хватает? Мы реализуем их для вас!

Источник: isoho.pro

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