На каком языке программирования и каким образом пишут ботов
Python подкупает своей простотой и функциональностью. Он обладает несложным синтаксисом, но со своими особенностями с отступами. Главное — понять логику отступов , далее с ними проблем не возникает. Изучив этот язык для того, чтобы создать бота, его пото м можно применять и в других сферах программирования.
Еще один момент — у Питона очень много готовых решений для создания ботов. На сегодняшний день у Python насчитывают более тысячи библиотек для различных сфер. Из них несколько десятков используются для создания ботов разной сложности.
Чтобы создать бота , не нужно знать язык идеально. Достаточно знать основы, понимать , какую библиотеку лучше всего использовать , и читать инструкции к библиотеке. На Питоне не нужно разрабатывать бота «с нуля», потому что «умные программисты» уже давно все написали в свои х библиотеках.
Заключение
На каком языке пишут ботов? На том языке, которым владеют лучше всего. Бота можно написать на многих языках. Если нужно выучить первый язык для написания собственного бота, тогда выбор лучше всего остановить на Python. Именно этот язык применяется для написания ботов чаще остальных.
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Как создать бота в Telegram: большая инструкция

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

Освойте профессию
«Python-разработчик»
Что такое Telegram-бот?
Telegram — популярный мессенджер, позволяющий пользователям обмениваться сообщениями, видео, музыкой и файлами. Блогеры используют сервис для публикации своего контента, а бизнес — чтобы продавать товары и услуги. Кроме всего прочего, в Telegram есть возможность создавать собственных ботов — программы внутри мессенджера, автоматизирующие общение. У каждого бота есть уникальное имя, поэтому его можно легко найти в строке поиска Telegram. Также ботов можно добавлять в чаты и каналы, чтобы они выполняли роль модератора или администратора. С недавних пор Telegram-боты могут быть полноценными веб-приложениями с собственным пользовательским интерфейсом.
Python-разработчик
Освойте Python, самый популярный язык программирования
3 075 ₽/мес 6 150 ₽/мес

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

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

Telegram-боты нужны не только для того, чтобы продавать. Они также могут помочь выбрать кино на вечер, предложить забавный тест или сгенерировать мем. Например, студенты Skillfactory разработали для Московского зоопарка Telegram-бот, который имитирует общение с манулом Тимофеем и предлагает поучаствовать в викторине.
Конструкторы для настройки ботов
Для создания простых ботов можно использовать сервисы-конструкторы. С их помощью получится реализовать наиболее частые сценарии использования: ответы на вопросы, выдачу информации по запросу и обработку данных пользователя. Такие сервисы не требуют знания программирования, их можно освоить за несколько часов. Популярные конструкторы для создания ботов Telegram: Manybot — сервис для создания ботов с помощью сообщений в чате. Подойдет для самых простых сценариев использования. У Manybot есть встроенная реклама и нет возможности отключить ее с помощью подписки; botmother — редактор ботов, который умеет работать не только с Telegram, но и с другими популярными мессенджерами. Есть возможность обрабатывать медиа, файлы и обращаться к сторонним сервисам. PuzzleBot — мощный конструктор, позволяющий создать бота практически любой сложности и без единой строчки кода. При этом важно понимать основы программирования: переменные, циклы и условия. Есть премиальная версия по подписке.

