Узнайте о лучших образовательных организациях на премии Курсы.ру
31 июля 19:00
Подробнее
Меню
Каталог
Каталог
Все статьи
Программирование

Как написать телеграм-бота на Python

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

Владислав Громов Владислав Громов SEO-специалист
Как написать телеграм-бота на Python

Что из себя представляет чат-бот

Чат-бот — это компьютерное приложение, самостоятельно выполняющее задачи, заблаговременно поставленные пользователем, и имитирующее разговорную речь в диалоге с собеседниками.

Первый чат-бот с именем «Элиза» увидел свет в 1966 году благодаря стараниям ученого из Массачусетского университета (США) Джозефа Войценбаума. Продукт стал эволюцией программ вопросов и ответов, использующих обработку естественного языка. Элиза имитировала общение с психотерапевтом, а пациенты доверяли боту сокровенные мысли.

Для чего нужен

В Telegram приложение по сути заменяет человека. Помогает достигать следующих целей:

  • Повышает продуктивность работы

  • Автоматизирует и обрабатывает поток запросов клиентов

  • Реагирует и обрабатывает стандартные и часто повторяющиеся запросы, экономя время сотрудникам компании

  • Поддерживает разговор на иностранных языках

  • Ускоряет время отклика на запрос клиента

  • Персонализирует общение

Навыки программы:

  • Развлекает аудиторию

  • Запускает мини-игры

  • Отвечает на вопросы

  • Ищет информацию в сети

  • Напоминает о запланированных событиях

  • Участвует в форумах

  • Комментирует публикации 

Бот может самостоятельно отправлять картинки, видеоролики, файлы. Кроме этого, он умеет:

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

  • Выполнять задачи одновременно. По команде START способен запускать последовательность действий, поэтапно запрашивая у собеседника новую информацию

  • Размещать web-приложения. Такая функция помогает создавать гибкие интерфейсы, поддерживающие информационные, торговые и игровые платформы

  • Взаимодействовать со сторонними сервисами. Например, способен самостоятельно организовать поиск нужной анимации или картинки

Часто приложения создают для решения бизнес-задач с учетом специфики конкретной организации.

Принцип работы

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

По принципу работы используют чат-боты:

  • Построенные на основе правил. Базовый уровень программирования. Для взаимодействия с собеседником используются предопределенные параметры. Пользователь выбирает нужный вариант, а программа анализирует запрос и выдает ответ в виде кнопок. Подобные продукты распространены в разделах «Часто задаваемые вопросы»

  • Независимые с поисковыми запросами. Бот анализирует вопрос пользователя и дает аргументированный ответ. Используются заданные слова (ключи), чтобы развернуто ответить пользователю на интересующие вопросы 

  • NLP (контекстные). Продвинутые приложения, которые включили в себя комбинацию принципов работы предшественников. Для адекватного реагирования используют обработку естественного языка, распознающего контекст запроса и намерения собеседника. Легко обрабатывают три-четыре запроса одного человека

Создадим бота, контактирующего с клиентами на финансовом брокерском сервисе. Код выглядит так:

from telegram.ext import Updater, InlineQueryHandler, CommandHandler
import requests
import re

def get_url():
contents = requests.get('https: //random.dog/woof.json') .json().
url = contents['url']
return url

def bop(bot, update):
url = get_url()
chat_id = update.message.chat_id
bot.send_photo(chat_id=chat_id, photo=url)

def main():
updater = Updater ('YOUR_TOKEN')
dp = updater.dispatcher
dp.add_handLer (CommandHandler (' bop! ,bop) )
updater .start_polling()
updater. idle()

if __name__ == '__main__':

main()

Далее запускается скрипт, а бот прописывается в поиске Telegram по придуманному заранее адресу. Приложение активируется кнопкой «Запустить» (START).

Библиотеки для написания чат-бота

Для создания чат-ботов используются десятки библиотек.

Под термином «библиотека» понимается сборник объектов, предназначенных для создания программных продуктов.

Программисты работают с:

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

  • Python-telegram-bot. Первая библиотека, сформированная специально для создания продуктов только с синхронным режимом работы. Пока собеседник думает, программа останавливается. По этой причине в плане популярности уступает Aiogram

  • TeleBot. Универсальная библиотека, благодаря которой можно с легкостью создавать ботов. Подходит для проектов небольшого масштаба

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

Вывод

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

Содержание
Информация была полезна?
17 оценок, среднее: 4.91 из 5