Примеры создания ботов MAX
Открыть в MAX

Примеры создания ботов

Лучший способ научиться — посмотреть на рабочий код, покрутить его и адаптировать под себя. Я собрал здесь примеры разного уровня сложности: от простого «Hello, World!» до полноценного приложения. Все примеры проверены и работают в MAX.

To-Do List бот на GitHub

GitHub: github.com/max-messenger/max-bot-example-todolist

Это официальный пример от команды MAX — полноценный бот для управления списком задач. Не просто «Hello, World!», а реальное приложение с:

  • Созданием, редактированием и удалением задач
  • Inline-клавиатурой для взаимодействия
  • Колбэками для обработки действий пользователя
  • Хранением данных (каждый пользователь видит только свои задачи)

Я рекомендую не просто прочитать код, а склонировать репозиторий, запустить локально и попробовать что-то поменять. Увидишь, как бот реагирует на твои изменения — это лучший способ понять архитектуру.

💡 Совет: To-do list — идеальный пет-проект для знакомства с MAX API. Он достаточно простой, чтобы разобраться за вечер, и достаточно сложный, чтобы покрыть все основные концепции: вебхуки, клавиатуры, колбэки, хранение состояния.

Hello-bot на JavaScript

Минимальный бот на Node.js с использованием официальной JS-библиотеки. Отвечает на любое сообщение приветствием:

hello-bot.js
import { Bot } from '@max-ru/bot-api-client';

const bot = new Bot({
    token: process.env.MAX_BOT_TOKEN,
});

bot.on('message', async (ctx) => {
    const name = ctx.from?.first_name || 'друг';
    await ctx.reply(`Привет, ${name}! Рад тебя видеть в MAX 👋`);
});

bot.on('command:start', async (ctx) => {
    await ctx.reply('Я простой Hello-бот. Напиши мне что-нибудь!');
});

// Запускаем бота
bot.start();
console.log('Hello-бот запущен! 🚀');

Запусти этот код, отправь боту любое сообщение — и он ответит. Пятнадцать строк, а уже видно, как работает основная механика.

Hello-bot на Golang

Тот же Hello-бот, но на Go — с использованием официальной Go-библиотеки:

main.go
package main

import (
    "log"
    "os"

    maxbot "github.com/max-messenger/max-bot-api-client-go"
)

func main() {
    bot := maxbot.NewBot(os.Getenv("MAX_BOT_TOKEN"))

    bot.OnCommand("start", func(ctx *maxbot.Context) {
        ctx.Reply("Я простой Hello-бот на Go. Напиши мне что-нибудь!")
    })

    bot.OnMessage(func(ctx *maxbot.Context) {
        name := ctx.From.FirstName
        if name == "" {
            name = "друг"
        }
        ctx.Reply("Привет, " + name + "! Рад тебя видеть в MAX 👋")
    })

    log.Println("Hello-бот на Go запущен! 🚀")
    log.Fatal(bot.Start())
}

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

Что дальше?

Когда Hello-бот заработает — двигайся дальше:

  1. Добавь команды (/help, /about)
  2. Прикрути inline-клавиатуру с кнопками
  3. Научи бота запоминать данные пользователя
  4. Подключи внешний API (погода, курсы валют, новости)
  5. Изучи полную настройку бота для продакшена

А когда будешь готов к чему-то серьёзному — возвращайся к JS-библиотеке или Go-библиотеке за подробной документацией.

🚀

Вдохновился примерами?

Посмотри, до чего можно дорасти — бот «Мои друзья» начинался с такого же Hello-бота. А теперь помогает тысячам людей находить друзей в MAX.

Открыть бота «Мои друзья»