Станьте разработчиком на Python и решайте самые разные задачи: от написания кода до автоматизации процессов
Какие технологии нужны, чтобы создать чат-бота в Telegram с нуля?
Если от бота нужны нестандартные сценарии использования или в проекте важно полностью контролировать поведение и обработку данных, то без программирования не обойтись. У Telegram открытое API с хорошей документацией, поэтому ботов можно разрабатывать практически на любом языке программирования, но удобнее использовать для этого уже готовые библиотеки. Разработчики Telegram активно развивают мессенджер, поэтому от библиотеки важно, чтобы она обновлялась так же часто и поддерживала все новшества сервиса. Ботов чаще всего пишут на Python из-за простоты и удобства этого языка. Для Python существуют следующие библиотеки для ботов Telegram: aiogram — комплексная библиотека с отличной документацией, поддержкой и активным сообществом. Есть русскоязычное сообщество разработчиков, которое поможет с трудностями и ответит на вопросы. Библиотека aiogram поддерживает асинхронность, работу с машиной состояний и рассчитана на разработку сложных ботов с большим количеством ежедневных пользователей. Сейчас у aiogram две активные версии, и лучше сразу выбирать версию 3.0, которая пока находится в бете, но работает стабильно. Библиотека подразумевает глубокие знания Python и опыт в программировании, поэтому может быть сложной для начинающих; telebot (pyTelegramBotAPI) — библиотека для простых ботов с небольшим количеством пользователей, поддерживающая работу с основными методами Telegram API. С telebot сложнее организовать асинхронность и управлять большой нагрузкой, но новичкам в разы легче и приятнее с ней работать.
Читайте также Полезные библиотеки для Python: чем пользуются разработчики
В статье мы будем использовать библиотеку telebot и писать код на Python, поэтому нам понадобится редактор кода. Сейчас разработчики в основном используют один из двух редакторов: Visual Studio Code — бесплатный редактор кода от компании Microsoft с задатками полноценной среды разработки. VS Code можно использовать практически с любыми языками программирования и технологиями. Для этого компания предусмотрела маркетплейс плагинов, расширяющих возможности редактора. VS Code полностью бесплатный и доступен для Windows, macOS и Linux. PyCharm — полноценная среда разработки на Python от компании JetBrains. Более тяжеловесная, чем VS Code, и включает в себя дополнительные инструменты для профессиональной работы над большими проектами. Есть как бесплатная версия, так и продвинутая по подписке. Для разработки даже самых сложных ботов хватит возможностей бесплатной версии PyCharm.
Как создать своего бота в Telegram
Разработка Telegram-бота начинается с его создания в мессенджере. Для этого команда сервиса предусмотрела специального бота BotFather, через которого осуществляется управление другими ботами пользователя. Важно отметить, что BotFather доступен только под этим именем и оснащен синей галочкой верификации. Найти его можно через строку поиска или по ссылке.
После перехода в BotFather нажимаем на кнопку «Начать». В чат придет сообщение со списком всех команд, доступных в боте. Так как мы создаем нового бота, то нам нужна команда `/newbot`. Ее можно выбрать из списка или ввести с клавиатуры и отправить в чат.
После этого BotFather попросит ввести название бота, которое пользователи будут видеть в его профиле и списке своих чатов. Оно может быть любым, но должно передавать суть бота и его возможности. Мы разрабатываем бота для комплиментов, так его и назовем — «Комплименты».
Теперь нашему боту надо задать имя пользователя, по которому его можно будет найти в Telegram. В этом случае уже есть несколько правил оформления:
- имя бота должно заканчиваться словом `bot`: к примеру, `SuperBot` или `super_bot`. Это обязательное требование Telegram, чтобы пользователи могли отличать обычные профили от ботов. Исключение делается только для внутреннего BotFather, имя которого начинается с ключевого слова, а не заканчивается им;
- имя бота должно быть уникальным, а учитывая, что многие создают ботов ради эксперимента и не удаляют их, то найти подходящий свободный вариант может быть проблематично.
Исходя из всего этого, подбираем звучное имя, состоящее из ключевых слов, которые бы точно описывали его суть. Для экспериментов можно использовать просто набор символов. В нашем случае имя `compliment_bot` уже было занято, поэтому использовали `super_compliment_bot`. Получилось слишком длинно, но отражает суть.
После регистрации BotFather передаст нам токен для доступа к нашему боту и подскажет ссылки на официальную документацию по разработке ботов для Telegram. Важно запомнить, что токен надо держать в секрете. С его помощью можно полностью управлять ботом и сообщениями, которые он отправляет. Посторонние лица, не имеющие отношения к разработке вашего бота, не должны его знать.

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

Для этого опять откроем BotFather, введем команду `/mybots` и выберем из списка только что созданного бота. Перед нами откроется меню управления ботом.

