account_id определяется токеном на backend. Подменить tenant ID в запросе нельзя.
Автоматизация серверов без обходных путей
Создавайте bot users для модерации, ролей, тикетов, статистики, музыки, игровых помощников, уведомлений и внешних интеграций. Токен всегда привязан к одному account_id и работает только на серверах, куда приложение установлено владельцем или администратором.
Authorization: Bot clb_xxxxxxxxxxxxxxxxxПримерPOST /api/v1/bot/channels/42/messages{"content":"Матч начинается через 5 минут."}Чувствительное действие проверяет и scope токена, и реальные права роли bot user на сервере.
Даже валидный токен не получает доступ к серверу, пока приложение явно не установлено туда.
Приложения и боты
Загрузите аватар, установите bot user на сервер, выберите минимальные scopes и выпустите токен. Полный токен показывается только один раз.
Документация ниже доступна без авторизации.
Авторизация
Все Bot API методы находятся под /api/v1/bot. Передавайте токен в HTTP-заголовке. Схема — Bot, не Bearer.
Authorization: Bot clb_ВАШ_ТОКЕН
Accept: application/json
Content-Type: application/jsonТокен храните только на backend. CyberLink хранит SHA-256 хэш и не может повторно показать секрет.
Scopes
channels.readСписок серверов и каналовchannels.writeСоздание и удаление каналов; дополнительно требуется role permission manage_channelsmessages.readИстория сообщений и пользователи реакцийmessages.writeОтправка, изменение и удаление собственных сообщений ботаmessages.manageУдаление чужих сообщений; требуется manage_messagesdirect_messages.writeЛичные сообщения участникам сервера от имени bot usermembers.readУчастники, joined_at, текущие voice-комнатыroles.readЧтение ролейroles.writeСоздание/назначение ролей; требуется manage_rolesmoderation.writeWarn, mute, kick, ban; проверяются права роли bot userstats.readАктивность сервера и журнал Bot API модерацииmusic.writeЗапуск и управление музыкой в voice channel; требуется use_server_musicСценарии
Читайте сообщения → применяйте свои фильтры → DELETE message → POST moderation с warn/mute/kick/ban.
GET users реакций конкретного сообщения → PUT роли участника. Для больших серверов опрашивайте только настроенные сообщения.
GET members возвращает joined_at. Новым участникам можно назначить роль, написать в канал или отправить личное приветствие через direct_messages.write.
Создайте служебную роль, назначьте её пользователю и создайте restricted text channel с role_ids.
GET voice показывает участников комнат. Создавайте/удаляйте voice channel через channels.write по своей логике.
Ваш backend принимает webhook внешнего сервиса и публикует событие через POST message.
После подтверждения оплаты внешним провайдером назначьте VIP-роль через PUT member roles.
Ваш backend обращается к модели или игровому API и возвращает результат сообщением. Секреты сторонних API остаются у вас.
music.write запускает YouTube, Яндекс Музыку, VK-плейлисты и доступные CyberLink sources через серверный music pipeline.
Bot API предоставляет primitives, а не встроенные правила антиспама/экономики/ИИ: критерии, расписания, внешние API и бизнес-логика принадлежат вашему боту.
Интерактивная документация Bot API
Методы, параметры и схемы строятся из фактического FastAPI OpenAPI. Лимит: 300 запросов/мин, burst 60 запросов за 10 сек на один bot token.
Сообщения и реакции
/api/v1/bot/channels/{channel_id}/messages?limit=50Последние доступные боту сообщения. Требуется messages.read.
Пример запроса
curl "https://cyberlinkgame.ru/api/v1/bot/channels/42/messages?limit=20" \ -H "Authorization: Bot clb_TOKEN"
/api/v1/bot/channels/{channel_id}/messagesОтправляет сообщение от bot user. Требуются messages.write и право send_messages / send_voice_chat.
{"content":"Рейд через 10 минут"}/api/v1/bot/channels/{channel_id}/messages/{message_id}Редактирует только собственное сообщение бота.
{"content":"Рейд через 5 минут"}/api/v1/bot/channels/{channel_id}/messages/{message_id}Своё сообщение: messages.write. Чужое: messages.manage + server permission manage_messages.
/api/v1/bot/channels/{channel_id}/messages/{message_id}/reactionsПоказывает не только счётчик, но и пользователей каждой реакции — база для Reaction Roles и голосований.
/api/v1/bot/channels/{channel_id}/messages/{message_id}/reactionsПоставить или снять реакцию от имени bot user. Scope: messages.write. Поддерживаются Unicode и серверные custom emoji токены.
{"emoji":"✅"}/api/v1/bot/servers/{server_id}/members/{user_id}/dmОтправляет личное сообщение участнику этого сервера. Scope: direct_messages.write. Нельзя писать пользователям другого tenant/server.
{"content":"Добро пожаловать! Правила: ..."}Роли
/api/v1/bot/servers/{server_id}/rolesТребуется roles.read.
/api/v1/bot/servers/{server_id}/rolesСоздаёт роль. Бот не может выдать новой роли permissions, которых нет у самого bot user.
{"name":"VIP","color":"#ffd24a","permissions":["send_messages","join_voice"],"display_separately":true}/api/v1/bot/servers/{server_id}/members/{user_id}/rolesПолностью заменяет набор пользовательских custom roles. Владелец сервера защищён.
{"role_ids":[8,12]}Создание каналов
/api/v1/bot/servers/{server_id}/channelsСоздаёт text/voice channel. Для тикета включите restricted и передайте роли, которым он видим.
{"name":"ticket-kayman","kind":"text","restricted":true,"role_ids":[12]}/api/v1/bot/servers/{server_id}/channels/{channel_id}Удаляет канал. Последний текстовый канал сервера удалить нельзя.
Предупреждения, муты, кики и баны
/api/v1/bot/servers/{server_id}/members/{user_id}/moderationaction: warn, mute, unmute, kick, ban, unban. Временный mute блокирует текст, voice chat, вход в voice и стрим до срока. Ban не позволяет повторно вступить.
{"action":"mute","reason":"Повторный спам ссылками","duration_seconds":3600}/api/v1/bot/servers/{server_id}/moderation?limit=50Журнал действий, созданных Bot API. Доступен с moderation.write или stats.read.
Голосовые комнаты и музыка
/api/v1/bot/servers/{server_id}/voiceТекущие voice rooms и participants. Подходит для временных каналов, игровых лобби и realtime-панелей с безопасным polling.
/api/v1/bot/servers/{server_id}/music/playЗапускает server music без необходимости держать отдельный bot WebRTC client. Используется тот же CyberLink resolver, что и пользовательским плеером.
{"channel_id":22,"source_kind":"external","source_url":"https://music.yandex.ru/album/123/track/456"}Также поддерживаются youtube, CyberLink attachments и mixed queue.
/api/v1/bot/servers/{server_id}/music/control{"channel_id":22,"action":"next"}actions: pause, resume, stop, next, previous, seek, play_index, reorder_queue.
Статистика
/api/v1/bot/servers/{server_id}/statsКоличество участников/online, текущий voice online, сообщения за 24h/7d/30d и число активных авторов за 7 дней.
/api/v1/bot/servers/{server_id}/membersСодержит joined_at и communication_disabled_until. Это позволяет строить autorole/welcome-процессы без передачи системных секретов пользователям.
Ошибки и безопасность
400 / 422Некорректные поля, ID или действие.401Токен отсутствует, неверен или отозван.403Недостаточный scope, role permission или доступ к объекту.404Объект недоступен в tenant бота или бот не установлен.409Конфликт состояния/лимита.Не передавайте account_id как источник доверия: Bot API его не принимает. Tenant, application и bot user восстанавливаются только из хэша токена.
