API-пайплайн: ваши оракулы вступают в группы из списка или выходят из них в рамках лимитов Telegram
Индекс: API-пайплайны — индекс · Жизненный цикл: API-пайплайн: создать, настроить, запустить, остановить, измерить и удалить Telegram-кампанию любого вида
Цель: ваши оракулы вступают в группы Telegram из списка (или выходят из них) в темпе, укладывающемся в лимиты Telegram, а вы видите, куда каждый из них попал.
Шаги
1. Создать (Paused).
POST /v0/my/campaigns
Idempotency-Key: join-phuket-1
{"title": "Join Phuket chats", "kind": "mtproto_join_chats", "project_nonce": "<Pro project>",
"tg_groups": ["<preset nonce>"], "oracles": ["<oracle nonce>", "<team workspace>"]}
→ {"nonce": "470400000000000001", "kind": "mtproto_join_chats", "status": "Paused", …}
Выход: то же самое с "kind": "mtproto_leave_chats".
2. Запустить. POST /v0/my/campaigns/470400000000000001/start → {"success": true, "status": "Active", "is_active": true}.
3. Следить за планом.
GET /v0/my/campaigns/470400000000000001/performance
→ {"totals": {"joined": 30, "already_member": 10, "join_pending": 4, "join_banned": 1, "join_dead": 1, …},
"join": {"groups": 48, "member": 40, "pending": 4, "skipped": 2, "remaining": 2,
"oracles": [{"oracle": "…", "member": 40, "pending": 4, "skipped": 2, "remaining": 2, "flooded_until": null}]},
"groups": [{"username": "example_group", "join_status": "joined", "oracles_member": 1, "oracles_pending": 0, …}], …}
Статусы: joined, already_member, join_pending (заявка на вступление ждёт админов), join_banned, join_dead (группы нет или она недоступна), join_skipped, join_flood (Telegram попросил подождать), join_limit; при выходе: left, leave_failed, not_member.
4. Готово. Кампания переходит в Completed, когда каждый оракул прошёл список. POST …/stop ставит её на паузу раньше.
За кадром
- Каждый оракул проходит группы по одной в темпе, укладывающемся в лимиты Telegram; когда Telegram просит оракула подождать, он ждёт (
flooded_until) и продолжает. - Группы, в которых состоит оракул, перечислены в его
groups_workspace: API-пайплайн: создать, настроить, запустить, остановить, измерить и удалить Telegram-кампанию любого вида, раздел «Активность одного оракула».
Правила
- Для запуска нужны Pro-проект, группы и оракулы: 400
assign telegram groups before activating,assign oracles before activating. - Группы или оракулы, которые во время работы раскрываются в пустоту → статус
Failed. performance— для владельца кампании.
Поверхность API
| Эндпоинт | Назначение | FE | ИИ / оракул |
|---|---|---|---|
POST /v0/my/campaigns (kind: mtproto_join_chats / mtproto_leave_chats) |
Создать | да | да |
PATCH /v0/my/campaigns/{nonce} |
Группы, оракулы | да | да |
POST /v0/my/campaigns/{nonce}/start, /stop |
Запустить / пауза | да | да |
GET /v0/my/campaigns/{nonce}/performance |
План вступлений и статусы по группам и оракулам | да | да, отчёты |