Коротко о каждом пункте меню:
API Token — можно узнать токен, если потеряли его. Также можно отозвать имеющийся токен и сгенерировать новый, если кто-то все же узнал его и перехватил на себя управление ботом;
Edit Bot — меню редактирования бота, в котором можно изменить имя, добавить описание, иконку, приветственное изображение и команды;
Bot Settings — тут можно выдавать боту права на взаимодействия с сообщениями в групповых чатах и каналах, добавлять кнопки и включить инлайн-режим;
Payments — бот может принимать платежи, к примеру, можно предлагать его функции по подписке или продавать через него товары. В этом пункте меню можно подключить платежную систему для обработки платежей и банковский счет. Есть поддержка российских платежных систем;
Transfer Ownership — бот принадлежит пользователю, который его создал, но права на владение и управление можно передать с помощью этого пункта меню;
Delete Bot — если бот больше не нужен, то его можно удалить, освободив список свободных уникальных имен.
У нашего бота пока есть только название. Теперь зададим ему описание, которое будет видно в окне его профиля. Для этого в меню бота выбираем Edit Bot → Edit About и присылаем в чат короткое описание. После зададим расширенное описание, выводящееся в чате новым пользователям. Переходим в Edit Bot → Edit Description и присылаем текст.
Для узнаваемости боту надо установить иконку, которую будет видно в списке чатов пользователя. Для иконок есть ограничения:
- формат файла должен быть jpg или png;
- квадратное изображение не меньше 300×300px и не больше 1280×1280px. Лучше всего использовать изображения размером 500×500px;
- изображение надо отправить BotFather в виде фото, а не файла.
Также боту можно задать изображение с описанием его возможностей. Его будут видеть новые пользователи при переходе в чат. Можно использовать картинки размером 640×360px или гифки 320×120px/640×360px. На таком изображении можно тезисно указать возможности бота и оставить QR-код с ссылкой на сайт компании или разработчика для пользователей, которые используют настольную версию Telegram.
Иконку бота можно задать, перейдя в Edit Bot → Edit Botpic, а изображение-описание — Edit Bot → Edit Description Picture. После настройки наш Telegram-бот выглядит так:

Начинаем программировать
Теперь у нас есть готовый оформленный бот, который ничего не умеет. Если открыть и запустить бота командой `/start` или кнопкой, то ничего не произойдет. Поэтому надо его оживить и научить обрабатывать сообщения от пользователя. Наш бот будет присылать в чат случайный комплимент из собственной коллекции.
Сперва надо установить среду разработки. В этой статье будем использовать PyCharm от JetBrains. Скачать установочный файл можно с официального сайта разработчика. Скачать и установить Python можно с официального портала. Проверить установленную версию Python можно с помощью следующей команды:

При создании бота мы будем в основном работать с библиотекой telebot. Поэтому ее надо установить. Заходим в PyCharm и создаем новый проект с названием `bot`. PyCharm создаст необходимое окружение, в котором мы установим библиотеку. Для этого надо открыть вкладку Terminal в редакторе кода и ввести команду `pip install pyTelegramBotAPI` для Windows или `pip3 install pyTelegramBotAPI` для macOS.
В папке проекта должен был автоматически появиться файл `main.py`. Если этого не произошло, то создаем его сами. Теперь научим нашего бота здороваться. Для этого в файле `main.py` импортируем `telebot`, создадим переменную `token` с нашим токеном и передадим его экземпляру бота.
import telebot # Импортируем telebot token = ('Ваш токен') bot = telebot.TeleBot(token)
Теперь создадим хендлер для обработки команды `/start`. Хендлер (Heandler) или обработчик — функция, которая вызывается в ответ на наступление определенного события. В случае с Telegram хендлер запускает функцию при получении сообщения.
В самом хендлере создадим функцию `start_message` с текстом сообщения, которым бот будет отвечать на полученную команду. Нам нужно бесконечное выполнение кода, чтобы бот работал всегда и был доступен в любое время суток. Поэтому завершим все строкой `bot.polling(none_stop=*True*, interval=0)`, которая будет запускать бесконечное выполнение.
import telebot # импортируем telebot # передаём значение переменной с кодом экземпляру бота token = ('Ваш токен') bot = telebot.TeleBot(token) # хендлер и функция для обработки команды /start @bot.message_handler(commands=['start']) def start_message(message): bot.send_message(message.chat.id, "Привет ✌️") # бесконечное выполнение кода bot.polling(none_stop=True, interval=0) Встроить код
Сейчас можно попробовать запустить код в PyCharm и открыть бота в Telegram. Если отправить ему команду `/start`, то он ответит сообщением, которое мы передали ему в коде. Бот работает, значит, можно наращивать его возможности.

