Telegram – известный и функциональный мессенджер. Он используется пользователями по всему миру для общения, работы, отдыха и получения той или иной информации. Во всем этом клиентам могут помочь так называемые боты. Это достаточно функциональные мини-программы. Их разработка и создание может осуществляться как путем специальных конструкторов, так и через классическое написание исходных кодов. 

Чаще всего, боты, согласно информации из поисковой системы Google, пишутся на Python. Это быстро и бесплатно. Далее предстоит выяснить, как создать своего бота в Telegram. Предложенная информация пригодится как новичкам, так и опытным разработчикам. Упор будет сделан на одну из наиболее популярных Python-библиотек, а также на несколько конструкторов.

Что такое бот

Боты в Telegram – мини-программы, размещенные внутри мессенджера. Они управляются пользователями за счет встроенных текстовых команд в онлайн-чате. Манипулирование таким мини-приложением, согласно Google, строится на принципе «вопрос–ответ».

Первые подобные программы появились в ICQ в конце 2000-х. Тогда боты умели присылать анекдоты, гороскопы, а также ссылки из «Википедии». Они также использовались в качестве переводчиков.

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

Отдельно устанавливать мини-приложение в Телеграм нет необходимости. Бота достаточно создать и настроить прямо на канале. Сразу после этого bots будут функционировать в мессенджере и всегда оставаться там.

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

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

Боты в Телеграм разрешается в любой момент корректировать и дорабатывать: добавлять новые ответы и функции, изменять различные части мини-помощника. Соответствующая категория мини-приложений используется для:

  • развлечения;
  • проведения опросов и конкурсов;
  • демонстрации новостей и иных данных;
  • ответов на задаваемые вопросы;
  • рассылки сообщений имеющимся подписчикам;
  • напоминаний о встречах и их организации;
  • участия в групповых чатах;
  • выдачи информации о продукции.

Это наиболее распространенные функции, которые подключаются, как уверяет Google, к Telegram bots чаще всего. Ими наделяют обычные чат-каналы и различные магазины. Точная функциональность зависит от конкретного направления и бизнес-концепций.

Классификация

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

На данный момент условно всех Telegram Bots можно разделить на несколько крупных классов:

  1. Классические. Они используются для общения с пользователями. Виртуальный помощник будет реагировать на заранее прописанные темы, команды и фразы.
  2. Помощники в администрировании. Такие боты, согласно Google, пригодятся тем, кто владеет каналами и групповыми чатами. Мини-помощники смогут собирать статистику, добавлять реакции, файлы, URL-кнопки, формировать отложенные публикации, отслеживать активность в чате, настраивать антиспам-фильтры или выдавать предупреждения.
  3. Магазины. Google указывает на то, что компании активно переносят каталоги в Телеграм. В этом мессенджере можно не только ознакомиться с товаром, но и оплатить его. У соответствующей категории ботов есть один существенный недостаток – запутанный интерфейс. 
  4. Инструменты. Сюда включает различные bots, которые расширяют функциональные возможности ТГ. Пример – чтение писем, отслеживание цен, проверка заказа, информирование о штрафах, скачивание файлов по URLs и распознавание музыки по аудиозаписи.
  5. Поисковики. Дают возможность оперативно искать книги, музыку, фильмы и иные документы. Часто такие боты – пиратские. ТГ может время от времени блокировать их.
  6. Развлекательные. Сюда относятся все мини-помощники для внесения новых красок в досуг: гороскопы, игры, мемы, анекдоты и так далее.

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

Способы разработки

Задумываясь над тем, как сделать своего бота в Телеграм, требуется сначала выбрать способ разработки. Написать мини-помощника можно несколькими методами:

  1. С нуля. Это разработка бота в ТГ, требующая полноценных навыков в сфере программирования. Исходный код пишется пользователем полностью. Чаще всего на таких языках, как Java, Python, PHP. Чтобы писать Telegram bots, предстоит изучить понравившийся ЯП, а также воспользоваться специализированными библиотеками. Такой вариант может отнять немало времени и сил, особенно у новичков.
  2. Через конструкторы. Чтобы написать в Телеграм нового bot, Google предлагает использовать специальные no-code платформы – конструкторы. Для создания bot требуются минимальные знания в области веб-разработки. Особой оригинальностью мини-помощники, созданные через конструкторы, не выделяются, но с поставленными задачами справляются не хуже тех, что написаны с нуля.

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

