Главная / Блог / Как создать бота в MAX
MAX · инструкция

Как создать чат-бота в MAX: пошаговая инструкция с кодом

10 мин чтения · 26.07.2026

Разберём весь путь: от регистрации профиля до первого бота, который отвечает на сообщения. С рабочим кодом на Python и разбором ограничений платформы, о которые спотыкаются почти все — потому что в документации о них сказано вскользь.

MAX — российский мессенджер, и подход к ботам у него отличается от Telegram. Если в Telegram бот создаётся за минуту через BotFather, то здесь путь длиннее и с нюансами. Пройдём его по порядку.

Что понадобится до старта

Главное отличие от Telegram: бота в MAX может создать только верифицированное юридическое лицо, ИП или самозанятый — резидент РФ. Просто с личного аккаунта, как в BotFather, бота не завести.

Это первое, что стоит знать: если у вас нет оформленного ИП, самозанятости или юрлица, начать не получится. Регистрация самозанятости делается быстро через приложение «Мой налог», но заложите на это время.

Шаг 1. Регистрация профиля организации

Боты создаются не в самом мессенджере, а на отдельном портале для бизнеса — business.max.ru. Заходим туда и регистрируем профиль организации.

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

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

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

В разделе «Чат-боты» портала создаём нового бота. Здесь заполняется карточка: название, описание, логотип. И тут есть важный момент, которого нет в Telegram.

Ник бота выбрать нельзя. Он формируется автоматически от ИНН вашей организации — выглядит как id434529130537_bot. Изменить его невозможно. Публичная ссылка на бота будет содержать этот номер. Учитывайте это, если для вас важен красивый адрес.

Заполняйте карточку начисто с первого раза. Любое изменение настроек бота отправляет его на повторную модерацию — до 48 часов по рабочим дням. Требования к логотипу: 500×500 пикселей, до 5 МБ, квадрат, jpg или png. Название до 59 символов без эмодзи, описание до 200 символов.

Шаг 3. Модерация

После создания бот уходит на проверку. Модерация занимает до 48 часов по рабочим дням. Пока она не пройдена, токен недоступен, и бот работать не будет.

Это время удобно потратить на подготовку сервера и кода — к моменту одобрения всё будет готово, останется только вставить токен.

Шаг 4. Получаем токен

После одобрения в расширенных настройках бота появляется токен — длинная строка, по которой ваш код будет обращаться к боту. Его нужно скопировать и хранить в секрете: любой, у кого есть токен, может управлять ботом.

Никогда не публикуйте токен — не вставляйте его в чаты, скриншоты или публичный код. Если токен утёк, перевыпустите его в настройках бота. Храните в отдельном файле, недоступном посторонним.

Шаг 5. Пишем первого бота на Python

Для работы с MAX Bot API на Python есть удобная библиотека maxapi — она построена в стиле aiogram, так что если вы работали с Telegram-ботами, интерфейс будет знаком.

Устанавливаем библиотеку:

pip install maxapi

Токен храним в отдельном файле .env, а не в коде:

MAX_BOT_TOKEN=ваш_токен_сюда

Минимальный бот, который отвечает на любое сообщение, выглядит так:

import os
import asyncio
from dotenv import load_dotenv
from maxapi import Bot, Dispatcher
from maxapi.types import MessageCreated

load_dotenv()

bot = Bot(token=os.environ["MAX_BOT_TOKEN"])
dp = Dispatcher()


@dp.message_created()
async def on_message(event: MessageCreated):
    text = event.message.body.text or ""
    await event.message.answer(f"Вы написали: {text}")


if __name__ == "__main__":
    asyncio.run(dp.start_polling(bot))

Запускаем:

python bot.py

Теперь напишите боту в MAX — он ответит эхом на ваше сообщение. Если это произошло, значит токен рабочий и связь с платформой есть.

Шаг 6. Добавляем кнопки

Голый эхо-бот бесполезен. Обычно нужен сценарий с кнопками. Добавим приветствие с выбором:

from maxapi.types import BotStarted
from maxapi.utils.inline_keyboard import InlineKeyboardBuilder
from maxapi.types import CallbackButton


@dp.bot_started()
async def on_start(event: BotStarted):
    kb = InlineKeyboardBuilder()
    kb.row(
        CallbackButton(text="Узнать цену", payload="price"),
        CallbackButton(text="Задать вопрос", payload="ask"),
    )
    await bot.send_message(
        chat_id=event.chat_id,
        text="Привет! Чем помочь?",
        attachments=[kb.as_markup()],
    )

Событие bot_started срабатывает, когда человек впервые нажимает «Запустить». Реакцию на нажатие кнопок ловим отдельным обработчиком по полю payload.

Про запуск в бою. Режим start_polling годится для отладки, но для постоянной работы MAX требует вебхуки — бот должен жить на сервере с доменом и HTTPS-сертификатом, а не на вашем компьютере. Это отдельная тема, но именно так бот работает круглосуточно и не выключается, когда вы закрыли ноутбук.

На что обычно уходит больше всего времени

Собрали грабли, на которых спотыкаются чаще всего — чтобы вы прошли их быстрее:

Нужен бот сложнее автоответчика?

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

Обсудить с ботом →

Читайте также

Конструктор бота в MAX: бот для заявок за 2 минуты ← Все статьи блога Сколько стоит разработка бота Примеры работающих ботов