AlfyChat
Langage :

Envoyer des messages

Envoyez des messages dans des salons, en DM ou en réponse à un message existant via l'API REST.

Envoyer dans un salon

POST
/api/messages

Envoie un message (salon texte, DM ou fil)

POST /api/messages
js
async function sendMessage(channelId, content, options = {}) {
  const res = await fetch('https://gateway.alfychat.app/api/messages', {
    method: 'POST',
    headers: {
      'Authorization': `Bot ${process.env.BOT_TOKEN}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({ channelId, content, ...options }),
  });
  return res.json();
}

// Envoi simple
await sendMessage('channel-id', 'Bonjour !');

// En réponse à un message
await sendMessage('channel-id', 'Je te réponds !', { replyToId: 'msg-id' });

Payload complet

Corps de la requête
json
{
  "channelId":   "string",           // Obligatoire — ID du salon ou DM
  "content":     "string",           // Texte (1–2000 caractères)
  "replyToId":   "string | null",    // Optionnel — citer un message
  "attachments": ["url1", "url2"]    // Optionnel — liens médias hébergés
}

Réponse 201 Created

Message créé
json
{
  "success": true,
  "message": {
    "id":        "m1a2b3c4-...",
    "content":   "Bonjour !",
    "channelId": "c1a2b3c4-...",
    "authorId":  "bot-id",
    "author":    { "id": "bot-id", "username": "MonBot", "isBot": true },
    "replyTo":   null,
    "createdAt": "2025-01-15T10:00:00.000Z"
  }
}

Autres opérations sur les messages

GET
/api/messages/:channelId

Lire l'historique paginé d'un salon (param: limit, before)

PATCH
/api/messages/:id

Modifier le contenu d'un message (auteur uniquement)

DELETE
/api/messages/:id

Supprimer un message (auteur ou MANAGE_MESSAGES)

Temps réel automatique

Chaque message posté via REST déclenche automatiquement l'événement MESSAGE_CREATEsur le WebSocket du salon concerné. Tous les clients connectés reçoivent la notification sans action supplémentaire de votre part.