Сделать телеграмм бота самому бесплатно пошаговая инструкция

Время на прочтение
6 мин

Количество просмотров 1.6M

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

Прежде всего, бот для Telegram — это по-прежнему приложение, запущенное на вашей стороне и осуществляющее запросы к Telegram Bot API. Причем API довольное простое — бот обращается на определенный URL с параметрами, а Telegram отвечает JSON объектом.

Рассмотрим API на примере создания тривиального бота:

1. Регистрация

Прежде чем начинать разработку, бота необходимо зарегистрировать и получить его уникальный id, являющийся одновременно и токеном. Для этого в Telegram существует специальный бот — @BotFather.

Пишем ему /start и получаем список всех его команд.
Первая и главная — /newbot — отправляем ему и бот просит придумать имя нашему новому боту. Единственное ограничение на имя — оно должно оканчиваться на «bot». В случае успеха BotFather возвращает токен бота и ссылку для быстрого добавления бота в контакты, иначе придется поломать голову над именем.

Для начала работы этого уже достаточно. Особо педантичные могут уже здесь присвоить боту аватар, описание и приветственное сообщение.

Не забудьте проверить полученный токен с помощью ссылки api.telegram.org/bot<TOKEN>/getMe, говорят, не всегда работает с первого раза.

2. Программирование

Создавать бота буду на Python3, однако благодаря адекватности этого языка алгоритмы легко переносятся на любой другой.

Telegram позволяет не делать выгрузку сообщений вручную, а поставить webHook, и тогда они сами будут присылать каждое сообщение. Для Python, чтобы не заморачиваться с cgi и потоками, удобно использовать какой-нибудь реактор, поэтому я для реализации выбрал tornado.web. (для GAE удобно использовать связку Python2+Flask)

Каркас бота:

URL = "https://api.telegram.org/bot%s/" % BOT_TOKEN
MyURL = "https://example.com/hook"

api = requests.Session()
application = tornado.web.Application([
    (r"/", Handler),
])

if __name__ == '__main__':
    signal.signal(signal.SIGTERM, signal_term_handler)
    try:
        set_hook = api.get(URL + "setWebhook?url=%s" % MyURL)
        if set_hook.status_code != 200:
            logging.error("Can't set hook: %s. Quit." % set_hook.text)
            exit(1)
        application.listen(8888)
        tornado.ioloop.IOLoop.current().start()
    except KeyboardInterrupt:
        signal_term_handler(signal.SIGTERM, None)

Здесь мы при запуске бота устанавливаем вебхук на наш адрес и отлавливаем сигнал выхода, чтобы вернуть поведение с ручной выгрузкой событий.

Приложение торнадо для обработки запросов принимает класс tornado.web.RequestHandler, в котором и будет логика бота.

class Handler(tornado.web.RequestHandler):
        def post(self):
            try:
                logging.debug("Got request: %s" % self.request.body)
                update = tornado.escape.json_decode(self.request.body)
                message = update['message']
                text = message.get('text')
                if text:
                    logging.info("MESSAGEt%st%s" % (message['chat']['id'], text))

                    if text[0] == '/':
                        command, *arguments = text.split(" ", 1)
                        response = CMD.get(command, not_found)(arguments, message)
                        logging.info("REPLYt%st%s" % (message['chat']['id'], response))
                        send_reply(response)
            except Exception as e:
                logging.warning(str(e))

Здесь CMD — словарь доступных команд, а send_reply — функция отправки ответа, которая на вход принимает уже сформированный объект Message.

Собственно, её код довольно прост:

def send_reply(response):
    if 'text' in response:
        api.post(URL + "sendMessage", data=response)

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

3. Команды

Перво-наперво, необходимо соблюсти соглашение Telegram и научить бота двум командам: /start и /help:

def help_message(arguments, message):
    response = {'chat_id': message['chat']['id']}
    result = ["Hey, %s!" % message["from"].get("first_name"),
              "rI can accept only these commands:"]
    for command in CMD:
        result.append(command)
    response['text'] = "nt".join(result)
    return response

Структура message[‘from’] — это объект типа User, она предоставляет боту информацию как id пользователя, так и его имя. Для ответов же полезнее использовать message[‘chat’][‘id’] — в случае личного общения там будет User, а в случае чата — id чата. В противном случае можно получить ситуацию, когда пользователь пишет в чат, а бот отвечает в личку.

Команда /start без параметров предназначена для вывода информации о боте, а с параметрами — для идентификации. Полезно её использовать для действий, требующих авторизации.

После этого можно добавить какую-нибудь свою команду, например, /base64:

def base64_decode(arguments, message):
    response = {'chat_id': message['chat']['id']}
    try:
        response['text'] = b64decode(" ".join(arguments).encode("utf8"))
    except:
        response['text'] = "Can't decode it"
    finally:
        return response

Для пользователей мобильного Telegram, будет полезно сказать @BotFather, какие команды принимает наш бот:
I: /setcommands
BotFather : Choose a bot to change the list of commands.
I: @******_bot
BotFather: OK. Send me a list of commands for your bot. Please use this format:

command1 - Description
command2 - Another description
I:
whoisyourdaddy - Information about author
base64 - Base64 decode
BotFather: Success! Command list updated. /help

C таким описанием, если пользователь наберет /, Telegram услужливо покажет список всех доступных команд.

4. Свобода

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