Сейчас токен бота находится в одном файле с его кодом. Такой подход можно применять в разработке, но если надо будет поделиться кодом с кем-то или опубликовать его на GitHub, то токен надо будет удалять и тратить на это время. А еще можно просто забыть удалить токен, и тогда безопасность бота будет под вопросом.
Поэтому создадим в папке проекта файл `secrets.py` и в файле инициализируем словарь с ключом `BOT_API_TOKEN` и самим токеном в виде значения ключа.
secrets = Встроить код
Теперь вернемся к файлу `main.py`, импортируем словарь из файла `secrets.py` и сделаем так, чтобы токен подтягивался из файла, а не находился в коде.
import telebot # импортируем telebot from secrets import secrets # импортируем словарь с токеном из файла secrets.py # передаём значение переменной с кодом экземпляру бота token = secrets.get('BOT_API_TOKEN') bot = telebot.TeleBot(token) # хендлер и функция для обработки команды /start @bot.message_handler(commands=['start']) def start_message(message): bot.send_message(message.chat.id, "Привет ✌️") # бесконечное выполнение кода bot.polling(none_stop=True, interval=0)
Снова запускаем код и проверяем. Бот продолжает отвечать на команду `/start`, но в его коде уже нет токена. Поэтому можно спокойно делиться файлом `main.py` и не бояться за безопасность.
Разработчики могут встраивать кнопки для удобного общения с Telegram-ботами. Воспользуемся этой возможностью и создадим несколько кнопок для автоматической отправки команд. Нам потребуется определение типов сообщений, поэтому для этого импортируем `types` из `telebot`. Часть с импортами в коде будет выглядеть так:
import telebot # импортируем telebot from secrets import secrets # импортируем словарь с токеном из файла secrets.py from telebot import types # для определения типов
Теперь перепишем хендлер для обработки команды `/start`. Он будет не только отправлять приветственное сообщение, но и инициализировать кнопки бота. В нашем боте две кнопки: «Старт» будет выводить краткую инструкцию по использованию бота, а «Комплимент» — присылать приятное сообщение из коллекции. Сами кнопки украсим эмодзи.
Вместе с этим заменим текст приветственного сообщения. Будем обращаться к пользователю по имени. Мы не можем знать имен всех пользователей, но их знает Telegram, поэтому спросим у него с помощью конструкции « . Весь код хендлера выглядит так:
# хендлер и функция для обработки команды /start @bot.message_handler(commands=['start']) def start_message(message): markup = types.ReplyKeyboardMarkup(resize_keyboard=True) start_button = types.KeyboardButton(" Старт") action_button = types.KeyboardButton(" Комплимент") markup.add(start_button, action_button) bot.send_message(message.chat.id, text="Привет, \nВоспользуйся кнопками".format(message.from_user), reply_markup=markup)

Бот обзавелся красивыми кнопками, но если попробовать нажать на них, то ничего не произойдет. Исправим это, дописав функции для ответа. Кнопка в Telegram просто отправляет в чат то, что на ней написано. Поэтому надо научить бота анализировать полученные сообщения и отвечать на сообщения-триггеры.
Для начала создадим коллекцию комплиментов в отдельном файле `compliments.py`:
compliments = ('Выглядишь лучшее всех!', 'Сегодня будет замечательный день!', 'Ты обязательно всё сможешь!', 'Я не встречал людей добрее тебя!', 'С тобой приятно проводить время!',)
После этого импортируем файл и модуль для работы со случайными числами:
import random # для выбора случайного комплимента from compliments import compliments # коллекция комплиментов
Теперь можно приступать к созданию хендлера для обработки кнопок. В условии будем отслеживать, какой текст пришел от пользователя. Если встречаем « Старт», то выводим краткое описание возможностей, если « Комплимент» — присылаем случайное сообщение из коллекции. На все остальные сообщения будем отвечать просьбой воспользоваться кнопками. Весь код хендлера выглядит так:
# хендлер для обработки нажатий кнопок @bot.message_handler(content_types=['text']) def buttons(message): if (message.text == " Старт"): bot.send_message(message.chat.id, text="Я могу поддержать тебя и поднять настроение. Просто попроси об этом") elif (message.text == " Комплимент"): bot.send_message(message.chat.id, text=f"") else: bot.send_message(message.chat.id, text="Я могу отвечать только на нажатие кнопок")

