EN·ES·DE·PT·FR
⌘K

Configuration du Bot Discord

Connectez aidaemon à Discord via l'API gateway.

Binaires Pré-compilés
Si vous avez installé via le script en une ligne ou Homebrew, le support Discord est déjà inclus. Configurez simplement config.toml ci-dessous. Le feature flag n'est nécessaire que lors de la compilation depuis les sources.

Créer une Application Discord

  1. Rendez-vous sur le Portail Développeur Discord
  2. Cliquez sur New Application et nommez-la (ex. « aidaemon »)
  3. Sous Bot, cliquez sur Add Bot
  4. Copiez le Bot Token — c'est votre bot_token
  5. Activez ces Privileged Gateway Intents :
    • Message Content Intent — lire le texte des messages
    • Server Members Intent — résoudre les informations utilisateur
  6. Sous OAuth2 → URL Generator, sélectionnez les scopes bot et applications.commands, puis les permissions : Send Messages, Read Message History, Attach Files, Use Slash Commands
  7. Utilisez l'URL générée pour inviter le bot sur votre serveur

Configuration

config.toml
[discord]
bot_token = "MTIzNDU2Nzg5MDEyMzQ1Njc4OQ.AbCdEf.xxxxx"
allowed_user_ids = [123456789012345678]
guild_id = 987654321098765432
KeyTypeDefaultDescription
bot_tokenstringToken du bot Discord depuis le Portail Développeur. Supporte "keychain".
allowed_user_idsarray[]IDs utilisateur Discord (entiers snowflake) autorisés à interagir. Vide = aucune restriction.
guild_idintegernullID optionnel du serveur/guild. Si défini, le bot ne répond que dans ce serveur.

Obtenir Votre ID Utilisateur Discord

Activez le Mode Développeur dans les paramètres Discord (Apparence → Avancé), puis faites un clic droit sur votre nom d'utilisateur et sélectionnez Copier l'identifiant.

Fonctionnalités

  • Connexion Gateway — connexion WebSocket en temps réel via le framework serenity
  • Commandes slash — commandes d'application enregistrées (voir Commandes)
  • Boutons interactifs — flux d'approbation avec boutons cliquables (voir Flux d'Approbation)
  • Transfert de fichiers — envoyer et recevoir des fichiers en pièces jointes Discord
  • Découpage des messages — les réponses longues sont découpées pour respecter la limite de 2000 caractères de Discord
  • Reconnexion automatique — backoff exponentiel en cas d'échec de connexion (5s → 60s max)
  • Liste d'utilisateurs autorisés — contrôle d'accès par token de bot
  • Support multi-bots — exécuter plusieurs bots Discord avec des configurations séparées

Modèle de Session

Les sessions Discord sont identifiées par canal :

  • Message de canal : discord:{channel_id}

Chaque canal maintient son propre historique de conversation, sa mémoire de travail et son contexte de faits.

Contrôle d'Accès
Si allowed_user_ids est vide, n'importe qui pouvant envoyer un message au bot peut interagir avec lui. Définissez toujours ce paramètre en production.