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

V2.4.0

Compare
Choose a tag to compare
@Bluzzi Bluzzi released this 16 Oct 22:20
· 500 commits to main since this release

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