Бот готов, исправно работает, отвечает на сообщения и присылает в чат случайные комплименты из собственной коллекции, а его полный код выглядит так:
import telebot # импортируем telebot from secrets import secrets # словарь с токеном из файла secrets.py from telebot import types # для определения типов import random # для выбора случайного комплимента from compliments import compliments # коллекция комплиментов # передаём значение переменной с кодом экземпляру бота token = secrets.get('BOT_API_TOKEN') bot = telebot.TeleBot(token) # хендлер и функция для обработки команды /start @bot.message_handler(commands=['start']) def start_message(message): # создаём кнопки бота markup = types.ReplyKeyboardMarkup(resize_keyboard=True) start_button = types.KeyboardButton(" Старт") action_button = types.KeyboardButton(" Комплимент") markup.add(start_button, action_button) # приветсвенное сообщение для команды /start bot.send_message(message.chat.id, text="Привет, \nВоспользуйся кнопками".format(message.from_user), reply_markup=markup) # хендлер для обработки нажатий кнопок @bot.message_handler(content_types=['text']) def buttons(message): if (message.text == " Старт"): bot.send_message(message.chat.id, text="Я могу поддержать тебя и поднять настроение. Просто попроси об этом") elif (message.text == " Комплимент"): bot.send_message(message.chat.id, text=f"") else: bot.send_message(message.chat.id, text="Я могу отвечать только на нажатие кнопок") # бесконечное выполнение кода bot.polling(none_stop=True, interval=0)
А полное дерево файлов в проекте выглядит так:
. └── bot/ ├── main.py ├── secrets.py └── compliments.py
Сейчас бот работает только в том случае, если код запущен на компьютере. Поэтому пользователи не могут получить к нему постоянный доступ. Для этого надо арендовать виртуальный сервер, загрузить на него код бота и запустить. В таком случае бот будет доступен в любое время и не будет зависеть от компьютера разработчика.
Как добавить функционал и настроить ответы для бота в Телеграме?
Это можно сделать в конструкторе или прописать при помощи кода. В последнем случае нужно создать бота в Telegram, а затем написать ему серверную часть: код, который при нажатии на определенную кнопку будет высылать конкретный ответ. Для этого нужно создать кнопки, библиотеку ответов и хендлеры, которые организуют связь между действиями пользователя и ответами бота.
Как опубликовать и запустить бота в Телеграме?
Чтобы бот заработал, нужно разместить написанный код на арендованном сервере и создать бот в мессенджере. Код будет отвечать за связь сервера с чатом в Telegram.
Как продвигать и увеличить популярность своего бота в Телеграме?
Расскажите о своем боте на сайте, в социальных сетях и в email-рассылке. Для тестового периода лучше привести в бот теплую аудиторию, которая вас уже знает и читает. Они могут попробовать бот, написать вам об ошибках. После этого можно заняться платной рекламой: купить ее у Telegram или обратиться к блогерам.
На каком языке лучше написать бота?
На любом, который вы знаете. Ботов можно писать на Python, C, Java. Чаще всего для этой задачи выбирают Python, потому что он прост в использовании.
Python-разработчик
Освойте Python с нуля. Подготовим к трудоустройству: дадим много практики, реальные проекты для портфолио, поможем с резюме. Лучшие студенты пройдут стажировки в проектах компаний-партнеров.
Как самостоятельно сделать бота в «Телеграме» без навыков программирования

