БЕСПЛАТНЫЙ ИНСТРУМЕНТ

Конструктор бота для MAX

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

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

Кнопки меню3 из 6

Текст кнопки — глаголом: «Записаться», а не «Запись»

С
Студия Ирис
бот · онлайн
Здравствуйте! Я помогу узнать цены и записаться. Выберите, что вас интересует:
Результат
// Бот для мессенджера MAX на официальном пакете @maxhub/max-bot-api
// Установка:  npm install @maxhub/max-bot-api
// Запуск:     BOT_TOKEN=ваш_токен node bot.js
//
// Токен берётся из переменной окружения — не вписывайте его в код
// и не выкладывайте в репозиторий.

import { Bot, Keyboard } from '@maxhub/max-bot-api';

const bot = new Bot(process.env.BOT_TOKEN);

const menu = Keyboard.inlineKeyboard([
    [Keyboard.button.callback('Цены', 'btn_1')],
    [Keyboard.button.callback('Записаться', 'btn_2')],
    [Keyboard.button.callback('Адрес и часы работы', 'btn_3')],
]);

const GREETING = 'Здравствуйте! Я помогу узнать цены и записаться. Выберите, что вас интересует:';
const FALLBACK = 'Спасибо за сообщение! Администратор ответит в рабочее время, а пока можно выбрать пункт меню.';

// Первое сообщение и /help — модерация MAX проверяет обе команды
bot.command('start', (ctx) => ctx.reply(GREETING, { attachments: [menu] }));
bot.command('help', (ctx) => ctx.reply(GREETING, { attachments: [menu] }));

// Кнопка «Цены»
bot.action('btn_1', (ctx) =>
    ctx.reply('Стрижка — от 1500 ₽, окрашивание — от 4000 ₽. Точная цена зависит от длины волос.', { attachments: [menu] })
);

// Кнопка «Записаться»
bot.action('btn_2', (ctx) =>
    ctx.reply('Есть окна: сегодня в 18:00 и завтра в 12:00. Какое удобнее?', { attachments: [menu] })
);

// Кнопка «Адрес и часы работы»
bot.action('btn_3', (ctx) =>
    ctx.reply('Пермь, ул. Ленина 50. Работаем с 10:00 до 21:00 без выходных.', { attachments: [menu] })
);

// Всё остальное, что написал человек
bot.on('message_created', (ctx) => {
    const text = String(ctx?.message?.body?.text ?? '');
    if (text.startsWith('/')) return; // команды уже обработаны выше
    return ctx.reply(FALLBACK, { attachments: [menu] });
});

bot.start();
Как запустить
  1. Получите бота и токен — по этой инструкции.
  2. Сохраните код в файл bot.js и установите пакет: npm i @maxhub/max-bot-api
  3. Запустите: BOT_TOKEN=ваш_токен node bot.js

Пока код запущен — бот отвечает. Для круглосуточной работы его нужно поднять на сервере.

Чтобы бот понимал не только кнопки

Сценарный бот отвечает ровно тем, что вы заложили. Загрузите прайс и условия в Визис — и тот же бот в MAX начнёт отвечать свободным текстом по вашим данным, а заодно заработает в Telegram, ВКонтакте и на сайте.

Конструктор бота для MAX: частые вопросы

Этот конструктор сам запустит бота?

Нет, и это сделано намеренно. Конструктор собирает сценарий и отдаёт готовый код — токен вашего бота остаётся только у вас, мы его не принимаем и не храним. Запускаете код у себя одной командой.

Что нужно, чтобы код заработал?

Бот в MAX и его токен, Node.js на компьютере или сервере, и одна команда установки пакета. Как получить бота и токен — в статье «Как создать бота в MAX».

Почему бот отвечает только по кнопкам?

Потому что это сценарный бот: он знает ровно те ответы, которые вы заложили. На вопрос своими словами он ответит общей фразой. Чтобы бот понимал свободный текст, нужен ИИ и база знаний — это уже платформа, а не 40 строк кода.

Бот должен работать круглосуточно?

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