Гайд: як створити чат-бота
у Телеграмі
Сьогодні виграє той бізнес, де клієнт отримує відповідь на запит швидко, чітко та по суті. Зростання популярності голосових та текстових ботів відбувається по всіх каналах. Особливо в цьому досяг успіху Telegram: у майданчику user-friendly інтерфейс та розвинене API для запуску ботів.
Залишаючись у рамках Telegram, не перекидаючи клієнта на сайт, ти можеш в одному каналі розповісти про товар, продати його, отримати гроші, домовитися про доставку та поінформувати клієнта про приїзд кур'єра
Просунуті боти успішно замінюють собою мобільні програми та навіть сайти.
У цьому матеріалі ми даємо прості лайфхаки зі створення чат-бота в Telegram, а наш чек-лист допоможе перевірити, що все зроблено правильно.
Експерти Just AI
Етап №1. Аналізуємо
Окремий етап розробки – зрозуміти, кому і навіщо потрібен чат-бот. Адже у вас з'явиться повноцінний онлайн-співробітник із найвищою продуктивністю. Боти можуть розважати, навчати, консультувати в чаті, телефоном або розсилкою і все це в режимі 24/7.
Найчастіше ботам доручають нудні та рутинні процеси. Наприклад, банк нагадує клієнтам про поточний платеж, а поліклініка оформляє візит лікаря додому пацієнтам із гострим болем. Визначивши бізнес-модель та функціонал бота, ви зможете прописати його tone of voice та знайти відповідну технологічну платформу.
Етап №2. Обираємо рішення
Як відомо, запустити бота можна кількома способами – купити готовий, замовити розробнику чи зробити самому. Яким шляхом йти, залежить від вимог до функціоналу, часу на реалізацію та вашої підготовки.
Якщо вам потрібен бот з нескладною логікою та вузькою спеціалізацією, підійде готове рішення. Коли потрібна реалізація складних сценаріїв, варто задуматися про використання професійних інструментів розробки – діалогових платформ та фреймворків
Етап №3. Пишемо сценарій
Хороший сервіс має бути непомітний. З роботами ця логіка діє як ніде ще. Розробляючи сценарій, ви маєте «думати як клієнт». Щоб цього досягти, потрібно сформувати базу знань клієнтського досвіду. Саме ви розумієте контекст та справжні потреби своїх замовників.
Готові рішення для створення ботів допомагають розробити сценарій швидше та простіше. Наприклад, в Aimylogic вже вбудовано готові інтенти. Вам залишається підключити потрібний блок в діалог. Створений бот може не лише надсилати повідомлення, а й ділитися картинками, стікерами, музикою. Це потрібно враховувати під час написання сценарію.
Готові інтенти — це заздалегідь підготовлений список можливих реакцій клієнта, наприклад, вітання чи прощання.
Коли карта діалогів прописана, необхідно визначитися з додатковим функціоналом. Чи дублюватиме бот інформацію в сторонній сервіс або перевірятиме наявність товару перед оплатою. Завжди залишайте можливість перекладу розмови на людину. І додайте вашому роботі персоналізації. Називаючи клієнта на ім'я, ви підвищуєте лояльність до сервісу.
Не забувайте, боти не завжди можуть замінити людину на 100%. У деяких випадках робота потребує підтримки оператора. Тут важливо передати співробітнику кол-центру всю історію взаємодії, щоб клієнту не довелося відповідати на ті самі питання по другому колу.
Етап № 4. Публікуємо бота
Щоб бот заробив, його потрібно зареєструвати та отримати унікальний id, який є одночасно і токеном. Для цього в програмі Telegram через функцію пошуку шукається обліковий запис @BotFather. Це офіційний бот для реєстрації інших роботів. У діалоговій формі ви отримаєте список команд. Потрібно вибрати /newbot. Вводимо назву та нік зі словом bot.
Якщо назва не зайнята, BotFather згенерує посилання посилання і токен. За допомогою токена ви зможете змінити ім'я /setname, додати опис /setdescription та аватар /setuserpic.На цьому ж етапі подумайте, яких кнопок з командами не вистачає вашому боту. "Налаштувати гол. меню".
Токен - Унікальний ключ, який використовується для доступу до Bot API.
Коли токен отримано, потрібно перейти в налаштування каналів у тому продукті, який ви використовуєте. «Канали»Там потрібно вибрати Telegram, у поле токен вставляється код, отриманий у месенджері. Якщо все зроблено правильно, індикатор загориться зеленим - наш бот опублікований.
Тепер можна перейти до програми Telegram та протестувати його роботу.
Дуже корисно проводити демо-тестування або запускати бета-версію на невелике коло клієнтів.
Етап № 5. Оцінюємо ефективність
Як би ретельно ви продумували сценарій, завжди знайдеться такий користувач, який поставить нашого віртуального помічника в глухий кут. Щоб це виправити, потрібно постійно аналізувати його роботу. Статистика і «Діалоги».
Використовуючи дані з цих блоків, можна постійно доповнювати сценарій, донавчати робота і допомагати ставати йому більш усвідомленим.
Потрібно пам'ятати, що недостатньо тільки запустити бота. Важливо аналізувати діалоги, що відбулися, і на їх основі доповнювати сценарій.
Чим вище якість обробки звернень у віртуального помічника, тим більше функцій йому можна доручити. чек-лист.
Найповніший стартовий гайд по ботах Telegram (python)
QQ Хабр! У цьому гайді ми пройдемося по кожному кроку створення роботів у Telegram - від реєстрації робота до публікації репозиторію на GitHub. тих, хто вже займався розробкою в Telegram.
I. Реєстрація бота
Перш за все потрібно зареєструвати бот. кодингу
ІІ.
Отже, бота ми будемо писати на python. Для початку встановимо бібліотеку pytelegrambotapi.
pip3 install pytelegrambotapi
import telebot bot = telebot.TeleBot('BOT-TOKEN')
Замість BOT-TOKEN пишемо токен, який отримали від BotFather.
Кнопки
Для того щоб кнопки заробили потрібно імпортувати типи, для цього після імпорту бібліотек пишемо:
from telebot import types
Inline-кнопки
Для створення таких кнопок використовується метод InlineKeyboardMarkup, наприклад, зробимо кнопку, яка веде до сайту Хабра
@bot.message_handler(commands = ['start']) def url(message): markup = types.InlineKeyboardMarkup() btn1 = types.InlineKeyboardButton(text='Наш сайт', url='https://habr.com/ ru/all/') markup.add(btn1) bot.send_message(message.from_user.id, "За кнопкою нижче можна перейти на сайт хабра", reply_markup = markup)
Докладніше про такі кнопки можна почитати у цій статті
Keyboard-кнопки
Такі кнопки можна побачити у великій кількості ботів, таких як Дайвінчик тощо. Пишуться вони досить просто, за допомогою методу ReplyKeyboardMarkup.
@bot.message_handler(commands=['start']) def start(message): markup = types.ReplyKeyboardMarkup(resize_keyboard=True) btn1 = types.KeyboardButton("🇷🇺 Українська") btn2 = types.KeyboardButton(' English') markup.add(btn1, btn2) bot.send_message(message.from_user.id, "🇷🇺 Виберіть мову / 🇬🇧 Choose your language", reply_markup=markup)
Ось як це виглядає
Назад до коду
Тепер вже точно можна повернутися до кодингу, давайте додамо стартову команду та кнопку
@bot.message_handler(commands=['start']) def start(message): markup = types.ReplyKeyboardMarkup(resize_keyboard=True) btn1 = types.KeyboardButton("👋 Привітатися") markup.add(btn1) bot.send_mes message.from_user.id, "👋 Привіт! Я твій бот-помічник!" reply_markup=markup)
Далі робимо реакцію бота на кнопки (тут уже є коментарі)
@bot.message_handler(content_types=['text']) def get_text_messages(message): if message.text == '👋 Привітатися': markup = types.ReplyKeyboardMarkup(resize_keyboard=True) #створення нових кнопок btn1 = types. 'Як стати автором на Хабре?') btn2 = types.KeyboardButton('Правила сайту') btn3 = types.KeyboardButton('Поради з оформлення публікації') markup.add(btn1, btn2, btn3) bot.send_message(message.from_user.id, '❓ Запитайте , reply_markup=markup) #відповідь бота
Тепер за цим прикладом продовжуємо плодити бота
elif message.text == 'Як стати автором на Хабрі?': bot.send_message(message.from_user.id, 'Ви пишете перший пост, його перевіряють модератори, і, якщо все добре, відправляють в основну стрічку Хабра, де він набирає перегляди, коментарі та рейтинг. Надалі премодерація вже не знадобиться.Якщо з постом щось не так, вас попросять його доопрацювати. ') elif message.text == 'Правила сайту': bot.send_message(message.from_user.id, 'Прочитати правила сайту ви можете за ' + '[посилання](https://habr.com/ru/docs/help/rules/)', parse_mode='Markdown') elif message.text == 'Поради щодо оформлення публікації': bot.send_message (message.from_user.id, 'Детально про поради щодо оформлення публікацій прочитати по ' + '[посилання](https://habr.com/ua/docs/companies/design/)', parse_mode='Markdown')
Так, стоп, зараз потрібно обговорити, як робити гіперпосилання. Це робиться просто, ось приклад:
bot.send_message(message.from_user.id, 'Докладно про поради з оформлення публікацій прочитати по ' + '[посилання](https://habr.com/ua/docs/companies/design/)', parse_mode='Markdown' )
Як ми бачимо, щоб зробити гіперпосилання ми беремо у квадратні дужки слово, яке буде посиланням, а саме посилання беремо у круглі. Наприкінці рядка додаємо parse_mode='Markdown'
Коли ми дописали основний код, потрібно вставити важливий рядок
bot.polling(none_stop=True, interval=0) #обов'язкова для роботи бота частина
Як сказано в коментарі, цей рядок є обов'язковим для роботи бота, щоб він не відключався і працював постійно.
Цілком наш код виглядає так:
import telebot from telebot import types bot = telebot.TeleBot('BOT-TOKEN') @bot.message_handler(commands=['start']) def start(message): markup = types. .KeyboardButton("👋 Привітатися") markup.add(btn1) bot.send_message(message.from_user.id, "👋 Привіт! Я твій бот-помічник!", reply_markup=markup) @bot.message_handler(content_types=['text']) def get_text_messages(message : if message.text == '👋 Привітатися': markup = types.ReplyKeyboardMarkup(resize_keyboard=True) #створення нових кнопок btn1 = types.KeyboardButton('Як стати автором на Хабре?') btn2 = types.KeyboardButton('Правила сайту') btn3 = types.KeyboardButton(' Поради щодо оформлення публікації') markup.add(btn1, btn2, btn3) bot.send_message(message.from_user.id, '❓ Задайте питання, що вас цікавить', reply_markup=markup) #відповідь бота elif message.text == 'Як стати автором на Хабрі?': bot.send_message(message.from_user.id, 'Ви пишете перший пост, його перевіряють модератори, і, якщо все добре, відправляють до основної стрічки Хабра, де він набирає перегляди, коментарі та рейтинг. Надалі премодерація вже не знадобиться. Якщо з постом щось не так, вас попросять його доопрацювати. ') elif message.text == 'Правила сайту': bot.send_message(message.from_user.id, 'Прочитати правила сайту ви можете за ' + '[посилання](https://habr.com/ru/docs/help/rules/)', parse_mode='Markdown') elif message.text == 'Поради щодо оформлення публікації': bot.send_message (message.from_user.id, 'Детально про поради щодо оформлення публікацій прочитати по ' + '[посилання](https://habr.com/ru/docs/companies/design/)', parse_mode='Markdown') bot.polling(none_stop=True, interval=0) #обов'язкова для роботи бота частина
Цей код я написав за 10 хвилин, за бажання код можна зробити набагато більше. Повноцінний бот виглядає так. Цього робота я робив для конкурсу і написав його за 3,5 години.
Важливо: якщо ви робите повноцінного бота, якого кудись публікуватимете, дуже варто додати до нього емодзі: кнопки, повідомлення - все повинно включати в себе емодзі, це важливо для краси
ІІІ. Публікація репозиторію на GitHub
Для цього знадобиться додаток GitHub Desktop
Створюємо новий репозиторій, після цього в стандартній папці з'явиться папка з назвою вашого проекту. У неї закидаємо файли проекту та в додатку натискаємо кнопку Commit to main. Після цього натискаємо кнопку Publish Repository. Готово! За бажанням, можна створити Readme.md
IV. Висновок
Тут я розписав все, що я згадав про розробку ботів для telegram, якщо є, що запропонувати - коментарі відкриті для вас. Сподіваюся, що вам це було корисно.