«Телеграм» — самое быстрорастущее приложение 2022 года в России.
За последние шесть месяцев суточная аудитория мессенджера выросла на 66%. Теперь и новые пользователи, и пришедший вслед за ними бизнес знакомятся с одной из главных особенностей «Телеграма» — тысячами местных ботов.
Ботов делают все: команда мессенджера, компании, обычные люди. Они популярны и на рынке разработки: на платформе Kwork более тысячи фрилансеров предлагают создать бота. Цены разные: от 500 до 500 тысяч рублей в зависимости от сложности задачи. Далеко не все готовы тратить такие деньги или изучать программирование ради создания бота. Поэтому появилось множество платформ, освоение которых не требует особых навыков.
Я узнал, как бесплатно создать телеграм-бота , и попробовал самостоятельно сделать это в разных ноукод-сервисах. Но для тех, кто разбирается в программировании, есть бонусный раздел: там я при помощи разработчика Ильи Гринзовского пошагово рассказываю о создании небольшого бота на Python.
Что вы узнаете из материала
ПАРТНЕРСКИЙ МАТЕРИАЛ
Я заработала 100 000 рублей на Tinkoff Black
Узнайте, как повторить этот опыт и оформить карту

Хочу знать
Какие бывают телеграм-боты
Телеграм-боты — это мини-программы внутри мессенджера, которые управляются текстовыми командами в чате по принципу «вопрос — ответ». Подобная технология была еще в «Аське» конца нулевых: боты присылали анекдоты, гороскопы, статьи из «Википедии» и переводили тексты.
С 2015 года любой пользователь может сделать собственного бота в «Телеграме». Со временем они становились все сложнее и функциональнее: с помощью ботов можно управлять сообществами, бронировать места в кафе, переводить тексты и войсы, скачивать файлы, обрабатывать платежи. Некоторые даже используют нейросети: например, ruDALL-E Malevich от «Сбера» генерирует картинку по описанию, которое можно отправить прямо в чат.

В апреле 2022 года команда «Телеграма» представила второе поколение ботов: разработчики получили средства для полноценных интерфейсов на JavaScript внутри мессенджера. Такие боты уходят от стандартной модели «вопрос — ответ в чате» и заменяют целые сайты. Вот как это выглядит в тестовом приложении для заказа еды.

Пока это только демоверсия, но она уже показывает возможности нового поколения ботов
Ботов можно разделить на несколько категорий.
Классические чат-боты. Программы, которые ведут диалог с пользователем. Виртуальный собеседник обычно реагирует на заранее прописанные фразы, темы и команды. Так можно, к примеру, оптимизировать штат людей-операторов. Другие чат-боты пытаются имитировать человеческую беседу, но пользы от них не так много.
Помощники в администрировании. Пригодятся владельцам каналов и групповых чатов. Умеют собирать статистику, добавлять к постам реакции, URL-кнопки , файлы, создавать отложенные публикации, как ControllerBot. Или отслеживать активность в чате, выдавать предупреждения и настраивать антиспам-фильтры — это умеет Combot.
Магазины. Компании переносят свои каталоги в мессенджер — для тех, кому проще выбрать товар и оплатить его прямо в «Телеграме». Например, через Baggins можно купить чашку кофе, а через G_Shop — женскую одежду. Главный минус таких магазинов — запутанный интерфейс: сложно просмотреть все товары и собрать корзину.
Инструменты. Разнообразные боты, которые добавляют мессенджеру новые функции. Они позволяют читать электронные письма, как Gmail Bot, отслеживать цены на билеты, как AviasalesBot, или проверить свой заказ в боте СДЭКа. Еще они напоминают о штрафах, скачивают файлы по URL и распознают музыку по аудиосообщению.
Боты Telegram: всё, что вы хотели про них спросить

