Перейти к содержимому
Calab

Боты

Бот — такой же участник, как все

Создайте бота в настройках пространства и выдайте ему роль — он работает через тот же API, что и приложение: чат, команды, голос.

Права — через роли, как у людей: бот видит только те комнаты, куда его пустили.

Боты

  • Чат

    Читает и пишет сообщения, отвечает, ставит реакции, отправляет файлы и стикеры, пишет в личные сообщения. События приходят в реальном времени по WebSocket.

  • Голос

    Заходит в голосовую комнату через LiveKit: слышит участников и говорит сам — озвучка текста, эхо, музыка, запись. На Node, Python или Go.

  • Команды

    Регистрирует /команды — композер подсказывает их по «/». Сообщение /cmd приходит боту с разобранными аргументами.

  • Webhook

    Без постоянного соединения: события приходят POST-запросом с подписью HMAC и повторами при сбоях. Удобно для serverless.

@calaba/bot-sdk

Эхо-бот на TypeScript

import { Bot } from '@calaba/bot-sdk';const bot = new Bot(process.env.BOT_TOKEN, { server: 'https://app.calab.ru' });await bot.commands([{ name: 'echo', description: 'Repeat the text' }]);// every message from someone elsebot.on('message', (m) => bot.reply(m, m.content));// "/echo hi" → "hi"bot.on('command', (c) => bot.reply(c, c.args || 'Usage: /echo <text>'));await bot.start();
Этот и ещё три примера — голосовое эхо, озвучка текста и слушатель на Python — в examples/bots.

Боты

Первый бот за 5 минут

Токен, REST, события, webhook, голос, лимиты и коды ошибок — в документации.