UPD: Как верно подсказали, такое пройдет только при личном общении. В чатах боту доставляются только сообщения, начинающиеся с команды (/<command>) (https://core.telegram.org/bots#privacy-mode)

  • All messages that start with a slash ‘/’ (see Commands above)
  • Messages that mention the bot by username
  • Replies to the bot’s own messages
  • Service messages (people added or removed from the group, etc.)

Чтобы бот получал все сообщения в группах пишем @BotFather команду /setprivacy и выключаем приватность.

Для начала в Handler добавляем обработчик:

if text[0] == '/':
    ...
else:
    response = CMD["<speech>"](message)
    logging.info("REPLYt%st%s" % (message['chat']['id'], response))
    send_reply(response)

А потом в список команд добавляем псевдо-речь:

RESPONSES = {
    "Hello": ["Hi there!", "Hi!", "Welcome!", "Hello, {name}!"],
    "Hi there": ["Hello!", "Hello, {name}!", "Hi!", "Welcome!"],
    "Hi!": ["Hi there!", "Hello, {name}!", "Welcome!", "Hello!"],
    "Welcome": ["Hi there!", "Hi!", "Hello!", "Hello, {name}!",],
}
def human_response(message):
    leven = fuzzywuzzy.process.extract(message.get("text", ""), RESPONSES.keys(), limit=1)[0]
    response = {'chat_id': message['chat']['id']}
    if leven[1] < 75:
        response['text'] = "I can not understand you"
    else:
        response['text'] = random.choice(RESPONSES.get(leven[0])).format_map(
            {'name': message["from"].get("first_name", "")}
        )
    return response

Здесь эмпирическая константа 75 относительно неплохо отражает вероятность того, что пользователь всё-таки хотел сказать. А format_map — удобна для одинакового описания строк как требующих подстановки, так и без нее. Теперь бот будет отвечать на приветствия и иногда даже обращаться по имени.

5. Не текст.

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

Для примера расширим словарь RESPONSES:

RESPONSES["What time is it?"] = ["<at_sticker>", "{date} UTC"]

И будем отлавливать текст <at_sticker>:

if response['text'] == "<at_sticker>":
        response['sticker'] = "BQADAgADeAcAAlOx9wOjY2jpAAHq9DUC"
        del response['text']

Видно, что теперь структура Message уже не содержит текст, поэтому необходимо модифицировать send_reply:

def send_reply(response):
    if 'sticker' in response:
        api.post(URL + "sendSticker", data=response)
    elif 'text' in response:
        api.post(URL + "sendMessage", data=response)

И все, теперь бот будет время от времени присылать стикер вместо времени:

6. Возможности

Благодаря удобству API и быстрому старту боты Telegram могут стать хорошей платформой для автоматизации своих действий, настройки уведомлений, создания викторин и task-based соревнований (CTF, DozoR и прочие).

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

7. Ограничения

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

К счастью, Telegram также умеет работать и по ручному обновлению, поэтому не меняя кода можно создать еще одну службу Puller, которая будет выкачивать их и слать на локальный адрес:

while True:
            r = requests.get(URL + "?offset=%s" % (last + 1))
            if r.status_code == 200:
                for message in r.json()["result"]:
                    last = int(message["update_id"])
                    requests.post("http://localhost:8888/",
                                  data=json.dumps(message),
                                  headers={'Content-type': 'application/json',
                                           'Accept': 'text/plain'}
                     )
            else:
                logging.warning("FAIL " + r.text)
            time.sleep(3)

P.S. По пункту 7 нашел удобное решение — размещение бота не у себя, а на heroku, благо все имена вида *.herokuapp.com защищены их собственным сертификатом.

UPD: Telegram улучшили Бот Апи, из-за чего, теперь не обязательно иметь отдельную функцию для отправки сообщений при установленном вебхуке, а в ответ на POST запрос можно отвечать тем же сформированным JSON с ответным сообщением, где одно из полей устанавливается как ч ‘method’: ‘sendMessage’ (или любой другой метод, используемый ботом).

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

Создадим бота, который будет приветствовать, задавать вопрос с вариантами ответов и реагировать на нажатие на кнопок.

Шаг 1. Создайте аккаунт разработчика

1. Зарегистрируйтесь на botmother.com с помощью электронной почты (на нее придет письмо с подтверждением) или войдите через Google.

2. Нажмите кнопку «Создать нового бота» (справа внизу).

3. Выберите «Пустой бот».

Перед вами откроется конструктор— это место, где можно разрабатывать бота и добавлять функции.

Слева находится меню с разделами конструктора. Справа — вкладка с компонентами и экранами. По центру — рабочая зона для разработки. В левом нижнем углу — виджет обратной связи. Если возникнут трудности, пишите в поддержку.

Логика бота создается с помощью экранов— это сообщения бота (шаги, этапы), внутри которых могут быть различные функции. Автоматически создается «Стартовый экран» — первое сообщение от бота.

На каждый экран можно добавлять компоненты— это функции и действия бота (например, отправление текста, картинок, кнопок и т.д.).

Все компоненты расположены на вкладке справа.

Шаг 2. Создайте приветствие

1. На вкладке «Компоненты» нажмите на компонент «Сообщение» и перетяните его на экран.

2. Напишите любой текст. Например, «Привет! Это мой первый бот».

3. Нажмите зеленую кнопку «Сохранить» (справа внизу).

Шаг 3. Подключите бота к мессенджеру

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

Создадим бота и придумаем ему название:

2. Напишите ему /newbot.

3. Придумайте и напишите название бота. Оно будет отображаться в контактах и чатах. Например, «Hello, bot».

4. Придумайте и напишите юзернейм. Он используется для упоминания бота и в ссылках. Юзернейм должен быть на латинице и обязательно заканчиваться на «bot». Например, «botmother_hello_bot».

Теперь нужно подключить бота в Telegram к вашему аккаунту разработчика:

2. Скопируйте токен бота.

3. Вернитесь в конструктор, найдите и откройте в меню слева раздел «Настройки».

4. Переключателем включите платформу Telegram.

5. Нажмите кнопку «Изменить».

6. Вставьте ранее скопированный токен бота.

7. Сохраните изменения.

Теперь бот подключен к конструктору, а значит, он может отвечать всем пользователям. Протестируем?

1. Найдите в поиске Telegram своего бота по юзернейму.

2. Нажмите «Начать» (или «Start»). Бот должен отправить приветственное сообщение.

Отлично! Ваш бот умеет отправлять сообщение.

Шаг 4. Добавьте дополнительные функции

Усложним бота. Пусть он задает вопрос с вариантами ответов и присылает разные сообщения в зависимости от выбора пользователя.

Например:

Текст: Как дела?

Первая кнопка: Хорошо

Вторая кнопка: Плохо

Для этого добавим еще два экрана, кнопки и изображение:

1. Откройте конструктор.

2. Добавьте два новых экрана. Для этого нажмите кнопку «Добавить экран» дважды.

3. Сохраните изменения.

Можно изменить названия добавленных экранов двойным кликом:

1. Два раза кликните на названия экранов.

2. Отредактируй тексты. Например, «Экран Хорошо» и «Экран Плохо».

Добавим кнопки, на которые пользователи смогут нажимать:

1. Переместите компонент «Кнопки» на «Стартовый экран».

2. Напишите текст. Например, «Как дела?».

3. Добавьте две кнопки.

4. Напишите тексты на кнопках. Например, «Экран Хорошо» и «Экран Плохо».

Каждая кнопка должна вести на определенный экран, который указывается в настройках кнопки:

1. Нажмите на первую кнопку.

2. В поле «Переход на экран» выберите экран «Экран Хорошо».

3. Нажмите на вторую кнопку.

4. Выберите другой экран — «Экран Плохо».

5. Сохраните изменения.

Итак, на «Стартовом экране» пользователь нажимает на кнопки и попадает на разные экраны. Нужно заполнить их контентом:

1. Переместите компонент «Изображение» на экран «Экран Хорошо».

2. Загрузите любую картинку или вставьте ссылку на изображение.

3. Сохраните изменения.

Теперь заполним следующий экран:

1. Переместите компонент «Сообщение» на экран «Экран Плохо».

2. Напишите текст. Например, «Не унывай, все будет хорошо!». Можно добавить эмодзи.

3. Сохраните изменения.

Все готово!

Шаг 5. Протестируйте бота

У нас получился такой сценарий: бот приветствует пользователя и задает вопрос с вариантами ответов; пользователь нажимает кнопку, и бот присылает определенное сообщение. Давайте протестируем!

1. Откройте своего бота.

2. Напишите команду /start.

3. Понажимайте на кнопки.

Поздравляем!

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

Можете поэкспериментировать с ботом: изменить тексты, добавить новые экраны и компоненты или изменить сценарий. Дополнительную информацию можно найти в базе знаний, а вопросы пишите через виджет обратной связи.

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

Функции ботов в Телеграме

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

1. Отправка сообщений

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

2. Прием сообщений

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

3. Создание меню и кнопок

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

4. Интеграция сторонних сервисов и API

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

5. Создание команд и функций для администрирования

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

6. Работа с базой данных и сохранение данных

Боты умеют сохранять информацию и данные, введенные пользователями, для дальнейшего использования. Они работают с базами данных для хранения данных или используют другие методы сохранения информации, например, файлы или API.

7. Создание игр и развлечений

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

Так что боты в Telegram имеют широкий спектр функций, которые могут быть адаптированы под разные потребности. Они позволяют автоматизировать задачи, взаимодействовать с пользователями и предоставлять новые возможности в мессенджере Telegram. Если вы заинтересованы в создании собственного бота, воспользуйтесь Telegram API и языком программирования, таким как Python, для реализации своих идей и построения функционального бота. Но об этом мы еще расскажем чуть позже.

Виды ботов в Телеграме

В Telegram существует много различных видов ботов, каждый из которых имеет свои особенности и функции. Давайте рассмотрим некоторые из наиболее популярных видов ботов в Телеграме.

1. Информационные боты

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

2. Командные боты

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

3. Чат-боты

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

4. Торговые боты

Работают в сфере финансовых рынков и предоставляют информацию и аналитику о рынке и инвестиционных возможностях. Они могут предоставлять котировки акций, валюты и других финансовых инструментов, а также помогать в принятии торговых решений на основе анализа рынка.

5. Игровые боты

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

6. Административные боты

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

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

Какие навыки нужны, чтобы написать своего бота в телеграм

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

Хотя создание бота в Телеграме не требует глубокого понимания программирования, базовые знания по языкам, таким как Python, JavaScript или Node.js, будут полезными. Кроме того, для создания бота в Телеграме необходимо понимание работы Telegram Bot API. Оно предоставляет различные методы и возможности для взаимодействия с ботами в Телеграме. Ознакомьтесь с документацией по API и изучите все доступные функции.

Хорошее понимание процесса разработки пользовательских интерфейсов может также помочь в создании бота, который будет удобен для использования и легко понятен пользователям. Рассмотрите, какие кнопки, меню или интерактивные элементы вы хотите включить в свой бот. Если ваш бот будет иметь функционал, требующий сохранения данных, вам понадобятся знания работы с базами данных. Рассмотрите различные типы баз данных и выберите подходящий для вашего проекта.

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

Как сделать бота в Телеграме

Шаг 1: Создание аккаунта и получение API ключа

Прежде чем создать телеграм бота, вам необходимо иметь аккаунт в Telegram. Войдите в свой аккаунт и найдите бота по имени @BotFather. Нажмите на кнопку Start и следуйте инструкциям botfather для создания нового бота. Важный момент: нужно получить уникальный API ключ (токен), который понадобится в дальнейших шагах.

Шаг 2: Установка и настройка Python и библиотеки python-telegram-bot

Перед созданием самого бота, вам необходимо установить Python и python-telegram-bot. Python – это язык программирования, на котором будет написан ваш бот, а python-telegram-bot – библиотека, обеспечивающая взаимодействие с Telegram API. Скачайте и установите Python с официального сайта python.org, затем откройте командную строку и выполните следующую команду для установки библиотеки:

pip install python-telegram-bot

Шаг 3: Написание кода для бота

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

from telegram.ext import Updater, CommandHandler

def start(bot, update):

bot.send_message(chat_id=update.message.chat_id, text=»Привет! Я тестовый телеграм бот.»)

updater = Updater(token=’YOUR_API_KEY‘)

dispatcher = updater.dispatcher

start_handler = CommandHandler(‘start‘, start)

dispatcher.add_handler(start_handler)

updater.start_polling()

Замените пункт YOUR_API_KEY на полученный ранее API ключ. Код выше создает простейшего бота, который будет отвечать на команду /start сообщением. Вы можете настроить его для выполнения конкретных действий, добавив дополнительные обработчики команд (Command Handler) и функции для их обработки.

Шаг 4: Запуск и проверка бота

Сохраните файл и запустите его. Проверьте, что бот работает, отправив /start сообщение в чате, где вы добавили его. Если все настроено правильно, вы должны получить ответное сообщение от вашего телеграм бота.

Расширение функционала бота

Теперь, когда ваш базовый бот работает, вы можете расширить его функциональность добавлением дополнительных команд и обработчиков для них. Дело в том, что иногда стандартный функционал может оказаться ограниченным, и пользователи захотят расширить возможности своего бота. Далее мы рассмотрим несколько способов самостоятельного расширения функционала в Telegram.

Telegram предоставляет Telegram Bot API, который позволяет взаимодействовать с ботом и расширять его функционал. Вы можете изучить описание Telegram Bot API, чтобы узнать о доступных методах и возможностях. Например, вы можете отправлять и получать сообщения, управлять клавиатурой, работать с медиафайлами и многое другое.

Расширить функционал своего бота можно, добавив собственные пользовательские команды. Например, вы можете создать команду /weather, чтобы получать текущую погоду, или /news, чтобы получать последние новости. Для этого вам понадобится знание программирования и использование Telegram Bot API.

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

Если ваш бот должен сохранять и обрабатывать данные, вам понадобятся базы данных. Вы можете использовать различные типы баз данных, такие как MySQL, PostgreSQL или MongoDB, чтобы хранить данные своего бота. Изучите работу с базами данных и настройте их интеграцию со своим ботом.

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

Не забывайте вовремя обновлять своего бота и учитывать отзывы пользователей. Регулярные обновления позволят добавить новый функционал и исправить возможные ошибки. Также прислушивайтесь к отзывам пользователей и улучшайте своего бота на основе их предложений и пожеланий.

Самостоятельное расширение функционала бота в Telegram позволяет создавать уникальные и полезные приложения, которые лучше отвечают потребностям пользователей. И вообще создание телеграм бота — задача несложная, если следовать этой пошаговой инструкции. Однако, для более развернутых задач потребуется более подробное и углубленное изучение Telegram API и python-telegram-bot.

ТОП-3 лучших конструкторов для создания телеграм ботов

Помимо BotFather, официального конструктора для создания чат бот в телеграмме, существуют и другие удобные программы для разработки ботов без написания кода.

1. Chatfuel

Это один из самых популярных конструкторов, позволяющий создавать боты для тг каналов. Одной из ключевых функций является автоответчик, который позволяет боту реагировать на сообщения от пользователей. Вы можете настроить разнообразные ответы на основе ключевых слов или фраз, а также определить, какие действия должны быть выполнены при получении определенного запроса. Кроме автоответов, Chatfuel позволяет создавать кнопки быстрого доступа, которые упрощают навигацию пользователей в боте. Вы можете настроить кнопки для выполнения различных действий, таких как оформление заказа, получение информации или переход на определенную страницу. Еще одна полезная особенность Chatfuel — возможность создания меню. Меню предоставляет пользователю список опций или команд, из которых он может выбрать. Это упрощает взаимодействие с ботом и позволяет пользователям быстро получать нужную информацию или выполнять нужные действия. Чат-бот с хорошо спроектированным меню обеспечивает более гладкую и продуктивную коммуникацию. Дополнительно, Chatfuel поддерживает интеграцию с различными сервисами и приложениями. Вы можете интегрировать бота с внешними API для доступа к внешним данным или использовать инструменты для подключения сторонних сервисов, таких как CRM, электронная почта или системы управления заказами. Это позволяет создавать более мощные и функциональные боты с дополнительными возможностями.

2. ManyChat

Предлагает широкий набор функций, инструментов и интеграций, позволяющих создавать интерактивные и полезные боты для тг. Имеет простой и интуитивно понятный интерфейс: можно визуально создавать диалоговые ветви, настраивать автоответы, создавать кнопки, опросы и другие интерактивные элементы, чтобы сделать бота более привлекательным и удобным для пользователей. Одной из ключевых функций ManyChat является возможность автоматизации действий бота. Вы можете настроить определенные действия для выполнения при получении запросов от пользователей. Это позволяет боту автоматически реагировать на сообщения и предоставлять информацию, осуществлять заказы, регистрировать пользователей и многое другое. ManyChat предлагает широкий выбор интеграций с различными сервисами и приложениями, например, с CRM-системами, системами управления заказами, электронной почтой и другими инструментами. Кроме того, ManyChat дает возможность создавать кнопки быстрого доступа, которые облегчают навигацию пользователя внутри бота. Кнопки можно настроить для выполнения различных действий, таких как переход на определенную страницу, заказ продукта или получение информации. Еще одна полезная функция ManyChat — создание опросов и форм, что полезно для сегментации пользователей и предоставления более персонализированного опыта взаимодействия с ботом.

3. Botpress

Одной из главных особенностей Botpress является его модульная архитектура. Это позволяет создавать ботов, способных выполнять сложные задачи, такие как обработка платежей, интеграция с другими сервисами и системами, а также аналитика и отчетность. Одной из главных преимуществ Botpress является его простота и интуитивно понятный пользовательский интерфейс. Botpress предоставляет собой графический интерфейс, который предоставляет возможность создания диалоговых сценариев при помощи перетаскивания блоков. Еще одна полезная особенность Botpress — его встроенный инструмент для обучения бота. С его помощью можно обучить бота распознавать и анализировать текстовые запросы пользователей, что позволяет создавать более интеллектуальные и понятные ответы. Botpress также поддерживает интеграцию с другими популярными сервисами и платформами, такими как Slack, Facebook Messenger, Microsoft Teams и другими. Благодаря этому можно создавать универсальные боты, которые могут работать на разных платформах и обеспечивать единый опыт для пользователей.

В настоящее время телеграмм-боты стали неотъемлемой частью современных коммуникаций и бизнес-процессов. Они помогают автоматизировать ответы на часто задаваемые вопросы, предоставлять информацию о товарах или услугах, а также обеспечивать поддержку пользователей. А благодаря конструкторам, создание телеграм ботов стало намного проще. Причем Chatfuel, ManyChat, Botpress — это только некоторые из множества доступных инструментов для создания ботов. То есть выбрать подходящий конструктор в зависимости от потребностей и уровня навыков особого труда не составит.

Читайте также, какие бывают боты и как ими пользоваться:

Читать на ЦО.РФ

Бот с вами Виды ботов и принципы их работы

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

Чат-бот может общаться с пользователями через мессенджеры или веб-сайты. Он помогает пользователям получать быстрые и точные ответы на свои вопросы в форме текста, необходимые инструкции или помощь в выборе товара или услуги. Чтобы использовать чат-бота, нужно обычно нажать кнопку «Начать» или «Написать», которая обычно находится на сайте или в мессенджере. После этого появляется меню, где можно выбрать нужную категорию или добавить вопрос или текст сообщения. Чат-бот также может предлагать готовые ответы на распространенные вопросы или позволяет выбрать ответы из готового списка. Для этого пользователь должен выбрать ответ из предложенных вариантов или ввести свой вариант ответа.

В статье разберем как быстро сделать сервис бота с инструкцией, где распишем что нажимать, расскажем как добавить функции и выбрать название (имя).

Что такое чат боты в Telegram

Чат-бот в Telegram – это отдельный аккаунт, который самостоятельно отвечает на сообщения пользователей.

Что такое бот в телеграм

Telegram

Бизнесу, который продвигается в Telegram (даже если делает SMM в другой соцсети), он дает возможность оптимизировать коммуникацию с клиентами: чат-бот всегда онлайн и отвечает собеседнику в любое время суток, реагирует и дает фидбек мгновенно. Это программа, которой можно доверить рутинные задачи. Например, приём заявок от клиентов, подбор товара по запросу, сбор обратной связи и ответы на стандартные вопросы.

Всех ботов для мессенджеров можно разделить на две группы:

  1. Для внешнего общения — с клиентами, партнерами и другими людьми, которые не работают в компании. Сюда входят продающие и обучающие боты. Первые помогают клиенту выбрать и купить нужный товар, а вторые отвечают на вопросы или предлагают полезную информацию о компании.
  2. Для внутреннего общения — между сотрудниками или разными отделами. С их помощью чаще всего заполняют отчёты или проверяют работу сотрудников.

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


Аспекты чат-ботов в Телеграм

Аспекты

Для лучшего понимания чат-ботов следует указать несколько аспектов:

  1. Робот представляет собой интерфейс, подключенный к вашему сервису на удаленном сервере.
  2. Для создания нового аккаунта не требуется номер телефона.
  3. Управление роботом осуществляется посредством HTTPS-запросов к специальному API для ботов от Телеграмм.
  4. Каждый бот получает индивидуальный токен вида 123456:QWE-RTY1234UiopA-zyx57W2v1u321ew22. Он нужен для того, чтобы получать запросы с помощью Bot API.
  5. Все запросы осуществляются только через HTTPS и могут быть двух видов: GET и POST.
  6. У получившегося бота не появится статус «онлайн», только подпись «бот». Он не сможет сам начать общение с пользователем, только отвечать.
  7. Телеграм выделяет для роботов ограниченное пространство на своих серверах, поэтому вся переписка с людьми стирается через некоторое время после запроса. Поэтому, если вы хотите сделать бота, укажите это в инструкции к нему.
  8. Владелец может разрешить использовать его бота в чатах и каналах. Такая разновидность носит название «инлайн-бот». Активируется режим командой /setinline в BotFather.

Также стоит заметить ряд преимуществ. Например:

  • доступен 24/7;
  • для создания чат-бота не нужен новый номер телефона;
  • все сообщения, создаваемые ботами, могут удаляться;
  • может переадресовывать на иные каналы коммуникации;
  • может отрабатывать возражения клиента;
  • нет ограничений по сложности коммуникаций, запрограммировать можно даже сложные сценарии общения.

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

Важно, чтобы название чат-бота запоминалось и пользователи могли быстро найти его снова.

Зачем нужны

Чтобы автоматически обрабатывать сообщения. Пользователь через свой аккаунт может написать вашему боту в обычном чате или канале, и тот ему обязательно ответит по разработанному скрипту. Он имитирует живое общение и может выпытывать у юзеров полезную для бизнеса информацию: номера телефонов, э-мейлы, анкетные данные и переносить их в переменные. Его можно научить командам, рассылать уведомления, отвечать на вопросы клиентов и делать все то, что менеджер раньше делал вручную. Это можно использовать в бизнесе (таргетированная реклама, контент и т.д.):

Зачем нужны Telegram-боты

Зачем нужны Telegram-боты
  1. презентовать себя и продукт
  2. разработка и отправка массовой рассылки с новостями подписчикам
  3. регистрировать на мероприятия, делать запись на консультацию, бронировать места
  4. выбор еды в меню для доставки, бронь столиков
  5. давать ответы на часто задаваемые вопросы
  6. дополнить курсы с нуля
  7. первичная обработка сообщений в службу поддержки
  8. сделать сервис покупки, доставки товаров, торговый пункт под ключ
  9. подписать пользователей на обновления
  10. выбор врача и запись для клиники
  11. сбор обратной связи, отзывов по продуктам и услугам, проводить опросы и т.д.
  12. развлекать подписчиков
  13. делать автопостинг, отложенные посты и подобные пункты
  14. проводить обучающие текстовые и видео курсы в Телеграм
  15. помощь в тайм-менеджменте (чат-бот может добавить событие в календарь, создать оповещения о событиях, добавить очень быстро текущее положение вещей)

Любые из этих действий можно упаковать в бота и не делать это вручную. Главное — грамотно продумать логику его поведения.


Что может заменить бот

Заменяет

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

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

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

Какие бывают телеграм-боты

Ботов можно разделить на несколько категорий. Разберемся подробнее:

Какие бывают телеграм-боты

Виды
  1. Классические чат-боты. Программы, которые ведут диалог с пользователем. Виртуальный собеседник обычно реагирует на заранее прописанные фразы, темы и команды, кнопку. Так можно, к примеру, оптимизировать штат людей-операторов. Другие пытаются имитировать человеческую беседу, но пользы от них не так много, нужна доработка.
  2. Помощники в администрировании. Пригодятся владельцам каналов и групповых чатов. Умеют собирать статистику, добавлять к постам реакции, файлы и URL кнопку добавить, создавать отложенные публикации, как ControllerBot. Или отслеживать активность в чате (например, нажатие на кнопку приветствия), выдавать команды, предупреждения и настраивать антиспам-фильтры — это умеет Combot.
  3. Магазины. Компании переносят свои каталоги в мессенджер — для тех, кому проще выбрать товар и оплатить его прямо в «Телеграме» по команде. Например, через Baggins можно купить чашку кофе, а через G Shop — женскую одежду. Главный минус таких магазинов — запутанный интерфейс: сложно просмотреть все товары и собрать корзину.
  4. Инструменты. Разнообразные боты, которые добавляют мессенджеру новые функции, команды. Они дают читать электронные письма, как Gmail Bot, отслеживать цены на билеты нажав кнопку, как Aviasales Bot, или проверить свой заказ в боте СДЭКа. Еще они напоминают о штрафах, скачивают файлы по URL и распознают музыку по аудиосообщению.
  5. Поисковики. В них можно бесплатно найти книги, музыку, фильмы и прочие файлы. Зачастую эти боты пиратские — и «Телеграм» их периодически блокирует, поэтому команде создать другой тип.
  6. Развлечения. Все, что поможет скрасить досуг: мемы, частушки, игры и не только. Так, бот KinomanBot по команде подбирает кино на вечер. Он ищет фильмы и сериалы и даёт ссылки, по которым их можно посмотреть. Кроме того, он следит за киноафишами и ищет кинотеатры, близкие к локации. Многие из таких ботов созданы для заработка на рекламе — но не все. Так, «Сбер» запустил бота, который генерирует по команде картинки на основе запросов пользователя. Бот работает на основе нейросети для генерации изображений ruDALL-E. Для пользователей такой бот — развлечение без рекламы, но для корпорации это реклама и продвижение их бренда, PR, и тестирование ИИ-системы.
  7. Боты обратной связи. Можно принимать заявки от пользователей, которые попадают в одно место — в чат вашего бота, а не засоряют личные сообщения.Такого бота также можно использовать в качестве чата поддержки клиентов, для проведения текстовых вебинаров — для сбора и генерирования обратной связи. Все что нужно — нажать одну из предложенных кнопок в диалоге.
  8. Боты-инструменты. Они для сложных функций. Один из таких ботов — Yandex.Translate. Он переводит слова и предложения на английский и русский в Telegram по команде, без перехода в браузер. Нужно ввести текст и нажать кнопку. Ещё один полезный бот — URL Uploader. Можно загружать файлы в Telegram. Чтобы загрузить файл, достаточно прислать боту URL документа и нажать кнопку. Есть и боты с более широкими возможностями. Andy English Bot, например, обучает новым английским словам, предлагает потренировать устную речь и даже поиграть в мини-игры на английском. Боты-инструменты позволяют зарабатывать на рекламе и переливать трафик внутри своих проектов, плюс полезный функциональный бот увеличивает узнаваемость бренда и лояльность к нему.
  9. Боты для заработка внутри Telegram. Некоторые боты предлагают платные функции. Частый сценарий — когда полезный бот с бесплатной версией с ограниченными возможностями и платной с расширенными. Один из таких — CrosserBot, бот для администраторов Telegram-каналов. Его бесплатная версия дает анализировать аудиторию Telegram-каналов и подбирать похожие по аудитории каналы и чаты по команде. В платной версии есть дополнительные инструменты: защита от атаки ботов, увеличенная скорость выгрузки данных, удаление подписчиков, присоединившихся к каналу в заданный период. Последняя функция — способ очистить канал после массовых подписок ботов. Иногда боты работают как полноценные онлайн-сервисы. Один из них — бот «Деньги за задания». Он продаёт услуги по накрутке Telegram-каналов. Бот выступает посредником между администраторами, которые хотят дешево привлечь подписчиков на канал, и людьми, готовыми нажать кнопку «Подписаться» за деньги.

Как сделать бота в Telegram без навыков программирования

Удобный способ создать бота с нуля — специальный телеграм бот или сервис. BotFather — это официальный бот Telegram для создания ботов. Давайте разберем на примере, чтобы было понятнее.


BotFather

BotFather

Запускаем бота, который будет приветствовать, задавать вопрос с вариантами ответов и реагировать на нажатие кнопок. Создать бесплатно можно так:

  1. Создайте свой аккаунт разработчика на платформе для создания бота. Зарегистрируйтесь с помощью электронной почты (на нее придет письмо с подтверждением) или войдите через Google.
  2. Нажмите кнопку команды «Создать нового бота» (справа внизу, будет надпись “создать”).
  3. Выберите команду, кнопку «Пустой бот». Перед вами откроется конструктор— это место, где можно разрабатывать бота и добавлять функции. Слева находится меню с разделами конструктора. Справа — вкладка с компонентами и экранами. По центру — рабочая зона для разработки. В левом нижнем углу — кнопка виджет обратной связи. Если возникнут трудности, пишите в поддержку, для этого нужно нажать на соответствующее меню. Логика бота создается с помощью экранов— это сообщения бота (шаги, этапы), внутри которых могут быть различные функции. Автоматически создается «Стартовый экран» — первое сообщение от бота. На каждый экран можно добавлять компоненты— это функции и действия бота (например, отправление текста, картинок, кнопок и т.д.). Все компоненты расположены на вкладке справа.
  4. Создайте приветствие: на вкладке «Компоненты» нажимаем на компонент «Сообщение», перетяните его на экран. Далее вводим любой текст и кликните зеленую кнопку «Сохранить» (справа внизу).
  5. Подключите бота к мессенджеру. В Telegram чат-боты создаются с помощью специального бота @BotFather. Через него можно управлять данными бота, добавить описание, добавить аватар и т.д.

Вот руководство по работе на BotFather:

  • Откройте Telegram и найдите команду BotFather в поиске.
  • Начните диалог с BotFather, нажмите кнопку «Start».
  • Используйте команду «/newbot», чтобы создать нового бота, добавить еще одного. Следуйте инструкциям, чтобы задать и придумать имя и аватарку пользователя для вашего бота. BotFather выдаст вам токен для вашего бота, который нужен для подключения к API практически сразу.
  • Настройте параметры вашего бота, используя команды BotFather, такие как «/setdescription» для описания бота, «/setabouttext» для информации о разработчике.
  • Используйте команду «/setcommands», чтобы задать список команд для вашего бота. Это позволит пользователям узнавать, какие команды могут использоваться для взаимодействия с вашим ботом.
  • Напишите код на любом языке программирования, используя Telegram Bot API, чтобы настроить работу вашего бота и добавить все необходимое (меню, кнопки и тд). Некоторые из популярных библиотек для работы — это python-telegram-bot для Python, Telegraf для Node.js, и BotMan для PHP.
  • Загрузите свой код на хостинг, чтобы ваш бот мог отображаться и работать круглосуточно. Некоторые из популярных платформ для размещения кода — это Heroku, AWS и DigitalOcean.
  • Настройте веб-хук для вашего бота, чтобы Telegram мог отправлять входящие сообщения на ваш сервер.
  • Запустите свой бот и начните тестирование. Перейдите к редактированию, если нужно добавить что-то в меню, сделать замену текста или названия, внести поправки.Нажмите кнопку «Сохранить».

BotFather предоставляет дополнительные команды и функции, которые можно использовать для управления вашим ботом. Следуйте инструкциям BotFather, чтобы создать бота в Telegram. Если этот вариант вам не подходит, то можете воспользоваться одним из сервисов, о которых мы поговорим ниже в статье.

Самые важные команды для чат-бота

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


BotFather команды

Команды

Основные команды символов для управления:

  • /start – первый шаг, приветственное сообщение, которое отправляется пользователю при первом взаимодействии с ботом;
  • /help – служебное сообщение data, содержащее советы по использованию бота (список команд, краткое описание бота или алгоритм действий от первого до последнего);
  • /settings – сообщение с настройками + возможности их изменения.
  • /newbot – создать нового бота
  • /mybots – редактировать своих ботов, edit bot [бета]. Если ботов несколько, нажимаем Edit Bot.

Редактирование ботов:

  • /setname – изменить имя или название бота
  • /setdescription – изменить описание бота
  • /setabouttext – изменить информацию о боте
  • /setuserpic – изменить фото профиля бота
  • /setcommands – изменить список команд
  • /deletebot – удалить бота

Настройки бота

  • /token – создать токен авторизации
  • /revoke – отозвать токен доступа к боту
  • /setinline – переключить встроенный режим
  • /setinlinegeo — дать команду, чтобы включить встроенные запросы местоположения
  • /setinlinefeedback – изменить встроенную обратную связь
  • /setjoingroups – можно ли добавить вашего бота в группы?
  • /setprivacy – переключить режим конфиденциальности

Управление играми

  • /mygames – редактировать свои игры
  • /newgame – создать новую игру
  • /listgames – получить список ваших игр
  • /editgame – редактировать игру
  • /deletegame – удалить существующую игру

Дополнительных возможностей у бота в Telegram достаточно (например, если выбираем Location Data, бот видит локацию пользователя). Разбирать их все детально нет смысла, так как активно используется лишь небольшая часть. Чтобы проверить работу бота, следует найти его через поиск (перед этим сохраните все изменения) и протестировать, нажав нужные кнопки.

Как создавать ботов с помощью Python

Python — это отличный язык программирования для создания чат-ботов за счет множества библиотек и фреймворков для работы с API, текстом и машинного обучения. Его следует выбрать, если у вас есть опыт работы с программированием. Для написания Telegram-бота на Python, нужно установить сам язык. Если вы пользуетесь Windows, скачать Python можно с официального сайта. Версия важна. Подойдет Python не ниже версии 3.7. Вот пошаговая инструкция на Python:

Шаги создания бота на Python

Создание
  1. Первый шаг — подключение. Установите библиотеку python-telegram-bot, которая предоставляет API для работы с Telegram.
  2. Создайте нового бота в Telegram и получите его токен. Этот токен необходим для подключения вашего бота к Telegram Bot API.
  3. Напишите код на Python, который будет брать в работу входящие сообщения от пользователей и отвечать. Вы можете использовать библиотеку python-telegram-bot. Можно добавить любое меню, название, текста, сделать инструкции и т.д совершенно бесплатно.
  4. Загрузите свой код на хостинг, такой как Heroku или AWS, чтобы ваш бот мог работать круглосуточно.
  5. Настройте веб-хук, чтобы Telegram мог отправлять входящие сообщения на ваш сервер.
  6. Запустите свой бот и начните тестирование.
  7. Добавьте необходимый функционал, такой как работа с базой данных и другие возможности. Сохраните.

Если необходимо изменить текст, имя (название) бота, сделать дополнительно инструкции, описание или меню — следует выбрать редактирование.

Начать создание можно с изучения документации библиотеки python-telegram-bot и примеров кода

Пример создания простого бота: Hello, bot!

Теперь мы решили показать на примере создание бота.

  1. Для начала следует импортировать библиотеки и создать экземпляры Телеграм бота и диспетчера, взять токен бота и имя (название) бота. Для этого нажать:
    from aiogram import Bot, types
    from aiogram.dispatcher import Dispatcher
    from aiogram.utils import executor
    TOKEN = "ваш токен от бота здесь"
    bot = Bot(token=TOKEN)
    dp = Dispatcher(bot)
    
  2. Скопируйте библиотеки, далее следует написать обработчик текстовых сообщений, который будет реагировать на входящие команды. Нужно нажать /start и /help:
    @dp.message_handler(commands=['start', 'help'])
    async def send_welcome(msg: types.Message):
    await msg.reply_to_message(f‘Я бот. Приятно познакомиться,
    {msg.from_user.first_name}’)
    
  3. Затем добавляем еще один обработчик для получения текстовых сообщений. Если бот получит текст приветственное сообщение «Привет», он также здоровается. Все остальные сообщения при отправке будут определены, как нераспознанные. Это будет отображаться так:
    @dp.message_handler(content_types=['text'])
    async def get_text_messages(msg: types.Message):
    if msg.text.lower() == 'привет':
    await msg.answer('Привет!')
    else:
    await msg.answer('Не понимаю, что это значит.')
  4. Запускаем Telegram бота, написанного на Python следующим образом, введите:
    if __name__ == '__main__':
     executor.start_polling(dp)
    

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

Ну вот и всё, так выглядит настройка, и она завершена! Как видите, чат-бот в Телеграме на языке Python готов, и должен сохранить все настройки.

Популярные платформы для телеграм-ботов

Хорошо, мы рассмотрели, как создать бота в Телеграме без необходимости знания программирования. Однако простые команды пока могут быть недостаточными для создания функционального бота. Для этого вам потребуется научиться программировать или поработать со специальными сервисами. Эти сервисы могут помочь создать и настроить бота, чтобы он мог выполнять определенные задачи.


платформы для телеграмм-ботов

Сервисы

Большинство из них доступны бесплатно. Рассмотрим самые популярные:

  • Manybot. Можно добавлять различные функции в бота, такие как автоответчик, рассылка, опросы и другое. Manybot также предоставляет аналитические данные о действиях пользователей, функционал создавать меню для бота и интегрироваться. Сервис доступен как бесплатная и платная версии с расширенными функциями. Простая регистрация и выгодные пользовательские условия.
  • Botobot — это пример платформы, чтобы создать онлайн-магазины на основе Телеграм-бота. Вы можете загружать свои товары в формате Excel, и пользователи могут просматривать их в виде каталога, меню в Телеграме (добавления разделов также осуществляется там). Бот также может принимать платежи, отправлять клиентские рассылки, интегрироваться с CRM и делать множество полезных функций (стать онлайн-помощником), которые могут упростить управление онлайн-магазином через Телеграм.
  • Bottap — для диалоговых чат-ботов с набором стандартных функций и готовыми шаблонами для нескольких видов бизнеса, таких как кафе, интернет-магазины, доставка пиццы, маникюрные салоны, фитнес-тренеры, а также с возможностью создания своих собственных кастомных диалогов. У сервиса простой интерфейс с меню.
  • Chatforma — для чат-ботов. Им можно создавать и настраивать ботов для различных мессенджеров, включая Telegram и Viber. С помощью Chatforma можно настроить автоответчик, создать форму для сбора контактов, настроить интеграцию и другое. Хотя Chatforma может показаться сложным для понимания, благодаря обучающим материалам и достаточному количеству времени вы сможете использовать все необходимые функции.
  • Botmaker — для чат-ботов для различных мессенджеров, включая Telegram, Facebook Messenger и WhatsApp. Botmaker предоставляет большое количество готовых функций и интеграций (например, к маркетплейсам), таких как автоответчик, рассылка сообщений, опросы, меню, оповещения, и другое. Также простой интерфейс, можно создавать ботов без необходимости знания программирования.
  • Info bot — это сервис, у которого простой внешний вид и функционал. Есть визуальный конструктор, в котором можно построить логическую цепочку диалога в виде блок-схемы. Однако, для того чтобы разобраться в нем, необходимо приложить некоторые усилия. Не существует подсказок и заголовков, и все необходимо понимать самостоятельно.
  • Puzzlebot — это отличный сервис, чтобы организовать ботов любой сложности, который предоставляет мощный функционал. Создание бота с помощью Puzzlebot — это нетрудно, нужно всего лишь перемещать блоки и устанавливать связи между ними. В конструкторе есть как стандартные функции, так и множество оригинальных возможностей, несложно создавать уникальных ботов для различных задач.
  • Flow XO — англоязычный сервис со стандартным набором функций для бизнеса и широкими возможностями для разработчиков. Есть много шаблонов диалогов для разных видов бизнеса, включая бронирование номера или столика, заказ услуги, еды или билетов, ответы на часто задаваемые вопросы, поиск на основании местоположения пользователя и т.д. Визуально интересный, но сложный и не всегда поддается логике.
  • Botmother — сильный кроссплатформенный CMS для чат-ботов. Есть приложения для создания, редактирования и развертывания чат-ботов не только в Telegram, но и в Viber, WhatsApp, Facebook, ВКонтакте и Одноклассниках. Бота можно собрать из готовых блоков-модулей для разных типов сообщений, тут же наполнить их текстом и загрузить в мессенджер. При сборке можно использовать базовые и продвинутые компоненты, такие как логирование, группа кнопок с подсказками или нативный запрос.
  • UniSender — это сервис для email-маркетинга и рекламы, который дает создавать и отправлять электронные письма, SMS-сообщения, push-уведомления и прочие виды сообщений. UniSender предоставляет широкий набор инструментов для настройки и автоматизации рассылок, включая сегментацию аудитории, A/B-тестирование, и другое. С помощью UniSender можно отслеживать статистику рассылок, такую как количество отправленных и доставленных сообщений, открытия и клики на ссылки, отписки и другие метрики, что позволяет оценить эффективность кампании и улучшить ее результативность.
  • Bot Kits — это набор инструментов для создания чат-ботов в Telegram без необходимости знания программирования. Результат работы — боты графическим интерфейсом и предоставляет большое количество готовых шаблонов для разных типов бизнеса. Вы можете настроить своего бота для автоматической рассылки, приема заказов, сбора обратной связи и другое. Bot Kits также интегрируется с сервисами и платформами, такими как Google Sheets, Zapier и Integromat. Более того, сервис доступен бесплатно.
  • Aimylogic — это платформа для создания и развертывания голосовых ассистентов и чат-ботов с использованием искусственного интеллекта. Этот сервис позволяет создавать голосовых ассистентов для различных задач, таких как заказ еды, бронирование билетов и многое другое. Вы можете интегрировать своего голосового ассистента с различными платформами, такими как Amazon Alexa, Google Home, Facebook. Aimylogic также обеспечивает аналитику и мониторинг работы голосового ассистента для улучшения эффективности и оптимизации работы бота.

Использование чат-бота сделает взаимодействие с сайтом или компанией более удобным и быстрым для пользователей, что может повысить их удовлетворенность и лояльность.

Часто задаваемые вопросы

Чтобы поделиться своим ботом внутри самого Telegram, достаточно отправить конкретному пользователю или в определенный чат @юзернейм бота, это выглядит, как пример, @botname.

Если необходимо дать ссылку на каком-либо внешнем ресурсе, она будет в следующем виде: t.me/юзернейм бота.

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

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

  • Компании с необходимостью создать сервис для клиентов. Если вам нужно сделать небольшой каталог с продукцией hand-made или меню доставки еды, достаточно воспользоваться конструктором. Здесь будет довольно несложно продумать навигацию с кнопками и запустить все необходимые функции: форму заказа и доставки, связь с консультантом и пр. Им могут воспользоваться даже большие компании, если они хотят получить способ связи со своими клиентами. К работе с людьми будут оперативно подключаться сотрудники и отвечать на все вопросы. Организуйте несколько ответов кнопок.
  • Крупный бизнес и производственные группы с необходимостью создать удобный корпоративный или развлекательный инструмент. Если нужен бот, который будет глубоко интегрирован с системой электронного документооборота, или программа с привязкой к искусственному интеллекту, потребуется помощь профессионала. Например, бот ruDALL-E Malevich от Сбера, который создает изображения по текстовому описанию в пару кнопок, написали опытные программисты.

Есть два способа создать бота в «Телеграме»: с помощью кода и ноукод-платформ. В первом случае вы пишете бота самостоятельно, во втором — пользуетесь конструкторами и собираете бота из уже готовых элементов, кликнув пару кнопок. Бота можно написать на любом языке программирования — от PHP и Node.js до Java и Go. Для создания ботов в конструкторе достаточно базовых знаний веб-приложений. Если вы владеете Figma, Miro, Asana или перетаскивали карточки в Trello, то сможете составить бота из наглядной цепочки блоков в конструкторе.

Заключение

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

Олег Вершинин

Специалист по продукту

Все статьи автора

Нашли ошибку в тексте? Выделите нужный фрагмент и нажмите
ctrl
+
enter

Изначально Telegram был обычным мессенджером для базовой отправки сообщений. Чуть позже он начал обрастать новыми функциями. Многим Телега начала заменять другие социальные сети и даже самые разные сервисы интернета.

На сегодняшний день, Телеграм — это огромный интернет-комбайн, где можно:

  • Вести переписки, как в открытых чатах, так и в приватных (статья о секретном чате)
  • Читать новости или потреблять другой контент с помощью каналов
  • Загружать и скачивать файлы, тем более недавно появился менеджер загрузок
  • Совершать купле-продажу разных типов товаров (даже писали об этом вот тут)
  • Слушать музыку

Практически во всех вышеперечисленных случаях помогают именно боты. Например, для прослушивания музыки помогает бот, который переносит музыку из плейлистов ВКонтакте и загружает в свой канал. А при продаже товаров запускается бот, с помощью которого можно листать список товаров, класть их в корзину и оттуда оформлять покупку.

Без помощи ботов это было бы сделать очень затруднительно. Если проще, то боты в Telegram автоматизируют какое-либо действие.

Впрочем, ранее мы уже писали о популярных ботах в Телеграме вот здесь.

Создание бота в Telegram: пошаговая инструкция

Итак, пойдем по порядку. Для создания своего бота нам понадобится юзернейм @BotFather, вот этот:

поиск бота в telegram

Нажимаем «Запустить», и в ответном сообщении сразу присылается меню. Оно на английском, но ничего сложного нет.

Выбираем /newbot, далее в сообщении пишем название своего нового бота.

задаем имя бота

Далее указываем username бота, по которому его можно будет найти, обязательно чтобы юзернейм заканчивался на «bot».

Наше рабочее название будет «GTOnidzuka_bot», далее мы его переименуем. Если юзернейм занят, то выбираем другой. Также BotFather присылает уникальный ключ, подобие пароля от бота, его никому нельзя показывать.

После того выбора имени нашего бота можно найти в поиске Телеграм или зайти на него по ссылке.

поиск бота в telegram

Теперь нам доступно редактирование бота. С помощью команд можно изменить аватарку, общее название, описания и т.д. Также в боковую кнопку «Меню» можно зашить ссылку на сайт или социальную сеть.

Основные команды в BotFather:

  • /setname — изменить имя бота
  • /setdescription — изменить описание бота
  • /setuserpic — изменить аватарку бота
  • /setcommands — задать команды для бота
  • /deletebot — удалить бота

Наш бот создан и отображается в поиске, но пока еще ничего не умеет.

аватарка бота

С помощью уникального токена и юзернейма бота можно подключить к различным сервисам и платформам.

Для нашей компании мы попробуем подключить бота через Manybot, он практически единственный позволяет пользоваться ботом для бизнеса бесплатно.

Для начала переходим на официальный сайт и пролистываем вниз страницы, где есть кнопка со ссылкой в Телеграм.

сервис для менеджемта бота

Итак, попадаем в Телегу к Manybot и там имеется русский интерфейс, что очень радует.

стартовое окно manybot

Тут нам и пригодится наш ранее скопированный ключ. Вставляем его в строку и отправляем. Далее нужно написать пару слов о том, что будет делать наш бот. У нас будет простой инфобот. Так и запишем.

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

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

Чтобы у бота в нем была власть, он должен быть администратором этого канала. Заходим в канал, добавляем нашего бота и даем ему все разрешения на управление каналом.

назначение бота администратором канала

Для подключения канала к боту, нужно отправить тестовое сообщение. И да, нам пришло уведомление в канале. Простейшие функции уже работают.

Теперь мы можем настроить автопостинг, отложенный постинг и создавать другие команды.

Окей, давайте создадим парочку команд:

Первая команда будет отправлять ссылку на наши услуги. Для этого заходим в «Отца ботов», печатаем /setcommands и выбираем нашего бота. Также можно воспользоваться кнопками меню, кому как удобнее.

добавление команд для бота

В строке пишем название команды, оно может быть любым, главное на латинице и через тире пишем описание команды, у нас это «Услуги и цены», далее нажимаем «Сохранить».

добавление новой команды

Команда создана, но она пуста. Теперь ей нужно задать действие. Для этого переходим в наш бот, далее в «Пользовательские команды», среди них выбираем наш «bang» и жмем «Редактировать ответы команды».

редактирование действий команды

Сейчас нужно напечатать сообщение к команде — это как раз и есть ответное действие на ее вызов. Ранее мы решили, что при вызове команды, ответом будет ссылка на наш сайт. Поэтому просто вставляем ссылку.

добавление сообщения к команде

Теперь при вызове команды /bang, в ответе будет ссылка на наш сайт.

Заметили, что также есть кнопка «Добавить вопрос»? Это некая форма обратной связи, если его добавить, то при вызове команды пользователю будет задан этот вопрос.

Добавим нетривиальное сообщение. После отправки нашего вопроса, предложим два варианта ответа для выбора пользователя.

добавление вопроса на команду

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

примеры кнопок в боте

А вот и новые ответы на форму:

ответы на форму

Если пользователь тапнет на «Хочу заказать услугу», то пользователя можно найти и написать ему.

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

пример работы обратной связи

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

На этот раз добавили команды для всех подразделов нашего блога. Перед этим добавив команду /blog, она будет корневой.

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

добавление списка команд

Итак, у нас есть много команд, которые мы будем обрамлять в удобные кнопки меню. Но сперва «зашиваем» в команды ссылки на наши подразделы блога как это описано выше.

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

Затем нажимаем на «Добавить пункт меню». Из ранее добавленных команд выбираем доступную, задаем ей имя, которое будет отображаться и кликаем «Сохранить».

добавление пунктов меню

Таким образом мы добавили кнопки для всех основных команд. Также добавили кнопки социальных сетей и контактов.

Вот так теперь выглядит наш бот.

кнопки контактов

При переходе в социальные сети появляются их кнопки:

кнопки социальных сетей

А при переходе в блог сперва появляется опрос:

опрос в блоге

Конечно, не совсем логично, новичкам сперва бы блог почитать, но от постоянных читателей нам важен фидбек.

И далее появляются его подразделы.

подразделы блога в боте

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

Если зайти с другого аккаунта, бот отображается вот так:

вид бота из другого аккаунта

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

Для этого в главном меню бота нажимаем на «Отправить новое сообщение пользователям», печатаем наше сообщение и жмем «Отправить пост подписчикам».

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

постинг сообщений на канал

Спустя пару секунд придет уведомление о новой статье в блоге.

Также мы прикрутили автопостинг с помощью RSS-ленты. Кстати, в одной из наших статей писали, что это и как ее подключить, рекомендуем прочесть здесь.

Помимо RSS, можно подключить и Youtube.

подключение автопостинга в боте

Так просто?

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

А если вы еще не подписаны на наш канал, то советую исправить это недоразумение. :) Делимся только полезными новостями из мира SEO и интернет-маркетинга.

Понравилась статья? Поделить с друзьями:
  • Сделать страховку на автомобиль через госуслуги пошаговая инструкция как электронную
  • Сделать танк т 34 из картона своими руками большой пошаговая инструкция
  • Сделать стену из гипсокартона с дверным проемом своими руками пошаговая инструкция
  • Сделать танк из картона своими руками пошаговая инструкция с размерами
  • Сделать слоника из бумаги пошаговая инструкция