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
- Rendez-vous sur le Portail Développeur Discord
- Cliquez sur New Application et nommez-la (ex. « aidaemon »)
- Sous Bot, cliquez sur Add Bot
- Copiez le Bot Token — c'est votre
bot_token - Activez ces Privileged Gateway Intents :
Message Content Intent— lire le texte des messagesServer Members Intent— résoudre les informations utilisateur
- Sous OAuth2 → URL Generator, sélectionnez les scopes
botetapplications.commands, puis les permissions : Send Messages, Read Message History, Attach Files, Use Slash Commands - 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| Key | Type | Default | Description |
|---|---|---|---|
bot_token | string | — | Token du bot Discord depuis le Portail Développeur. Supporte "keychain". |
allowed_user_ids | array | [] | IDs utilisateur Discord (entiers snowflake) autorisés à interagir. Vide = aucune restriction. |
guild_id | integer | null | ID 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.