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

Пример создания демонстрационного To-do list-бота вы можете посмотреть в нашем репозитории

Примеры создания Hello-бота с помощью библиотек JavaScript и Golang

В этом разделе разберём пример реализации простого бота с использованием библиотеки MAX Bot API — напишем код для Hello Bot, чтобы научить его здороваться с пользователями

Больше примеров смотрите в наших репозиториях на GitHub:

1. Создайте новый проект в терминале и установите библиотеку:

BASH
# Создайте папку и перейдите в неё
mkdir my-first-bot
cd my-first-bot

# Установите MAX Bot API
# Для npm
npm install --save @maxhub/max-bot-api
# Для yarn
yarn add @maxhub/max-bot-api
# Для pnpm
pnpm add @maxhub/max-bot-api
# Для deno
deno add npm:@maxhub/max-bot-api

# Установите и настройте TypeScript (опционально)
yarn add -D typescript
npx tsc --init
BASH
# Создайте новую папку для исходного кода вашего модуля Go и перейдите в неё
mkdir my-first-bot
cd my-first-bot

# Запустите свой модуль с помощью команды go mod init (команда создает файл `go.mod` для отслеживания зависимостей вашего кода. Пока что файл включает только имя вашего модуля и версию Go, которую поддерживает ваш код)
go mod init first-max-bot

# Установите библиотеку для работы с MAX API на golang
go get github.com/max-messenger/max-bot-api-client-go
  1. Создайте файл:
  1. Обеспечьте доступ к методам и утилитам
JAVASCRIPT
# Создайте объект класса Bot — он обеспечит доступ к методам и утилитам

filename="bot.js"
import { Bot } from '@maxhub/max-bot-api';
const bot = new Bot(process.env.BOT_TOKEN); // Токен, полученный при регистрации бота в MAX
bot.start(); // Запускает получение обновлений
GO
# Создайте функцию main в пакете main — он обеспечит доступ к методам и утилитам

filename="bot.go"
package main
import (
    "fmt"
    maxbot "github.com/max-messenger/max-bot-api-client-go"
)

func main() {
    api := maxbot.New(os.Getenv("TOKEN"))
    // Some methods demo:
    info, err := api.Bots.GetBot()
    fmt.Printf("Get me: %#v %#v", info, err)
}
  1. Определите функциональность приветствия — бот будет отвечать на команду /hello
JAVASCRIPT
filename="bot.js"
import { Bot } from '@maxhub/max-bot-api';
const bot = new Bot(process.env.BOT_TOKEN);

// Устанавливает список команд, который пользователь будет видеть в чате с ботом
bot.api.setMyCommands([
  {
    name: 'hello',
    description: 'Поприветствовать бота',
  },
]);

// Обработчик команды '/hello'
bot.command('hello', (ctx) => {
  return ctx.reply('Привет! ✨');
});
bot.start();
GO
filename="bot.go"
package main
import (
    "fmt"
    maxbot "github.com/max-messenger/max-bot-api-client-go"
)

func main() {
    api := maxbot.New(os.Getenv("TOKEN"))
    // Some methods demo:
    info, err := api.Bots.GetBot()
    fmt.Printf("Get me: %#v %#v", info, err)

    ctx, cancel := context.WithCancel(context.Background()) // создам
    go func() {
        exit := make(chan os.Signal)
        signal.Notify(exit, os.Kill, os.Interrupt)
        <-exit
        cancel()
    }()

    for upd := range api.GetUpdates(ctx) { // Чтение из канала с обновлениями
        switch upd := upd.(type) { // Определение типа пришедшего обновления
        case *schemes.MessageCreatedUpdate:
            // Отправка сообщения
            _, err := api.Messages.Send(maxbot.NewMessage().SetChat(upd.Message.Recipient.ChatId).SetText("Привет! ✨"))
        }
    }
}
  1. Протестируйте бота — отправьте команду /hello

Чат с Hello Bot Чат с Hello Bot Чат с Hello Bot


ℹ️ Если у вас возникли вопросы, [посмотрите раздел с ответами](/help)

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