Telegram – известный и функциональный мессенджер. Он используется пользователями по всему миру для общения, работы, отдыха и получения той или иной информации. Во всем этом клиентам могут помочь так называемые боты. Это достаточно функциональные мини-программы. Их разработка и создание может осуществляться как путем специальных конструкторов, так и через классическое написание исходных кодов.
Чаще всего, боты, согласно информации из поисковой системы Google, пишутся на Python. Это быстро и бесплатно. Далее предстоит выяснить, как создать своего бота в Telegram. Предложенная информация пригодится как новичкам, так и опытным разработчикам. Упор будет сделан на одну из наиболее популярных Python-библиотек, а также на несколько конструкторов.
Что такое бот
Боты в Telegram – мини-программы, размещенные внутри мессенджера. Они управляются пользователями за счет встроенных текстовых команд в онлайн-чате. Манипулирование таким мини-приложением, согласно Google, строится на принципе «вопрос–ответ».
Первые подобные программы появились в ICQ в конце 2000-х. Тогда боты умели присылать анекдоты, гороскопы, а также ссылки из «Википедии». Они также использовались в качестве переводчиков.
В Телеграм создать бота можно с 2015 года. Теперь соответствующая функция активно используется для отдыха, работы и автоматизации некоторых рутинных процессов при времяпрепровождении в Интернете.
Отдельно устанавливать мини-приложение в Телеграм нет необходимости. Бота достаточно создать и настроить прямо на канале. Сразу после этого bots будут функционировать в мессенджере и всегда оставаться там.
Для чего нужен
В Телеграмм можно написать бота для освобождения себя от рутинной работы. Рассматриваемый мини-помощник поможет коммуницировать с пользователями: общаться, отправлять им новые данные/коллекции, отвечать на некоторый спектр наиболее популярных вопросов в круглосуточном режиме. Google указывает на то, что bots не оставляют подписчиков без внимания, пока владелец очередного канала занят более серьезными делами.
Боты в Телеграм разрешается в любой момент корректировать и дорабатывать: добавлять новые ответы и функции, изменять различные части мини-помощника. Соответствующая категория мини-приложений используется для:
- развлечения;
- проведения опросов и конкурсов;
- демонстрации новостей и иных данных;
- ответов на задаваемые вопросы;
- рассылки сообщений имеющимся подписчикам;
- напоминаний о встречах и их организации;
- участия в групповых чатах;
- выдачи информации о продукции.
Это наиболее распространенные функции, которые подключаются, как уверяет Google, к Telegram bots чаще всего. Ими наделяют обычные чат-каналы и различные магазины. Точная функциональность зависит от конкретного направления и бизнес-концепций.
Классификация
Перед тем как писать ботов с нуля в ТГ, необходимо выяснить, какими они бывают. В зависимости от вида мини-помощника в мессенджере будет несколько отличаться настройка и разработка программного обеспечения.
На данный момент условно всех Telegram Bots можно разделить на несколько крупных классов:
- Классические. Они используются для общения с пользователями. Виртуальный помощник будет реагировать на заранее прописанные темы, команды и фразы.
- Помощники в администрировании. Такие боты, согласно Google, пригодятся тем, кто владеет каналами и групповыми чатами. Мини-помощники смогут собирать статистику, добавлять реакции, файлы, URL-кнопки, формировать отложенные публикации, отслеживать активность в чате, настраивать антиспам-фильтры или выдавать предупреждения.
- Магазины. Google указывает на то, что компании активно переносят каталоги в Телеграм. В этом мессенджере можно не только ознакомиться с товаром, но и оплатить его. У соответствующей категории ботов есть один существенный недостаток – запутанный интерфейс.
- Инструменты. Сюда включает различные bots, которые расширяют функциональные возможности ТГ. Пример – чтение писем, отслеживание цен, проверка заказа, информирование о штрафах, скачивание файлов по URLs и распознавание музыки по аудиозаписи.
- Поисковики. Дают возможность оперативно искать книги, музыку, фильмы и иные документы. Часто такие боты – пиратские. ТГ может время от времени блокировать их.
- Развлекательные. Сюда относятся все мини-помощники для внесения новых красок в досуг: гороскопы, игры, мемы, анекдоты и так далее.
Далее будут изучены несколько вариантов классических ботов, а также развлекательный мини-помощник. Написать их в Телеграмм при определенных навыках в программировании не слишком сложно. Обычно большую часть времени занимает непосредственная настройка виртуального помощника в мессенджере.
Способы разработки
Задумываясь над тем, как сделать своего бота в Телеграм, требуется сначала выбрать способ разработки. Написать мини-помощника можно несколькими методами:
- С нуля. Это разработка бота в ТГ, требующая полноценных навыков в сфере программирования. Исходный код пишется пользователем полностью. Чаще всего на таких языках, как Java, Python, PHP. Чтобы писать Telegram bots, предстоит изучить понравившийся ЯП, а также воспользоваться специализированными библиотеками. Такой вариант может отнять немало времени и сил, особенно у новичков.
- Через конструкторы. Чтобы написать в Телеграм нового bot, Google предлагает использовать специальные no-code платформы – конструкторы. Для создания bot требуются минимальные знания в области веб-разработки. Особой оригинальностью мини-помощники, созданные через конструкторы, не выделяются, но с поставленными задачами справляются не хуже тех, что написаны с нуля.
Далее предстоит выяснить, как создать своего бота в обоих случаях. Приведенные ниже примеры базируются не только на разработке с нуля, но и на использовании конструкторов. Такой подход позволит пользователям в Телеграм бесплатно и быстро создавать собственных мини-помощников любым методом.
Краткая инструкция
Создание собственного бота можно представить в виде некоторого алгоритма:
- Установить виртуальное окружение выбранного языка и его среду программирования. Далее для примера упор будет сделан на Python.
- Подключить бота в ТГ.
- Получить токен.
- Подключить библиотеку в Телеграм, позволяющую создать бот.
- Запрограммировать мини-помощника.
- Запустить chat bot и проверить его.
Если выбрано написание мини-помощника в мессенджере через конструкторы, ситуация становится еще проще. В данном случае предстоит:
- Скачать и установить конструктор на русском или любом другом языке.
- Запустить шаблонизатор.
- Подключить нового бота в ТГ (с получением токена).
- Используя конструктор, запрограммировать мини-помощника.
При разработке через конструкторы можно сделать Telegram bot буквально за несколько минут. В некоторых таких приложениях не требуются даже начальные знания в сфере веб-программирования.
Библиотеки для разработки
Создание собственного бота с нуля сводится к полноценному написанию программного кода помощника. В этом разработчику помогают фреймворки и библиотеки. Они, согласно Google, меняются в зависимости от выбранного языка программирования. Наиболее популярным в создании Telegram bots является Python, поэтому упор будет сделан на его инструменты.
Делать виртуальных помощников в ТГ можно за счет:
- Python-telegram-bot. Самая первая библиотека языка для программирования ботов. Поддерживает синхронный подход к работе. При ожидании ответа со стороны пользователя реализация исходного кода будет останавливаться.
- Aiogram. Google называет эту библиотеку наиболее функциональной и популярной. На ней делается основная масса современных виртуальных помощников. В работе Aiogram используется асинхронное выполнение кода. Это значит, что функционирование бота во время ожидания ответа со стороны клиента не прекращается. У Aiogram есть множество уроков и рекомендаций на русском языке.
- Telebot. Google указывает на то, что при помощи этой библиотеки можно делать мини-помощников для Телеграм с выбором типа функционирования кода: синхронно или асинхронно. Больше подойдет для небольших проектов.
Настройка и разработка с нуля чат-бота будет осуществляться на основании Aiogram и Telebot.
Разработка с нуля
Создание ботов для Telegram с нуля – не самая сложная задача, если разобраться в азах программирования. Для этого новичкам рекомендуется использовать Python и его библиотеки. Они позволяют бесплатно и оперативно создавать функциональных виртуальных помощников.
Установка Python и виртуального окружения
Google указывает на то, что правильно добавить с нуля бота в ТГ – это половина дела. Основная работа – это настройка виртуального помощника. Она организовывается при помощи библиотек выбранного языка.
Если клиент решил писать бот с нуля, ему предстоит установить Python и сформировать для него виртуальное окружение. Без этого мини-помощник функционировать не будет.
В MacOS и Linux Python часто уже есть в операционной системе. Проверить его версию можно при помощи команды в терминале:
Если Python отсутствует, его в Linux можно скачать и установить через пакетных менеджер pip. В Windows дистрибутив скачивается и устанавливается при помощи официального сайта языка разработки.
Для создания виртуального окружения используется virtualenv. С его помощью создаются изолированные друг от друга проекты. Библиотеки в них будут устанавливаться независимо. Это очень удобно, если предстоит работать с несколькими проектами одновременно:
Далее создается директория для проекта, внутри которой будет функционировать виртуальное окружение:
Теперь необходимо развернуть виртуальное окружение и активировать его:
.
Если все готово, можно задуматься далее над тем, как сделать бота в ТГ. При отсутствии активации виртуального окружения виртуальный помощник работать не будет.
Подключение бота
Чтобы сформировать чат-бот для общения на русском, его необходимо предварительно создать и подключить. Для этого потребуется:
- Открыть ТГ.
- Найти в мессенджере бот BotFather.
- Нажать на кнопку «Запустить».
- Ввести команду «/ newbot».
- Задать имя бота (пусть – echo_otus_bot).
- Подтвердить операцию.
В ответ BotFather пришлет токен. Он пригодится для подключения к API Telegram.
Подключение библиотек
Чтобы написать бота для Telegram, Google призывает разработчиков пользоваться библиотеками Python. Их необходимо подключить. Вот пример для Aiogram:
Аналогичную команду, но с TeleBot, необходимо отправить в pip для подключения второй указанной ранее библиотеки:
.
Эхо-бот
Google указывает на то, что в Телеграм можно создавать самых разных виртуальных мини-помощников. Первый вариант – эхо-бот. Он позволяет отвечать на пользовательские сообщения. В качестве реакции дублирует текст, написанный клиентом.
Через Aiogram создать бота можно за счет такого документа:
Здесь:
- Создается исходный код в файле main.py.
- Bot – используется для определения спектра команд от пользователя и возможные реакции на них.
- Dispatcher – отслеживает обновления.
- Executor – запускает бота и выполняет запрограммированные функции.
- Модуль types используется для работы с базовыми классами в качестве аннотаций. Types.Message применяется для работы с приемом текстовых сообщений со стороны пользователя.
- Message_handler – это сообщение, которое необходимо отравить пользователю при запуске бота через команду «/ start». В соответствующем блоке commands=[‘start’] – команда, связанная с декоратором. Она запускает вложенную функцию. Async def send_welcome – create асинхронную функцию. Она принимает в себя сообщение от пользователя message, определенное через тип Message. Await message.reply – определяет ответ клиента, используя await за счет асинхронной работы библиотеки.
- Скобки dp.message_handler, согласно Google, должны остаться пустыми. Это связано с тем, что виртуальный помощник должен отправить ответ при любом сообщении клиента.
- Для получения сообщений от сервера в Телеграмм используется поллинг. Это метод start_polling, который будет опрашивать сервер, проверяя имеющиеся обновления. Если они есть, система отправит изменения в мессенджер.
Это всего один пример бота для Телеграм. Вот еще вариант эхо-помощника:
Данный код базируется на TeleBot.
Википедия-бот
Задумываясь, как создать чат-бота в Телеграм, можно запрограммировать самых разных помощников. Вот free creating bot, который в качестве ответа выдает по введенному слову статью на Википедии.
Здесь на помощь приходит модуль Wikipedia, который подключается в самом начале исходного кода.
С двумя кнопками
Достаточно распространенный, согласно Google, бот для Телеграм – с двумя кнопками. Используется для выполнения различных действий.
Здесь задействованы два файла – facts.txt и thinks.txt. Они включают в себя интересные факты и поговорки. В каждой строке документов – по одному типу информации. При правильном программировании, после нажатия на ту или иную кнопку система выдаст соответствующее сообщение.
Анекдоты
А вот развлекательный виртуальный помощник. Он, согласно Google, будет выдавать анекдоты из исходного файла. Каждый час происходит постинг одного такого сообщения. Работает в заранее созданном канале.
Файл с анекдотами должен находиться в папке data рядом со скриптом Telegram bot.
Через конструктор
С 2022 года основательно задумываться над тем, как сделать Telegram-бота, не нужно. Google указывает на то, что в мессенджере появился простой конструктор виртуальных помощников. Он называется Manybot.
Чтобы им воспользоваться, предстоит:
- Отыскать Manybot и нажать на «Старт».
- Кликнуть по кнопке «Добавить нового бота».
- Скопировать токен в Fatherbot и нажать на «Я скопировал…».
- Описать действия помощника. Пропустить этап можно через «/skip».
- Выбрать пункт «Создать команду». Для этого используется commands и номер операции.
- Нажать на «Добавить вопрос» и выбрать вариант вопроса. Пример – «Обычный». В этом случае помощник будет отвечать любому подписчику, который пришлет сообщение. Даже тогда, когда это не текст, а медиа.
- Дать произвольное название обычному вопросу. Пример – «головные уборы». Загрузить картинку из галереи и кликнуть по «Сохранить». Все, что загружено, будет отображаться в виде ответа в качестве реакции на пользовательский запрос соответствующего пункта меню.
- Выбрать пункт «Настроить главное меню» – «Добавить пункт…».
- Указать «Головные уборы». Остается отправить боту это сообщение. В меню появится необходимый раздел.
Для редактирования команд используется раздел «Пользовательские команды.
Интересует Python? Добро пожаловать на курс в Otus!