Примеры создания ботов
Лучший способ научиться — посмотреть на рабочий код, покрутить его и адаптировать под себя. Я собрал здесь примеры разного уровня сложности: от простого «Hello, World!» до полноценного приложения. Все примеры проверены и работают в MAX.
To-Do List бот на GitHub
GitHub: github.com/max-messenger/max-bot-example-todolist
Это официальный пример от команды MAX — полноценный бот для управления списком задач. Не просто «Hello, World!», а реальное приложение с:
- Созданием, редактированием и удалением задач
- Inline-клавиатурой для взаимодействия
- Колбэками для обработки действий пользователя
- Хранением данных (каждый пользователь видит только свои задачи)
Я рекомендую не просто прочитать код, а склонировать репозиторий, запустить локально и попробовать что-то поменять. Увидишь, как бот реагирует на твои изменения — это лучший способ понять архитектуру.
Hello-bot на JavaScript
Минимальный бот на Node.js с использованием официальной 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-библиотеки:
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-бот заработает — двигайся дальше:
-
Добавь
команды (
/help,/about) - Прикрути inline-клавиатуру с кнопками
- Научи бота запоминать данные пользователя
- Подключи внешний API (погода, курсы валют, новости)
- Изучи полную настройку бота для продакшена
А когда будешь готов к чему-то серьёзному — возвращайся к JS-библиотеке или Go-библиотеке за подробной документацией.