Skip to content
This repository has been archived by the owner on Oct 15, 2024. It is now read-only.

Releases: Virtual-Royaume/Royaume-Discord-Bot

V3.1.0

31 May 07:57
Compare
Choose a tag to compare

NOUVEAUTÉS

  • Ajout de la possibilité de mentionner un membre avec la commande /forum why (@Steellgold #210)
  • Ajout de logs pour chaque commandes, events et actions divers (@Bluzzi #193)
  • Mise en place de Vitest pour les tests unitaires (@Bluzzi #195)

CHANGEMENTS

  • Ajout des versions preview de Discord dans la regex de récupération de lien pour message-link-reaction (@Steellgold #203)

BUGS

  • Correction d'un crash avec la function gqlRequest() lorsque l'API GraphQL renvoie une erreur qui n'est pas au format JSON (@Bluzzi #207)
  • Correction d'une erreur lorsque la récupération des membres d'un serveur prend trop de temps (@Bluzzi #206)
  • Le nombre de message envoyé lors du dépassement d'un certain cap s'affichera à nouveau (@Bluzzi #205)
  • Correction d'un bug de synchronisation de la présence d'un membre entre les deux serveurs (@Unarray #196)
  • Changement de l'intervalle entre chaque mise à jour des tiers d'activités (il était défini à 1 mois ce qui est trop dans plusieurs contextes) (@Bluzzi #189)
  • Correction d'une erreur qui se produit quand on essaie d'éditer la réponse d'une interaction après 15 minutes (@Bluzzi #188)
  • Le loader automatique des commandes ne fonctionnait pas sur Ubuntu à cause des séparateurs de chemin de fichier différent, ceci est corrigé (@Unarray #185)

REFACTOR

  • Séparation des query et mutation GraphQL dans des fichiers .gql aux côtés des modules les utilisant (@Bluzzi #213)
  • Utilisation du package rustic-error pour la gestion des erreurs (@Bluzzi #212)
  • Meilleure dénomination des fonctions (@Steellgold #200)
  • Suppression des derniers export defaults (@Steellgold #199)

DOCUMENTATION

  • Recommandations automatiques d'extensions sur VSC, ajout de paramètres préconfigurés et de warning pour la version NodeJS utilisée (@Bluzzi #192)

FULL CHANGELOG

3.0.0...v3.1.0

V3.0.0

03 Apr 12:23
Compare
Choose a tag to compare

NOUVEAUTÉS

  • Réécriture complète de la structure du projet (@Unarray #178)
  • Ajout de la photo de profil du membre affiché dans la commande /member (@Squashhh #181)

REFACTOR

FULL CHANGELOG

2.6.0...v2.7.0

V2.6.0

11 Mar 08:23
Compare
Choose a tag to compare

NOUVEAUTÉS

  • Support du second Discord (Royaume Games) (@Bluzzi #180)
  • Gestion des erreurs des requetes a l'API (@Unarray #176)
  • Mise en place d'un Dockerfile pour avoir une meilleur gestion de l'environnement Railway (@Bluzzi #169)
  • Lors de la création d'un post dans un salon forum, un message est envoyé avec une liste des posts similaires (@Steellgold #159)

CHANGEMENTS

  • Suppression de la commande /ask, elle est remplacé par le bot GPT (@Steellgold #177)
  • Utilisation du rôle admin à la place de la permission admin pour vérifier l'accès à certaines fonctionnalités (@Bluzzi #166)
  • La commande /forum resolve épingle maintenant le message de résolution du post (@Steellgold #157)
  • Suppression de la commande /watch-together car cette fonctionnalité est maintenant disponible nativement sur Discord (@Bluzzi #165)

BUGS

  • Suppression du système de création automatique de salon vocal (@Bluzzi #179)
  • Correction du système de preview du code mentionné dans un lien GitHub (@Unarray #173)
  • Parfois la commande /stats crash du à un temps de réponse trop lent, ça ne sera plus le cas (@Unarray #175)
  • Correction de divers bugs avec à la commande /inactive (@Bluzzi #167)
  • Correction du fuseau horaire pour les événements ou message utilisant une date/heure (@Bluzzi #168)

DIVERS

  • Ajout de template pour l'ouverture de nouvelles issues (@Steellgold #161)
  • Mise en place de l'action release-drafter qui permet de générer automatiquement les releases (@KingDeadKnight #160)

FULL CHANGELOG

2.5.0...v2.6.0

V2.5.0

18 Jan 01:19
3ee24fd
Compare
Choose a tag to compare

NOUVEAUTÉS & CHANGEMENTS

  • Ajout de la commande /ask qui permet d'interagir avec ChatGPT
  • Nous avons mis en avant les forums et amélioré leur utilisation
    • Ajout de la commande /forum why qui envoie un message qui explique les avantages au fait d'utiliser les salons forums
    • Ajout de la commande /forum rename qui permet à tout participant d'un post de le renommer
    • Ajout de la commande /forum resolve qui permet de définir un post comme résolu, cela ferme le post et met en avant le message de résolution
  • La commande /member affiche maintenant la bannière du membre s'il en a une
  • Ajout d'un mode sombre sur la commande /stats
  • Mise à jour de la commande /inactive (commande admin), elle affiche maintenant les membres inactifs un par un avec divers informations sur leur activité ainsi que des boutons pour pouvoir passer à l'inactif suivant/précédant ou le kick

CORRECTIFS

  • Les commandes /top-voice mois et /top-voice total ne sont plus inversé
  • Les messages des salons forums sont à nouveau pris en compte dans les statistiques
  • Le message qui annonce un anniversaire affiche correctement l'âge du membre
  • Afin d'éviter les crash sur le bot de test, certaines fonctionnalités qui nécessitent des autorisations spécifiques effectuent désormais une vérification avant d'être exécutées.

REFACTOR

  • Nous avons maintenant trois fonctions type-safe pour obtenir les variables d'environnement (getStringEnv(), getNumberEnv() et getBooleanEnv())
  • Changement du support pour la communication avec notre API ou des API externe
    • Nous utilisons maintenant le package "GraphQL Code Générator" pour générer les types GraphQL de notre API dynamiquement, plus besoin de typé manuellement les valeurs de retour et les variables
    • Deux nouvelles fonctions sont disponible : gqlRequest et restRequest, elle sont mieux typé, adapté au nouveau générateur de code et elle ont une gestion d'erreur plus pertinente
    • Nous utilisons maintenant fetch à la place de axios
  • La commande /watch-together fonctionne à nouveau et utilise maintenant l'API stable de DiscordJS
  • Le paramètre key de la fonction utilitaire msg() est maintenant typé
  • Mise à jour vers NodeJS 18 et ES2022
  • Nous utilisons maintenant le --watch de NodeJS 18 à la place de nodemon
  • Les commandes et events ont maintenant une propriété custom permettant de l'activer ou de la désactiver en mode développement

V2.4.0

16 Oct 22:20
Compare
Choose a tag to compare

MODE PUBLIC

Ajout de la possibilité de switch entre le mode privé (le mode qu'on avait jusqu'à maintenant) et le mode public, en mode public on peut rejoindre le Discord sans vérification, l'objectif étant de retirer la potentielle barrière que peut représenter le salon de vérification sachant que notre Discord n'a pas encore de moyen de prouver sa qualité en dehors de son contenu interne.

Dans le futur, le mode privé sera de nouveau activé par défaut, mais nous pensons que notre communauté a besoin de ce changement à court terme pour trouver de nouvelles personnes passionnantes.

Malgré ce choix, il y aura toujours des tries chaque mois des membres inactifs, une attention particulière à chaque nouveau, etc. Si l'ambiance vient à changer ou qu'il devient difficile de gérer le Discord en mode public, nous pouvons à tout moment repasser en mode privé.

NOUVEAUTÉS & CHANGEMENTS

  • Changements sur la commande /member
    • Ajout du rôle d'activité
    • Ajout d'un indicateur pour savoir si on va augmenter, stagner ou diminuer d'un rôle d'activité le suivant
    • Le temps de vocal est affiché en jour, heure, minute à la place d'afficher uniquement le nombre de minute total
  • La présentation du Discord dans le salon vérification et les messages de bienvenue correspondent mieux à la direction que prend le Discord actuellement
  • Les salons vocaux (public et privé) sont créé et supprimé automatiquement lorsqu'ils sont complet ou vide
  • Ajouts de plusieurs commandes
    • /anniversaire next : renvoie la prochaine date d'anniversaire d'un membre de notre communauté ainsi que son pseudo
    • /emoji : permet de proposer un vote pour l'ajout d'un émoji
    • /roulette : sélectionne aléatoirement une option parmi une liste définie par l'utilisateur (pratique pour choisir le jeu auquel on joue ce soir, faire des "pile ou face"...)
  • La commande /inactive ne compte plus les membres non vérifié
  • Les commandes /top-message, /top-voice, /anniversaire , /main et /presence utilisent maintenant des sub-commandes ce qui les rend bien plus simple à utiliser

NOUVEAUTÉS & CHANGEMENTS (TECHNIQUE)

  • Ajout du mode développement quand on lance le bot avec la commande npm run dev, on peut détecter le mode via les variables utilitaires isDevEnvironment et isProdEnvironment
  • Nous utilisons maintenant les variables d'environnement .env à la place d'un fichier de configuration JSON pour les tokens et informations sensible (vous pouvez retrouver les variables d'environnement sur notre Discord)
  • Nous avons maintenant une base de données et une API séparé pour le développement et la production
  • Divers changements sur les packages que nous utilisons
    • Utilisation de axios à la place de node-fetch car il est mieux maintenu. Dans la version 18 de NodeJS, quand fetch sera là par défaut, peut-être que nous retournerons dessus
    • Mise à jour vers DiscordJS V14
    • Suppression du package @discordjs/builders car il est directement importé dans DiscordJS V14

CORRECTIFS

  • Correction des réactions automatique aux messages (GitHub et lien Discord) qui ne fonctionnait plus dû aux nouvelles restrictions de Discord sur le contenu des messages
  • Ajout de l'event roleDelete qui supprime automatiquement le MainRole associé si il y en a un
  • Correction d'une erreur qui faisait crash le bot dans l'event guildMemberAdd quand un membre déjà existant en base de données rejoint le Discord
  • Les tasks, commandes et events se lance maintenant après que l'event ready soit exécuté, cela corrige de nombreuse erreurs

REFACTOR

  • Amélioration de certains points avec TypeScript
    • Utilisation du type utilitaire Record à la place de créé cette instruction manuellement ({ [key: type]: type })
    • Nous utilisons maintenant des type à la place des interface TypeScript pour tout ce qui n'est pas orienté objet
  • Divers changements sur l'utilisation des fonctions d'API et de GraphQL
    • Nous avons amélioré nos fonctions pour faire des requêtes (API ou externe) avec une meilleure gestion d'erreur et un meilleur typing
    • Suppression du des "strings tags" gql, nous utilisons un commentaire à la place et nous recommandons d'utiliser une extension GraphQL sur son IDE pour avoir de la coloration syntaxique (voir README)
    • Ajout de typings pour les variables des requêtes GraphQL
  • La method SlashCommandChannelOption.addChannelTypes() utilise maintenant l'enum ChannelType à la place de nombre magique (DiscordJS V14)
  • Mise en place d'une configuration pour le stockage des messages, ceci permet de se concentrer sur le code et pas sur les longues lignes de texte
  • Nous avons amélioré les certaines de nos règles de syntaxe pour avoir un code plus harmonieux

REPOSITORY

  • Du deploy on commit a été mis en place pour la mise en production
  • Nous utilisons maintenant de labels plus pertinents pour notre utilisation

V2.3.0

14 Jun 22:59
Compare
Choose a tag to compare

NOUVEAUX RÔLES

Les anciens rôles ont était remplacé par des rôles moins hiérarchiques allants tout simplement de 5 à 1 qui seront définis automatiquement par le bot selon votre activité durant le mois à la place d'être défini par certains membres du Discord, cela permet d'avoir une évolution plus juste selon son activité réelle.

Le changement des rôles s'effectue chaque mois et il est basé sur votre activité durant ce mois avec la formule suivante -> nombre de message + temps de vocal en minutes = points d'activités, les changements sont effectués comme ceci en fonction des points d'activités :

  • les 30% qui ont le plus de points montent d'un rôle
  • les 30% qui ont le moins de points baissent d'un rôle
  • les autres gardent le même rôle

Le système reste pour l'instant très basique mais il pourra être amélioré pour être plus juste dans les futures mises à jour pour par exemple donner davantage de valeur aux messages selon le salon où ils sont envoyé, ajouter la possibilité de voter pour un message pertinent et cela boosterait les points d'activité d'un membre, etc.

NOUVEAUTÉS

  • ajout de la sous-commande /anniversaire list pour voir la liste des anniversaires des membres
  • le format de la commande /member est plus sympathique et il affiche désormais la date d'anniversaire du membre si il l'a défini
  • il y a maintenant un âge minimum pour définir son anniversaire pour éviter les erreurs (date de naissance)

CORRECTIFS

  • les annonces d'anniversaire se feront bien à minuit et non à 2h du matin
  • il n'y aura plus d'annonce dans le général quand un nouveau membre dépasse les... 0 message
  • l'affichage du code d'un lien GitHub s'effectuera correctement même quand les lignes sont inférieur à 5 ou supérieur au nombre de ligne de la page GitHub

CODE

  • nous avons ajouté le ESLint du Royaume (https://github.com/Virtual-Royaume/Royaume-ESLint-Config), il faudra utiliser la commande npm run eslint pour voir les erreurs de syntaxe
  • nous utilisons maintenant SWC pour obtenir une compilation du TS en mode développement (npm run dev) jusqu'à 20 fois plus rapide
  • la version du bot s'affiche correctement au lancement lorsqu'on lance le build du bot directement avec la commande node .
  • nous utilisons à nouveau le package DayJS à la place des JS Date, il faudra l'utiliser pour la gestion de toutes les dates
  • vous avez maintenant accès au bot de développement (token disponnible dans le README)

V2.2.0

06 Jun 18:24
Compare
Choose a tag to compare

NOUVEAUTÉS

  • ajout de la commande /anniversaire qui permet de définir sa date de naissance, si vous le faite, un message sera envoyé dans le salon général le jour de votre anniversaire
  • le temps de vocal durant le mois est maintenant disponible, vous pouvez le voir sur les commandes /member et /top-voice
  • ajout de la commande /presence qui permet de voir/ajouter/retirer les messages d'activité du bot qui change aléatoirement toutes les 10 secondes
  • quand vous envoyé par message un lien d'un message Discord ou d'une ligne GitHub, un message sera envoyé en dessous avec un aperçu du contenu de votre lien

CORRECTIFS

  • les mini-annonces quand un membre dépasse un palier de message (1 000, 5 000, 10 000) sont de retour
  • la commande /inactive fonctionne enfin correctement et elle prend maintenant en compte l'activité vocal durant le mois
  • il n'y aura plus de membre qui ne sont plus présent sur le serveur dans les listes des statistiques

CODE

  • ajout de ESLint pour la syntaxe du code
  • ajout du package node-fetch

V2.1.0

24 May 01:21
Compare
Choose a tag to compare

NOUVEAUTÉS

  • l'activité du bot change toutes les 15 secondes avec des messages prédéfinit
  • les chiffres des statistiques obtenu via les différentes commandes s'affichent maintenant dans un format plus lisible (exemple : 124 241 à la place de 124241)

CORRECTIFS

  • quand un membre change de pseudo ou photo de profil, elle devrait être correctement mis à jour dans la base de donnée à présent
  • les graphiques affichés par la commande /stats affiche correctement les textes et non des petit rectangles
  • les membres du serveur ne peuvent plus utilisé le systeme de vérification
  • un membre accepté ou refusé via le systeme de vérification ne peut plus être accepté ou refusé à nouveau
  • il y a maintenant une taille minimum pour les présentations dans le systeme de vérification
  • les votes du bot ne sont plus compté dans le systeme de vérification

V2.0.0

24 May 01:20
Compare
Choose a tag to compare

NOUVEAUTÉS

  • toutes les commandes sont maintenant des slash commandes, à la place de l'ancien prefix - on utilise donc un /
  • la commande /role a reçu un tout nouveau design avec les nouveaux "select menu" de Discord
  • la commande /stats accepte maintenant un argument "historique" qui permet d'indiqué sur combien de jour on désire les stats (fini la limitation à 30)
  • le systeme de vérification a était refait avec les nouveaux "modal UI" de Discord

CORRECTIFS

  • la commande /watch-together est de retour pour regarder des vidéos ensemble 🍿
  • la commande /member n'affiche plus les salons qui n'existe plus et elle ne les affichera plus jamais
  • les commandes /top-message et /top-voice n'affichent plus que les statistiques des membres encore sur le serveur, fini les dizaines de page
  • les différentes données que l'on sauvegarde dans la base de données s'actualise toutes correctement maintenant (cela corrige par exemple l'affichage d'ancien pseudo sur les commandes de statistiques)

V1.0.0

18 May 00:57
Compare
Choose a tag to compare

Première version du bot.