Installer et configurer un bot modmail pour Discord
Cet article est en partie obsolète. Cela ne veut pas dire qu'il est bon à jeter, mais gardez cela en tête pendant sa lecture !
Cet article traite d'un sujet nécessitant de bonnes connaissances en informatique.
Vous cherchez un moyen efficace pour que vos membres puissent contacter l’ensemble de votre staff en privé ? Découvrez comment ajouter facilement un bot modmail à votre serveur.
Avant de commencer ce tutoriel, prenez bien en compte que de solides bases en informatique sont nécessaires pour le réaliser. Si vous ne comprenez pas ce qui est expliqué, il y a de fortes chances pour que vous n’ayez par les compétences techniques requises pour le réaliser.
Un modmail, pour quoi faire ?
Avant de commencer avec les détails techniques, il est bon d’éclaircir ce qu’est un modmail. Groso modo, il s’agit d’un système de tickets fonctionnant via les messages privés. Lorsqu’un membre de votre serveur souhaite contacter l’ensemble de votre staff, mais sans que la conversation soit publique, il lui suffit d’envoyer un message au modmail, qui retransmettra le message dans un salon privé. Les réponses seront alors directement transmises en message privé à l’utilisateur.

Ce fonctionnement, bien que plus complexe à mettre en place qu’un système de tickets, a de nombreux avantages par rapport à celui-ci :
- Bot dédié (choix du nom et de la photo de profil)
- Personalisation plus complète
- Meilleure visibilité des réponses pour l’utilisateur
- Système de logs (enregistrement de toutes les discussions)
- Système de snippets pour répondre rapidement
Installation du modmail
Maintenant que nous savons ce qu’est précisément un modmail, passons à l’installation. Il existe différents bots modmail que vous pouvez installer. Dans cet article, il sera question de celui de Dragory, développé avec Node.js. Pour le récupérer, il vous suffit de télécharger le code source au format zip.
Il vous sera également nécessaire d’héberger votre bot, afin qu’il soit tout le temps connecté. Je vous conseille de consulter mon article à ce sujet afin de découvrir diverses services à bas prix.
Je ne vais pas m’attarder sur l’installation de Node.js, ni sur le lancement du bot, cela dépend de l’hébergement que vous avez choisi. Nous allons plutôt nous intéresser à la configuration.
Création du bot
Pour commencer, il est nécessaire de créer une application sur le portail développeurs de Discord. Cliquez sur New Application, puis choisissez le nom de votre bot. Il faut ensuite créer le bot. Pour cela, cliquez sur sur Bot dans le menu latéral, puis cliquez sur Add bot. Depuis cette page, vous pourrez définir la photo de profil de votre bot et récupérer son token.
Attention, ne donnez jamais le token de votre bot, il permet à n’importe qui de prendre son contrôle. N’oubliez pas de décocher PUBLIC BOT
afin d’éviter que quelqu’un d’autre que vous l’ajoute.

Une fois le bot créé, il ne reste plus qu’à l’inviter sur votre serveur. Pour cela, rendez vous sur ce lien, en indiquant l’identifiant de votre bot (que vous trouverez sur le portail développeurs) dans le champ Client ID
. Le lien d’invitation de votre bot sera généré en bas de la page.
Configuration du modmail
Commencez en renommant le fichier config.example.json
en config.json
. Remplissez le fichier pour que votre bot fonctionne. Il existe également de nombreuses autres variables de configuration. Les plus utiles sont répertoriés dans le tableau ci-dessous, mais la liste complète est disponible sur la page GitHub du bot.
Nom du paramètre | Explication |
token | Token du bot |
mailGuildId | Identifiant du serveur « boîte au lettres » (peut être le même que mainGuildId) |
mainGuildId | Identifiant du serveur où sera utilisé le bot |
logChannelId | Identifiant du salon de logs |
status | Message de jeu du bot |
prefix | Préfixe du bot (! par défaut) |
alwaysReply | Transmet automatiquement les réponses à l’utilisateur, sans la commande !r |
newThreadCategoryId | Identifiant de la catégorie où seront crées les salons des nouvelles discussions |
typingProxy | Permet de relayer le statut « écrit » d’un utilisateur dans le salon de la discussion. |
inboxServerPermission | Permission nécessaire pour effectuer les commandes du bot (ex. MANAGE_MESSAGES ) |
responseMessage | Message de confirmation de l’envoi du message au staff (nouvelle discussion) |
closeMessage | Message envoyé à l’utilisateur lors de la fermeture de la discussion |
Installation des dépendances
Un fois le bot configuré, il faut évidemment le démarrer. Pour cela, il est nécessaire d’installer les dépendances, c’est à dire ce qui est nécessaire à son bon fonctionnement. Ces instructions ne sont pas nécessaires pour des hébergements pré-installés, comme Skoali.
Pour commencer, installez la dernière version de Node.js, soit via l’installeur disponible ici, ou via votre gestionnaire de paquets si vous êtes sous Linux.
Une fois ceci fait, ouvrez un terminal (selon votre os) et effectuez un cd
sur le répertoire dans lequel se situe votre bot. Installez ensuite les dépendances en effectuant la commande npm ci
. Pour finir, lancez le bot avec npm start
. Si des erreurs s’affichent, suivez les instructions indiquées.
Les différentes commandes
Désormais votre bot configuré, il est bon de savoir les différentes commandes existantes. Tout comme pour la configuration, je n’indiquerai que les plus utiles. La liste complète est disponible sur le GitHub. Les commandes seront indiquées avec le préfixe !
, il revient à vous de les adapter avec votre configuration.
Commande | Explication |
!close | Fermer une discussion |
!r <message> | Envoyer une réponse à une discussion (si alwaysReply est désactivé) |
!block <utilisateur> | Bloquer un utilisateur du modmail |
!logs <utilisateur> | Affiche les précédentes discussions d’un utilisateur |
Les snippets
Les snippets sont une fonctionnalité très utile, permettant de créer des raccourcis pour enregistrer des réponses courantes. Ils s’utilisent dans une discussion, en spécifiant leur nom avec le préfixe des snippets (par défaut !!
, mais modifiable dans la configuration).
Commande | Explication |
!s <nom> <texte> | Création un snippet |
!edit_snippet <nom> <texte> | Édition un snippet |
!delete_snippet <nom> | Suppression un snippet |
!snippets | Affiche tous les snippets disponibles |
Les snippets permettent aussi d’utiliser des paramètres. Par exemple, si l’on créé un snippet bonjour
comme ceci : !s bonjour Bonjour {0} !
, alors !!bonjour Pierre
renverra Bonjour Pierre !
. On peut faire cela avec autant d’arguments que l’on veut.
Conclusion
Le bot modmail est extrêmement utile, notamment sur des serveurs support. Il est très complet et personnalisable, c’est pour cela que je vous invite à lire le readme sur le dépot GitHub, afin de découvrir toutes les possibilités de ce bot. Par exemple, on peut utiliser un nom de domaine pour les logs (avec un serveur comme nginx en reverse proxy), ou encore gérer plusieurs serveurs liés à un seul serveur « boîte aux lettres ».
Le bot est également en pleine évolution. Par exemple, un système de plugins a été récemment ajouté, bien qu’aucun ne soit, au moment de la rédaction de cet article, disponible. Son utilisation n’est pas à la portée de tous par le fait qu’il faille l’héberger soi-même, mais il peut être indispensable pour certains.