Discord bots

C'est quoi ?

💬 Discord est un réseau social dans lequel on peut créer des "serveurs".

Ceux-ci sont des sortes de forums privés ou communautaires permettant d'administrer les communications personnelles ou professionnelles.

🤖 Discord propose également d'ajouter des utilisateurs robots !

De cette façon, on peut transformer un simple serveur en un véritable outil de communication et d'automatisation.

J'ai ainsi développé deux bots à ce jour, dont l'un m'aide à explorer les possibilités offertes par le framework Discord.js.

🛠️ Mes bots peuvent :

  • Intercepter des messages
  • Mettre à jour des compteurs
  • Déclencher des événements schedulés
  • Appeler des APIs externes
  • Faire des requêtes à ChatGPT
  • Consulter des dépôts de fichiers
  • Envoyer des messages privés
  • Envoyer des messages vocaux
  • Générer et envoyer des images

⬇️ Jouez avec les langages et frameworks en les attrapant avec votre souris !

project image 0
project image 1
project image 2

⬅️ Jouez avec les langages et frameworks en les attrapant avec votre souris !

Langages

  • Typescript

Frameworks

  • DiscordJS
  • OpenAI SDK
  • AWS SDK

Défis

⏳ La fonctionnalité la plus complexe que j'ai implémentée est celle du résumé automatique. Elle permet de récupérer les x derniers messages d'un canal pour les transmettre récursivement à ChatGPT afin d'en obtenir une synthèse.

🔁 Bien qu'elle n'était pas prévue au départ, l'implémentation récursive s'est avérée être la solution la plus élégante pour traiter un volume important de messages, en respectant la limite de tokens imposée par OpenAI.

Motivations

🚀 Parmi les deux bots que j'ai réalisés, l'un s'intègre dans un cadre professionnel, l'autre dans un cadre amical. Au départ, j'ai exploré la création de bots par simple curiosité.

🧠 Mais au fur et à mesure que mes amis et moi trouvions des idées de fonctionnalités, j'améliorais continuellement mes compétences. J'ai régulièrement challengé le framework Discord.js et mes propres limites, jusqu'à constater que nous n'étions quasiment jamais bloqués !

🎯 Ce projet est donc très stimulant et évolutif dans le temps. Les expérimentations passées m'ont ensuite permis de créer facilement un nouveau bot pour un second serveur, plus cadré et à visée métier.

La suite ?

🔧 Aucune mise à jour majeure n'est prévue pour l'instant, si ce n'est quelques ajustements pour l'un des deux bots.

🍃 En outre, une réflexion pourrait être menée sur le choix du modèle d'IA et sur l'hébergement. Les IA génératives, dont ChatGPT fait partie, sont ultra consommatrices en énergie. Je réaliserai sûrement un jour un audit de ce que je peux améliorer en la matière (choix d'un hébergeur vert, utilisation du LLM français Mistral alimenté à l'énergie majoritairement verte, ...)

📊 Cela dit, au vu des tests effectués sur mon serveur privé, il est clair que Discord possède un potentiel de communication redoutable pour les petites et moyennes entreprises. C'est sans aucun doute un atout que je pourrais proposer à des clients ou structures professionnelles.