Краткая инструкция

Создание собственного бота можно представить в виде некоторого алгоритма:

  1. Установить виртуальное окружение выбранного языка и его среду программирования. Далее для примера упор будет сделан на Python.
  2. Подключить бота в ТГ.
  3. Получить токен.
  4. Подключить библиотеку в Телеграм, позволяющую создать бот.
  5. Запрограммировать мини-помощника.
  6. Запустить chat bot и проверить его.

Если выбрано написание мини-помощника в мессенджере через конструкторы, ситуация становится еще проще. В данном случае предстоит:

  1. Скачать и установить конструктор на русском или любом другом языке.
  2. Запустить шаблонизатор.
  3. Подключить нового бота в ТГ (с получением токена).
  4. Используя конструктор, запрограммировать мини-помощника.

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

Библиотеки для разработки

Создание собственного бота с нуля сводится к полноценному написанию программного кода помощника. В этом разработчику помогают фреймворки и библиотеки. Они, согласно Google, меняются в зависимости от выбранного языка программирования. Наиболее популярным в создании Telegram bots является Python, поэтому упор будет сделан на его инструменты.

Делать виртуальных помощников в ТГ можно за счет:

  1. Python-telegram-bot. Самая первая библиотека языка для программирования ботов. Поддерживает синхронный подход к работе. При ожидании ответа со стороны пользователя реализация исходного кода будет останавливаться.
  2. Aiogram. Google называет эту библиотеку наиболее функциональной и популярной. На ней делается основная масса современных виртуальных помощников. В работе Aiogram используется асинхронное выполнение кода. Это значит, что функционирование бота во время ожидания ответа со стороны клиента не прекращается. У Aiogram есть множество уроков и рекомендаций на русском языке.
  3. Telebot. Google указывает на то, что при помощи этой библиотеки можно делать мини-помощников для Телеграм с выбором типа функционирования кода: синхронно или асинхронно. Больше подойдет для небольших проектов.

Настройка и разработка с нуля чат-бота будет осуществляться на основании Aiogram и Telebot.

Разработка с нуля

Создание ботов для Telegram с нуля – не самая сложная задача, если разобраться в азах программирования. Для этого новичкам рекомендуется использовать Python и его библиотеки. Они позволяют бесплатно и оперативно создавать функциональных виртуальных помощников.

Установка Python и виртуального окружения

Google указывает на то, что правильно добавить с нуля бота в ТГ – это половина дела. Основная работа – это настройка виртуального помощника. Она организовывается при помощи библиотек выбранного языка.

Если клиент решил писать бот с нуля, ему предстоит установить Python и сформировать для него виртуальное окружение. Без этого мини-помощник функционировать не будет.

В MacOS и Linux Python часто уже есть в операционной системе. Проверить его версию можно при помощи команды в терминале:

Бот в Telegram: особенности и примеры

Если Python отсутствует, его в Linux можно скачать и установить через пакетных менеджер pip. В Windows дистрибутив скачивается и устанавливается при помощи официального сайта языка разработки.

Для создания виртуального окружения используется virtualenv. С его помощью создаются изолированные друг от друга проекты. Библиотеки в них будут устанавливаться независимо. Это очень удобно, если предстоит работать с несколькими проектами одновременно:

Бот в Telegram: особенности и примеры

Далее создается директория для проекта, внутри которой будет функционировать виртуальное окружение:

Бот в Telegram: особенности и примеры

Теперь необходимо развернуть виртуальное окружение и активировать его:

Бот в Telegram: особенности и примерыБот в Telegram: особенности и примеры.

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

Подключение бота

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

  1. Открыть ТГ.
  2. Найти в мессенджере бот BotFather.
  3. Нажать на кнопку «Запустить».
  4. Ввести команду «/ newbot».
  5. Задать имя бота (пусть – echo_otus_bot).
  6. Подтвердить операцию.

В ответ BotFather пришлет токен. Он пригодится для подключения к API Telegram.

Подключение библиотек

Чтобы написать бота для Telegram, Google призывает разработчиков пользоваться библиотеками Python. Их необходимо подключить. Вот пример для Aiogram:

Бот в Telegram: особенности и примеры

Аналогичную команду, но с TeleBot, необходимо отправить в pip для подключения второй указанной ранее библиотеки:

