Installer et configurer un bot modmail pour Discord

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.

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.

Exemple de discussions ouvertes avec un modmail (vue pour les staffs)

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.

Le menu bot du portail développeurs

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ètreExplication
tokenToken du bot
mailGuildIdIdentifiant du serveur « boîte au lettres » (peut être le même que mainGuildId)
mainGuildIdIdentifiant du serveur où sera utilisé le bot
logChannelIdIdentifiant du salon de logs
statusMessage de jeu du bot
prefixPréfixe du bot (! par défaut)
alwaysReply Transmet automatiquement les réponses à l’utilisateur, sans la commande !r
newThreadCategoryIdIdentifiant 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.
inboxServerPermissionPermission 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.

CommandeExplication
!closeFermer 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).

CommandeExplication
!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.

2 replies on “ Installer et configurer un bot modmail pour Discord ”
Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.