Telegram
Токен Bot API внутрь, ответы наружу. Личные сообщения и группы.
Единая система продуктов
Начните с одной машины. Вырастите до флота.
Превратите любую машину в Telegram, Discord или Slack bot. Сообщения идут через cmdop SDK core, чтобы команды и AI-агенты могли обращаться к машинам за помощью.
Один и тот же цикл бота говорит на любом канале. Выберите там, где ваша команда уже общается — остальное возьмёт на себя SDK.
Токен Bot API внутрь, ответы наружу. Личные сообщения и группы.
Slash-команды и сообщения в каналах, нативно через gateway.
Упоминания приложения и личные сообщения по всему рабочему пространству.
Вы вызываете client.bots.run(...), и Go-ядро берёт управление на себя: оно слушает канал и на каждое сообщение вызывает собственный machines.ask из SDK. Никакого нового эндпоинта, никакого сервера для хостинга.
Боты — это не отдельная библиотека, которую нужно устанавливать и подключать. Это первоклассная операция того же клиента, который вы уже используете для машин, флотов и туннелей — client.bots.run, и вы в эфире.
Рантайм ботов Telegram, Discord и Slack живёт внутри ядра cmdop. Нет отдельного Python- или Node-сервиса для присмотра — встроенный бинарник владеет каналом, сам повторяет попытки и переподключается.
Каждое сообщение чата перенаправляется AI-агенту вашей машины через machines.ask с теми же гарантиями подтверждения. Бот — чистый потребитель поверхности машин, которой вы уже доверяете.
`cmdop` / `@cmdop/sdk` поставляет все пять платформенных бинарников встроенными. Никакого дополнительного SDK для ботов, никакой зависимости на каждый канал — переключайтесь с Telegram на Slack, изменив один аргумент.
Всё, что может бот, может и SDK — боты просто парадная дверь чат-канала. Начните с SDK и добавьте бота в несколько строк.
Установите SDK, вызовите client.bots.run — и ваш флот отвечает в Telegram, Discord или Slack.
import asynciofrom cmdop import Clientasync def main():async with Client() as client:# The Go core runs the Telegram loop. Per message it# drives the SDK’s own machines.ask and streams back.await client.bots.run(channel="telegram",token="<BOT_TOKEN>",machine="work-mbp",)asyncio.run(main())