Бот в Telegram: особенности и примеры.

Эхо-бот

Google указывает на то, что в Телеграм можно создавать самых разных виртуальных мини-помощников. Первый вариант – эхо-бот. Он позволяет отвечать на пользовательские сообщения. В качестве реакции дублирует текст, написанный клиентом. 

Через Aiogram создать бота можно за счет такого документа:

Бот в Telegram: особенности и примеры

Здесь:

  1. Создается исходный код в файле main.py.
  2. Bot – используется для определения спектра команд от пользователя и возможные реакции на них.
  3. Dispatcher – отслеживает обновления.
  4. Executor – запускает бота и выполняет запрограммированные функции.
  5. Модуль types используется для работы с базовыми классами в качестве аннотаций. Types.Message применяется для работы с приемом текстовых сообщений со стороны пользователя.
  6. Message_handler – это сообщение, которое необходимо отравить пользователю при запуске бота через команду «/ start». В соответствующем блоке commands=[‘start’] – команда, связанная с декоратором. Она запускает вложенную функцию. Async def send_welcome – create асинхронную функцию. Она принимает в себя сообщение от пользователя message, определенное через тип Message. Await message.reply – определяет ответ клиента, используя await за счет асинхронной работы библиотеки.
  7. Скобки dp.message_handler, согласно Google, должны остаться пустыми. Это связано с тем, что виртуальный помощник должен отправить ответ при любом сообщении клиента.
  8. Для получения сообщений от сервера в Телеграмм используется поллинг. Это метод start_polling, который будет опрашивать сервер, проверяя имеющиеся обновления. Если они есть, система отправит изменения в мессенджер.

Это всего один пример бота для Телеграм. Вот еще вариант эхо-помощника:

Бот в Telegram: особенности и примеры

Данный код базируется на TeleBot.

Википедия-бот

Задумываясь, как создать чат-бота в Телеграм, можно запрограммировать самых разных помощников. Вот free creating bot, который в качестве ответа выдает по введенному слову статью на Википедии.

Бот в Telegram: особенности и примеры
Бот в Telegram: особенности и примеры

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

С двумя кнопками

Достаточно распространенный, согласно Google, бот для Телеграм – с двумя кнопками. Используется для выполнения различных действий.

Бот в Telegram: особенности и примеры
Бот в Telegram: особенности и примеры

Здесь задействованы два файла – facts.txt и thinks.txt. Они включают в себя интересные факты и поговорки. В каждой строке документов – по одному типу информации. При правильном программировании, после нажатия на ту или иную кнопку система выдаст соответствующее сообщение.

Анекдоты

А вот развлекательный виртуальный помощник. Он, согласно Google, будет выдавать анекдоты из исходного файла. Каждый час происходит постинг одного такого сообщения. Работает в заранее созданном канале.

Бот в Telegram: особенности и примеры

Файл с анекдотами должен находиться в папке data рядом со скриптом Telegram bot.

Через конструктор

С 2022 года основательно задумываться над тем, как сделать Telegram-бота, не нужно. Google указывает на то, что в мессенджере появился простой конструктор виртуальных помощников. Он называется Manybot.

 Чтобы им воспользоваться, предстоит:

  1. Отыскать Manybot и нажать на «Старт».
  2. Кликнуть по кнопке «Добавить нового бота».
  3. Скопировать токен в Fatherbot и нажать на «Я скопировал…».
  4. Описать действия помощника. Пропустить этап можно через «/skip».
  5. Выбрать пункт «Создать команду». Для этого используется commands и номер операции.
  6. Нажать на «Добавить вопрос» и выбрать вариант вопроса. Пример – «Обычный». В этом случае помощник будет отвечать любому подписчику, который пришлет сообщение. Даже тогда, когда это не текст, а медиа.
  7. Дать произвольное название обычному вопросу. Пример – «головные уборы». Загрузить картинку из галереи и кликнуть по «Сохранить». Все, что загружено, будет отображаться в виде ответа в качестве реакции на пользовательский запрос соответствующего пункта меню.
  8. Выбрать пункт «Настроить главное меню» – «Добавить пункт…».
  9. Указать «Головные уборы». Остается отправить боту это сообщение. В меню появится необходимый раздел.

Для редактирования команд используется раздел «Пользовательские команды.

Интересует Python? Добро пожаловать на курс в Otus!