Pipeline de API: que tus oráculos entren o salgan de una lista de grupos de Telegram dentro de los límites de Telegram

Índice: Pipelines de API — índice · Ciclo de vida: Pipeline de API: crear, configurar, iniciar, detener, medir y eliminar una campaña de Telegram de cualquier tipo

Objetivo: tus oráculos entran en (o salen de) una lista de grupos de Telegram, a un ritmo dentro de los límites de Telegram, y tú ves dónde ha entrado cada uno.

Pasos

1. Crear (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", …}

Para salir: lo mismo con "kind": "mtproto_leave_chats".

2. Iniciar. POST /v0/my/campaigns/470400000000000001/start → {"success": true, "status": "Active", "is_active": true}.

3. Seguir el plan.

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, …}], …}

Estados: joined, already_member, join_pending (la solicitud espera a los admins), join_banned, join_dead (el grupo ya no existe o no es accesible), join_skipped, join_flood (Telegram pidió esperar), join_limit; al salir: left, leave_failed, not_member.

4. Hecho. La campaña pasa a Completed cuando cada oráculo ha recorrido la lista. POST …/stop la pausa antes.

En segundo plano

Reglas

Superficie de la API

Endpoint Para qué FE IA / oráculo
POST /v0/my/campaigns (kind: mtproto_join_chats / mtproto_leave_chats) Crear sí sí
PATCH /v0/my/campaigns/{nonce} Grupos, oráculos sí sí
POST /v0/my/campaigns/{nonce}/start, /stop Iniciar / pausar sí sí
GET /v0/my/campaigns/{nonce}/performance Plan de entrada y estados por grupo y oráculo sí sí, informes

Mentioned