Référence

Protocole Gateway

Maintenez une session WebSocket active et reprenable en ne souscrivant qu’aux événements nécessaires.

Cycle de connexion

Connectez-vous à wss://beta.lyra.social/ws. Le serveur envoie HELLO avec heartbeat_interval. Envoyez IDENTIFY ou RESUME sous 10 secondes, puis HEARTBEAT selon l’intervalle indiqué. Trois battements manqués ferment la connexion.

json
{
  "op": "IDENTIFY",
  "d": {
    "token": "<bot_token>",
    "properties": { "os": "linux", "device": "release-bot" },
    "intents": 513
  }
}

Bits d’intents

Les intents forment un champ de bits. Les événements associés à un bit non déclaré sont omis sans avertissement. Évitez les intents de présence et de saisie si votre intégration ne les utilise pas réellement.

BitIntentÉvénements courants
0GUILDSCommunautés, salons, rôles et règles
1GUILD_MEMBERSMembres et fragments de listes
2GUILD_MODERATIONBannissements et candidatures
5GUILD_VOICE_STATESÉtats vocaux
8GUILD_PRESENCESPrésences ; volume élevé
9GUILD_MESSAGESMessages des communautés
10GUILD_MESSAGE_REACTIONSRéactions des communautés
11GUILD_MESSAGE_TYPINGSaisie ; volume élevé
12DIRECT_MESSAGESMessages privés et appels
16GUILD_ACTIVITIESActivités synchronisées
17GUILD_SCHEDULED_EVENTSCycle des événements planifiés

Reprendre après une coupure

Les sessions déconnectées sont conservées 90 secondes. Gardez session_id et la dernière séquence s reçue. RESUME rejoue les trames disponibles après last_seq ; INVALID_SESSION impose un nouvel IDENTIFY puis un rattrapage REST des salons concernés.

json
{
  "op": "RESUME",
  "d": {
    "token": "<same_bot_token>",
    "session_id": "<ready_session_id>",
    "last_seq": 42
  }
}

Limites du rejeu

Une session conserve au maximum 256 événements et 64 Kio. Une tentative de reprise consomme l’entrée, qu’elle réussisse ou non.

Limites de connexion

  • Taille maximale d’une trame : 64 Kio
  • Débit entrant : 10 messages/seconde avec une rafale de 20
  • Sessions simultanées : une seule par compte bot
  • REQUEST_GUILD_MEMBERS exige GUILD_MEMBERS et renvoie au maximum 100 membres