Российский мессенджер Telegram в июне 2015 года открыл платформу для создания ботов, которые откликаются на команды пользователей и взаимодействуют с внешними сервисами. С тех пор многие СМИ уже создали своих ботов и с их помощью активно привлекают мобильную аудиторию на свои сайты. Мы попытаемся ответить на самые очевидные вопросы про ботов: что это, как с ними быть, что они могут и как сделать бота для своего СМИ. Итак, /start.
Максим Корнев, доцент кафедры ТРИТ факультета журналистики, Институт массмедиа РГГУ
Материал впервые опубликован в журнале «Журналист» №11/2015
Кто такие «боты»? Это «тролли на зарплате», которые в Ольгино сидят?
Нет. У слова «бот» сейчас несколько значений. И «ольгинские тролли» или «кремлеботы» тут ни при чем.
Изначально «бот» (сокращение от «робот») – программа, которая автоматически, по команде или заданному расписанию выполняет разные действия. Проще говоря, программа для совершения рутинных операций. Причем делает это через те же интерфейсы, что и обычный пользователь, как бы имитируя реального пользователя.
Чем бот лучше «реального пользователя»?
Бот, выполняя однообразную работу, не только экономит силы и время человека, но делает работу на более высоких скоростях.
У ботов лучше реакция и точность действий по сравнению с человеком – это находит применение в компьютерных играх, интернет-аукционах, рекламе, электронной биржевой торговле и так далее. Боты применяются для имитации человеческой деятельности, в частности, в чатах. Это так называемые «чат-боты».
Чат-бота можно настроить на выдачу адекватных ответов на человеческом языке. Конечно, при условии, что он распознает и поддерживает такого рода команды.
Хорошо, а в Telegram-то они что делают?
Боты в Telegram — это разновидность чат-ботов. По правилам все их имена должны оканчиваться словом «bot». По своей сути – это те же пользовательские аккаунты, которыми вместо людей управляют программы.
Они помогают выполнять разные действия: переводить и комментировать, обучать и тестировать, искать и находить, спрашивать и отвечать, играть и развлекать, транслировать и агрегировать, встраиваться в другие сервисы и платформы, взаимодействовать с датчиками и вещами, подключенными к интернету. Ботов Telegram можно «Добавить в группу» (Add To Group), или ими «Поделиться» (Share). И это далеко не все возможности, которые представляет платформа для их создания.
Да, все боты, как и сам Телеграм, бесплатны. Однако возможность взимать плату с пользователей в сентябре 2015 года анонсировал создатель мессенджера Павел Дуров.

