Чат-бот — канал персонализированной коммуникации с клиентами, способ автоматизировать взаимодействие с клиентом, разгрузить операторов службы поддержки, автоматизировать продажи и даже собрать данные о соискателе для HR-специалиста.
В статье приводим примеры реальных чат-ботов Oriflame, сети магазинов «Дочки-Сыночки», Skeddy и Apex Pizza. А также пошаговую инструкцию для создания бота конференции с нуля без помощи разработчика и пример бота для интернет-магазина одежды.
Как создать чат-бота в Telegram
Чат-бот — канал персонализированной коммуникации с клиентами, способ автоматизировать взаимодействие с клиентом, разгрузить операторов службы поддержки, автоматизировать продажи и даже собрать данные о соискателе для HR-специалиста.
В статье приводим примеры реальных чат-ботов Oriflame, сети магазинов «Дочки-Сыночки», Skeddy и Apex Pizza. А также пошаговую инструкцию для создания бота конференции с нуля без помощи разработчика, и пример бота для интернет-магазина одежды.
Телеграм бот на Python / #10 – Выгрузка бота на сервер
- Какие задачи бизнеса помогает решить чат-бот
- Что поручить чат-боту
- Как создать чат-бота
- Выбрать конструктор
- Подготовиться: задача, аудитория, сценарий
- Собрать бота в конструкторе
Какие задачи бизнеса помогает решить чат-бот
Создать канал персонализированной коммуникации с аудиторией
Бот рассылает сообщения на темы, которые выбрал пользователь. Через него можно запустить триггерные цепочки и массовые рассылки. Например, бот Oriflame отправляет:
— триггерные цепочки. Если подписчик выбрал тему рассылки «Ароматы», он сразу получит ссылки на тематические товары — духи;
— массовые рассылки об условиях для консультантов;
— каскадную рассылку о брошенной корзине. Вместо одного email о брошенной корзине подписчик получает цепочку: сначала письмо в email, а если не открывает его, через час получает сообщение от бота.
Экономить на расходах на службу поддержки
Сократить время ожидания для клиента
В чат-бот загружают базу данных и все сценарии, которыми пользуются операторы поддержки. Если все правильно настроить, бот найдет ответ на запрос пользователя за пару секунд. Оператор, даже очень опытный, отвечает гораздо медленнее.
Разгрузить операторов в пиковые часы
В часы наплыва запросов, например в «черную пятницу», операторы не успевают быстро отвечать. Клиентам приходится ждать, и они часто уходят, так и не решив свою проблему. Чат-бот поможет разгрузить клиентскую службу. Он займется простыми запросами, а операторы ― нестандартными ситуациями, с которыми бот не справится.
Сократить время обработки заказа
Бот принимает заказ, выписывает нужный товар со склада, формирует документы для службы доставки за пару секунд и не ошибается.
Например, ресторан русской кухни «Алтай» на острове Пхукет с помощью чат-бота Telegram оформляет доставку еды. Бот знакомит пользователя с меню, принимает заказ, предлагает выбрать способ доставки (курьер или самовывоз) и оплаты (наличными или картой), принимает оплату и передает данные о заказе в CRM.
Автоматизировать внутренние процессы компании
Бот рассылает нужным сотрудникам описание задачи, инструкцию, форму отчета. Собирает готовые отчеты, сводит их в один общий. И передает итоговый отчет со всеми данными руководителю или сотрудникам из другого отдела.
Собрать данные о кандидате для HR-менеджера
Бот анализирует резюме и проводит с подходящими соискателями «интервью», чтобы выяснить, насколько они заинтересованы в вакансии и соответствуют ли формальным требованиям. Обрабатывает ответы соискателя и назначает (или не назначает) встречу с рекрутером. Соискатели задают боту вопросы о компании и будущей должности, не дожидаясь, пока ими займется HR-менеджер.
Так работает HR-бот XOR. В боте можно настроить любые сценарии собеседования, даже ответы на вопросы с помощью искусственного интеллекта. Бот реагирует на отклик на вакансию, общается с кандидатом и решает, нужно ли назначить встречу с рекрутером. Он договорится о собеседовании и примет у кандидата нужные документы.
Но у бота есть недостаток ― он не знает, как себя вести в нестандартной ситуации. Он действует по сценарию: пользователь выбирает кнопку с командой, бот присылает сообщение. Если сделать что-то не по сценарию, например написать незнакомую команду, бот не сможет ее выполнить. Поэтому нужен оператор службы поддержки, на которого бот переключит пользователя с нестандартным запросом.
Что поручить чат-боту
Продавать товары или услуги. Например, по ссылке из сообщения бота клиент переходит в карточку товара, выбирает способ доставки и оплачивает заказ сразу в чате.
Присылать напоминания. Например, о просроченных задачах или важных событиях.
Отвечать на вопросы клиентов. Например, присылать подборки товаров по ключевому слову из запроса.
Онбордить новых сотрудников. Например, напоминать о рабочих встречах или сообщать контакты коллег.
Источник: mindbox.ru
Как быстро создать Telegram-бота в 2023-м году — инструкция для новичков
Софт
- Бот службы-поддержки.
- Отложенный постинг и оформление постов на каналах.
- Фидбек-боты (дабы не забивать ленту чатами с клиентами).
В этой статье я расскажу о том, как можно создать таких ботов быстро и без навыков программирования. На это у тебя уйдет не более 5 минут.
Содержание
- Создаем токен в BotFather
- Как кастомизировать бота
- №1. Создаем бота обратной связи
- №2. Делаем бота для выкладки и оформления постов
- №3. Создаем бота техподдержку с искусственным интеллектом
- Итоги
Создаем токен в BotFather
Это общий шаг при создании любого бота как в интерфейсе телеграм, так и при помощи языков программирования. Ключ нам понадобится для расширения возможностей пустого бота через, господи, прости меня за тавтологию, других ботов и сервисы.
Как получить токен:
- Переходим сюда
- Нажимаем “Запустить” и в полученном сообщении выбираем “/newbot”.
После чего тебе нужно ввести имя бота (1) и username (2), которые будут отображаться здесь:
Далее BotFather выдаст тебе уникальный токен, который ты можешь использовать для улучшения своего бота (он выделен голубым цветом).
Совет: если хочешь получать халявных клиентов из поисковика телеграм, то укажи в username или имени бота популярное ключевое слово своей ниши.
Как кастомизировать бота
Чтобы изменить бота нажми на [/], далее ткни на /mybots и в появившемся меню выбери своего бота. После чего выпадет ещё одно меню, тут нам нужна кнопка Edit Bot, которая откроет следующие функции:
- Edit Name — изменить имя бота (не путать с username)
- Edit About — добавить описание бота, которое будет отображаться в разделе с аватаркой и в ссылке на бота.
- Edit Commands — сюда можно добавить команды, но здесь уже понадобятся навыки программирования.
- Edit Description — добавить описание, которое будет показываться сразу после открытия бота.
- Edit Botpic — установить аватарку на бота.
С тем как запилить фундамент бота на BotFather и украсить его мы разобрались, теперь перейдем к непосредственному созданию самих ботов.
№1. Создаем бота обратной связи
Такой тип ботов нужен прежде всего тем, кто не хочет забивать свою ленту лишними чатами.
Создаются они достаточно быстро:
- Переходим в Livegram.
- Тыкаем на кнопку /addbot.
- Копируем наш токен бота из BotFather и пересылаем в Livegram.
- Готово.
Этот бот будет пересылать тебе все обращения в виде реплеев, если захочешь делегировать эту задачу на кого-нибудь другого — просто закинь бота в групповой чат и он будет дублировать сообщения автоматически.
№2. Делаем бота для выкладки и оформления постов
Все владельцы каналов в телеграм используют Controller Bot чтобы форматировать свои посты, добавлять в них картинки, реакции и настраивать отложенный постинг.
Инструкция по созданию бота:
- Переходим в Controller Bot.
- Нажимаем кнопку /addchannel чтобы добавить канал.
- Пересылаем токен бота для подключения его к системе.
- Добавляем своего бота в администраторы канала через username.
- Пересылаем любое сообщение из канала.
- Вуаля. Готово.
Теперь твоему боту доступны все функции Controller Bot.
№3. Создаем бота техподдержку с искусственным интеллектом
Тут будет немного посложнее, но результат превзойдет все ожидания. Бот-техподдержка нужен владельцам онлайн-магазинов и другим предпринимателям, которые часто сталкиваются с однотипными вопросами и не хотят тратить на это свое время.
Инструкция:
Переходим на сайт платформы Dialog Flow, регистрируемся и тыкаем на кнопку “+ Create Agent”.
В это поле вводим имя агента, а в разделе Default Language указываем русский дабы бот мог его понимать и общаться на нем.
Жмякаем на кнопку Create и переходим в раздел Integrations, пролистываем вниз и находим Telegram.
Нажимаем на кнопку и добавляем токен бота из BotFather в специальное поле. После чего нажимаем кнопку Start.
Теперь переходим в раздел Intents, нажимаем на синюю кнопку Create Intent и добавляем Training Phrases (фразы, которые будут заставлять бота пересылать те или иные ответы) и Responses (те самые ответы на Training Phrases).
Если объяснять совсем просто, то в раздел с Training Phrases нужно добавить возможные вопросы пользователей, а в раздел с Responses — ответы на них. Под каждую проблему пользователя нужно создавать отдельный Intent.
Советую подробно изучить документацию чтобы использовать все преимущества платформы Dialog Flow и создавать функциональных ботов.
Итоги
Сегодня я рассказал о том, как с нуля создать 3 основных телеграм бота, которые чаще всего используются предпринимателями и контент-мейкерами.
Если тебе понравилась статья, то не забудь отправить её другу, пусть и у него будет свой бот.
Источник: geektarget.ru
Как создать телеграм-бота на Python
Python — самый популярный язык программирования в феврале 2022 года.
Виктория Дербенченко
Автор статьи
16 марта 2022 в 14:39
Телеграм используют более пятисот миллионов людей по всему миру. Компании с его помощью упрощают заказ товаров или услуг, дают консультации. Для этого используют ботов — автоматические программы. Их пишут на разных языках программирования. Рассмотрим, как создать бот на самом популярном в феврале 2022 года языке — Python.
Установите интерпретатор Python
Python — динамически типизированный, интерпретируемый язык. Программы, написанные на нём, не компилируются в исполняемые файлы. Поэтому, чтобы запускать Python-программы, устанавливают его интерпретатор.
На курсе Skypro «Python-разработчик» с этого начинается первый модуль. Вся программа построена от простого к сложному и подходит даже для тех, кто не имеет опыта в программировании и технических знаний. За 10 месяцев можно освоить профессию на уровне уверенного новичка.
️ Windows
Выберите последнюю версию Python
Выберите 64-bit
Поставьте галочку перед установкой напротив Add Python to PATH
pip install virtualenv
❗ Вызов интерпретатора в командной строке Windows отличается от других ОС. Используйте команду py вместо python3.
️ Linux
Если вы используете ОС Linux, вероятно, Python уже установлен. Чтобы проверить, откройте терминал с помощью команды:
python3 —version
Если вы видите что-то вроде Python 3.x.x, то Python есть. В противном случае используйте установленный менеджер пакетов. В основном это apt. Введите команду:
sudo apt install python3
Установите виртуальное окружение с помощью команды:
sudo apt install python3-venv
Python-разработчик: новая работа через 9 месяцев
Получится, даже если у вас нет опыта в IT
️ MacOS
На макбуках Python часто тоже уже есть. Откройте терминал и проверьте с помощью команды:
python3 —version
Ответ Python 3.x.x, а не ошибка, тоже подтверждает, что Python установлен. Если нет — используйте менеджер пакетов brew. Введите команду:
brew install python3
Установите пакет для создания виртуального окружения:
pip install virtualenv
Создайте папки проекта и виртуального окружения
Откройте терминал Linux или MacOS, командную строку Windows. Перейдите в директорию, в которой вы хотите создать проект бота. Последовательно
mkdir myBot cd myBot python3 -m venv env #
или, если вы используете Windows:
py -m venv env #
Эти команды создадут папку проекта myBot внутри текущей рабочей директории. А в ней — папку с виртуальным окружением.
Активируйте окружение, выберите и установите библиотеки
https://sky.pro/media/obzor-biblioteki-pandas/
Чтобы активировать виртуальное окружение на MacOS или Linux, используйте команду
source ./env/bin/activate
source.envbinactivate.bat
Чтобы создавать боты, используют разные библиотеки. Самые популярные: python-telegram-bot с синхронным подходом, aiogram с асинхронным.
Асинхронность позволяет отвлекаться от задач и не ждать ввода от пользователя, поэтому мы будем использовать библиотеку aiogram. Документация по ней — на docs.aiogram.
Используйте менеджер Python-пакетов (pip). Чтобы установить библиотеку aiogram, введите команду:
pip install aiogram
Зарегистрируйте бота и получите API-ключ
Введите команду /newbot и отображаемое имя бота
Теперь введите никнейм бота. Он должен быть уникальным, в конце обязательно слово bot. Когда юзернейм пройдет валидацию, вы получите сообщение с API-ключом.
Никому не сообщайте полученный токен
Примеры ботов
Эхобот
Для начала в папке проекта создайте несколько файлов.
Handlers.py будет хранить функции — обработчики сообщений и команд, main.py нужен для запуска
Напишите в main.py код:
from aiogram import Bot, Dispatcher, executor import handlers API_TOKEN = ‘вставьте сюда ваш токен’ # создаем экземпляры бота и диспетчера bot = Bot(token=API_TOKEN) dp = Dispatcher(bot) # запускаем программу if __name__ == ‘__main__’: # указание skip_updates=True # пропустит команды, # которые отправили # до старта бота executor.start_polling(dp, skip_updates=True)
from aiogram import Bot, Dispatcher, executor import handlers
Здесь из библиотеки aiogram мы импортируем классы Bot, Dispatcher — класс, который регистрирует, на какие команды/сообщения и какой функцией отвечать. И executor — он запускает бота и выполняет функции, зарегистрированные в диспетчере. На второй строке мы импортируем модуль handlers.py — в нём хранят обработчики.
Далее откройте файл handlers.py и напишите в нём пару команд, которые будут обрабатывать запросы:
from aiogram import types # функция, обрабатывающая команду /start async def start(message: types.Message): await message.answer(«Привет!nНапиши мне что-нибудь!») # функция, которая отвечает на сообщение # текстом async def echo(message: types.Message): await message.answer(«Сам ты: » + message.text)
Здесь из модуля aiogram импортируем типы, с помощью которых преобразуем текст сообщения или файлы в структуру данных. Это может быть Message — сообщение, Audio — аудиозапись, Animation — анимация.
Далее определите асинхронные функции, чтобы обрабатывать команды /start и отвечать на сообщения.
Зарегистрируйте эти функции в диспетчере. Для этого в файле main.py добавьте перед запуском программы:
# регистрируем функции dp.register_message_handler(h.start, commands=[«start»]) dp.register_message_handler(h.echo)
В итоге файл main.py выглядит так:
from aiogram import Bot, Dispatcher, executor import handlers API_TOKEN = ‘вставьте сюда ваш токен’ # создаем бота и диспетчер bot = Bot(token=API_TOKEN) dp = Dispatcher(bot) # регистрируем функции dp.register_message_handler(handlers.start, commands=[«start»]) dp.register_message_handler(handlers.echo) # запускаем программу if __name__ == ‘__main__’: # указание skip_updates=True # пропустит команды, # которые отправили # до старта бота executor.start_polling(dp, skip_updates=True)
Чтобы проверить работу, введите в терминале python3 main.py или py main.py на Windows. Откройте бота в телеграме и запустите его
Криптобот
Чтобы написать криптобота, который будет сообщать текущую цену BTC, LTC и DASH, используйте бесплатный API-сервис SoChain. Еще потребуется дополнительная библиотека, чтобы создать асинхронные запросы aiohttp, но ее устанавливают вместе с aiogram.
Создайте новый модуль utils.py. Добавьте в него url-адрес API-сервиса. Чтобы узнавать цену, используйте метод Get Prices. Он возвращает json-объект с данными о цене из нескольких источников. Поэтому напишите функцию, которая вычисляет среднее значение:
BASE_URL = «https://sochain.com/api/v2/» # API URL # функция, чтобы рассчитать цену def calculate_price(data): prices = [float(entity[«price»]) for entity in data[«data»][«prices»]] return f» <(sum(prices) / len(prices)):.2f>USD»
Далее откройте файл handlers.py и напишите код:
from aiogram import types # импортируем библиотеку aiohttp import aiohttp # импортируем из utils все данные from utils import * # обработчик команды /start async def start(message: types.Message): await message.answer(«Привет!nНапиши мне акроним криптовалюты, чтобы узнать текущую цену») # обработчик команды /help async def help(message: types.Message): await message.answer(«Доступные сети:n» + «n».join(networks)) # обработчик запроса цены async def get_price(message: types.Message): session = aiohttp.ClientSession() # создаем GET запрос по закрепленному за методом get_price url async with session.get(BASE_URL + f»get_price//USD») as resp: # получаем ответ в формате json data = await resp.json() # если статус запроса — успешно if data[«status»] == «success»: # рассчитываем цену и отправляем пользователю price = calculate_price(data) await message.answer(price) else: # сообщаем о том, что произошла ошибка await message.answer(«Произошла ошибка»)
Теперь измените main.py файл: зарегистрируйте функции. Затем протестируйте бота:
from aiogram import Bot, Dispatcher, executor import handlers API_TOKEN = ‘вставьте сюда ваш токен’ bot = Bot(token=API_TOKEN) dp = Dispatcher(bot) dp.register_message_handler(handlers.start, commands=[«start»]) dp.register_message_handler(handlers.help, commands=[«help»]) dp.register_message_handler(handlers.get_price) if __name__ == ‘__main__’: executor.start_polling(dp, skip_updates=True)
Когда пользователь укажет неподдерживаемую сеть ETH, бот вернет цену биткоина, потому что так устроен API-сервис. Если он не распознал сеть, то использует BTC
Чтобы исправить ошибку, создайте клавиатуру, которая возвращает нужные значения. Напишите специальный класс Middleware: в нём описываются проверки до и после обработки запроса. Либо проверьте вхождение внутри функции. Последний вариант проще и легче.
Если пользователь отправит неподдерживаемый акроним криптосети, вы сообщите ему об этом. Для этого в файле utils.py определите список поддерживаемых сетей:
networks = [«BTC», «LTC», «DASH»] # <— поддерживаемые сети BASE_URL = «https://sochain.com/api/v2/» # API URL def calculate_price(data): prices = [float(entity[«price»]) for entity in data[«data»][«prices»]] return f» <(sum(prices) / len(prices)):.2f>USD»
Теперь отредактируйте функцию расчета цены криптовалюты в файле handlers.py. Для этого добавьте проверку вхождения сети в список поддерживаемых:
async def get_price(message: types.Message): network = message.text.upper() # приводим сообщение к верхнему регистру # выполняем проверку вхождения if network not in networks: await message.answer(«Вы указали неподдерживаемую криптовалюту») return session = aiohttp.ClientSession() async with session.get(BASE_URL + f»get_price//USD») as resp: data = await resp.json() if data[«status»] == «success»: price = calculate_price(data) await message.answer(price) else: await message.answer(«Произошла ошибка»)
Когда пользователь укажет неподдерживаемую сеть ETH, бот сообщит об этом
Код всех файлов
networks = [«BTC», «LTC», «DASH»] # поддерживаемые сети BASE_URL = «https://sochain.com/api/v2/» # API URL def calculate_price(data): prices = [float(entity[«price»]) for entity in data[«data»][«prices»]] return f» <(sum(prices) / len(prices)):.2f>USD»
import aiohttp from aiogram import types from utils import * async def start(message: types.Message): await message.answer(«Привет!nНапиши мне акроним криптовалюты, чтобы узнать текущую цену») async def help(message: types.Message): await message.answer(«Доступные сети:n» + «n».join(networks)) async def get_price(message: types.Message): network = message.text.upper() if network not in networks: await message.answer(«Вы указали неподдерживаемую криптовалюту») return session = aiohttp.ClientSession() async with session.get(BASE_URL + f»get_price//USD») as resp: data = await resp.json() if data[«status»] == «success»: price = calculate_price(data) await message.answer(price) else: await message.answer(«Произошла ошибка»)
from aiogram import Bot, Dispatcher, executor import handlers API_TOKEN = ‘вставьте сюда ваш токен’ bot = Bot(token=API_TOKEN) dp = Dispatcher(bot) dp.register_message_handler(handlers.start, commands=[«start»]) dp.register_message_handler(handlers.help, commands=[«help»]) dp.register_message_handler(handlers.get_price) if __name__ == ‘__main__’: executor.start_polling(dp, skip_updates=True)
Источник: sky.pro