Зачем эти боты нужны? Какая от них польза?
Боты – это маленькие умные помощники. Их прелесть в том, что вам не нужно покидать экосистему мессенджера, чтобы решить элементарную задачу: спросить, уточнить, узнать, посчитать. Каждый бот сам по себе, но вместе они образуют вашу личную армию ассистентов, каждому из которых вы даете поручение, а они безропотно и четко выполнят ваши пожелания.
Боты — это небольшие шестеренки и приводные ремни к вашим задачам, которые могут действовать слаженно, если с умом подогнать их друг к другу. Скажем, на какие-то конкретные действия вы можете настроить ботов к определенному времени. Например, доставлять вам с утра свежие новости, прогноз погоды, ситуацию по пробкам. А вечером – рекомендацию по фильму, смешные анекдоты и рецепт дня.
В умелых руках боты могут стать очень мощным ресурсом для организации своего времени и автоматизации повторяющихся действий.
Как общаться с ботом? Как он работает?
Начать работу с ботом просто: достаточно выбрать его из каталога, перейти по ссылке или найти по имени через поиск и вступить с ним в переписку. Чаще всего, для запуска бота вводится команда /start или предлагается нажать кнопку старта на виртуальной клавиатуре. Для работы могут использоваться программируемые кнопки виртуальной клавиатуры, за счет которых бот превращается в мини-приложение с интуитивно понятным интерфейсом.
Дальше бот пришлет вам информацию о себе, инструкции, а также список команд или выведет доступные команды-кнопки на экран.
Есть ли у ботов применение в быту или это очередная игрушка для гиков?
Боты могут быть крайне полезны во всех сферах жизни.С помощью ботов можно связывать объекты материального мира с пользователем. Особенно большие перспективы рисуются в связи с развитием интернета вещей (Internet of Things).
Связь с устройствами и датчиками позволяет реализовать концепцию «умного дома» даже без больших финансовых затрат. Например, российские разработчики научили домашние счетчики воды общаться с владельцем квартиры через мессенджер Telegram. То есть человеку достаточно запросить у бота данные по счетчикам и получить телеметрические сведения прямо к себе на смартфон. Систему планируют привязать к Google Speech API, что позволит использовать голосовое управление.
А кто-то использует ботов Telegram для организации взаимодействия людей, например, позволяя заказчику видеть ход работ и контролировать рабочий процесс.
Что могут дать боты журналистам и издателям?
Применение ботов ограничено только фантазией издателя. Самое просто, что можно сделать – создать мини-представительство своей редакции или проекта. В нём, например, можно дать описание своего издания и контакты, а также настроить обновления по выходу всех или выборочных материалов.
С помощью ботов можно проводить опросы, установить напоминания или привлечь бота в дискуссию, задав ему предварительно параметры для ответов.
Для оживления беседы в групповой чат можно позвать ботов, рассказывающих скабрезные «Анекдоты категории Б» или проверяющих грамматику и указывающих на ошибки.
Боты помогут также вести статистику и наблюдать за активностью в ваших чатах. Сотрудниками Яндекса на базе сервиса статистики Яндекс.Метрика уже создана система аналитики для Telegram-ботов — Botan.
Новые полезные боты для деловых людей появляются регулярно, как и обзоры таких ботов.
Это неопасно? Может, они крадут персональные данные или содержат вирусы?
Боты безопасны. Теоретически боты могут предложить выйти на внешние ресурсы по ссылке, где вас будет поджидать небезопасный контент или вирусы. И это не будет отличаться от того, что вам случайно или специально могут прислать в сообщении другие пользователи.
Однако в рамках самого Telegram боты не могут сделать ничего плохого, так как по своей сути это те же аккаунты пользователей, только управляются алгоритмически. Как и обычного пользователя, надоевшего бота можно удалить и заблокировать.
Важно, что бот не выступает инициатором беседы – это вы первый отправляете ему запрос, поэтому без вашего позволения бот не может вас побеспокоить. Кроме того, даже бот, добавленный к вам в группу, по умолчанию настроен так, чтобы не «видеть» ваших переговоров. То есть его создатель не сможет шпионить и перехватывать сообщения из чата, куда добавлен бот.
Где мне найти бота?
Обзоры ботов появляются регулярно в разных медиа. Однако гораздо удобнее использовать каталоги ботов. Например, Telegram Bot Store. Там боты ранжированы по популярности и свежести, разобраны по языкам и категориям (игры, развлечения, фото и видео, обучение, новости, утилиты, для взрослых и так далее).
Такого рода бот-сторы упорядочивают и делают более понятной и доступной экосистему телеграм-ботов. Можно также подписаться на одно из сообществ в соцсетях.
Как сделать своего бота? Нужны ли специальные навыки?
Чтобы сделать бота с персональными настройками, очевидно, понадобятся специальные знания. Прежде всего, знание английского языка, чтобы разобраться в описании возможностей ботов и интерфейсе взаимодействия с ботами (Bot API).
В Интернете с каждым днём становится всё больше советов, инструкций и мануалов по созданию и настройке ботов даже без специальных знаний.
Например, с помощью ботов Telegram вы можете настроить за 15 минут чат-помощника на собственный сайт.
Хочу сделать бота для своего медиа? Есть варианты, как это сделать без специальных навыков?
Для создания нового бота нужно пойти к «отцу ботов» в аккаунт @BotFather, создать нового бота, дать ему имя и получить уникальный ключ-идентификатор. Дальше, если у вас нет знаний в программировании, идёте к другому боту @Paquebot. Он предложить привязать вашего бота к себе, а дальше вы сможете рассылать сообщения всем, кто установил и запустил вашего бота, в том числе и в групповых чатах.

Также есть возможность настроить автоматическую рассылку ваших сообщений посредством RSS, через связку @Paquebot и программы Zapier.
Пять медиа, у которых уже есть свои боты:
1. Лайфхакер (@LifeHackerRuBot) – Оповещает о выходе новых материалов, а также доставит вам в ленту картинки котиков и комиксы xkcd.
2. National Geographic (@nationalgeographic_bot) – традиционно красивые фотографии со всего мира. Можно настроить ежедневные рассылки в формате дайджеста или выбрать снимки по тематикам или животным.
3. Блогер Илья Варламов (@varlamovbot) – бот присылает новые публикации известного блогера, фотографии его кошки Марты, а также предлагает сыграть в игру «угадай город по фотографии».
4. Meduza (@meduzaprobot) – бот новостного проекта Meduza. Поддерживает множество команд, в том числе, вывод трех топ-новостей и поиск по материалам.
5. Vc.ru (@smmrussiabot) — Официальный бот издания, присылает ссылки на свежие материалы.

Читайте наши самые популярные материалы:
