- TypeScript 100%
| src | ||
| .eslintrc.json | ||
| .gitignore | ||
| .npmrc | ||
| config.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
bsfr-agent
Bot d'administration pour le Discord Beat Saber FR
Pré-requis
- FFMPEG (pour le téléchargement des clips/vidéos Twitch)
- Serveur NextCloud (pour l'hébergement des clips Twitch)
- Clé d'API Twitch (pour le téléchargement des clips Twitch postés dans le salon #clips)
- Clé d'API Google (pour la publication des nouvelles vidéos sur la chaîne YouTube BSFR)
Installation
npm install
npm run build
Configuration
Compléter le fichier src/config.json avec les données correspondantes au serveur.
Liste des commandes
-
/ping : Test si le bot fonctionne
Permet de tester si le bot est en ligne.
Exemples :
/ping
-
/lister : Listes diverses
Permet de lister les mots à bannir, les messages d'anniversaire ou les URL malveillants.
Paramètres :
| Nom | Obligatoire | Contenu |
|---|---|---|
| sujet | ☑ | Choix parmis Message d'anniversaire, URL malveillant |
| page | Numéro de page à afficher |
Exemples :
/list sujet:Message d'anniversaire
/list sujet:URL malveillant page:3
-
/ajouter : Ajouts divers
Permet d'ajouter des messages d'anniversaire ou des URL malveillants.
Paramètres :
| Nom | Obligatoire | Contenu |
|---|---|---|
| sujet | ☑ | Choix parmis Message d'anniversaire, URL malveillant |
Exemples :
/add sujet:Message d'anniversaire
/add sujet:URL malveillant
-
/supprimer : Suppressions diverses
Permet de supprimer des mots à bannir, des messages d'anniversaire ou des URL malveillants.
Paramètres :
| Nom | Obligatoire | Contenu |
|---|---|---|
| sujet | ☑ | Choix parmis Message d'anniversaire, URL malveillant |
| texte | ☑ | Liste des identifiants pour les messages d'anniversaire ou URL malveillants à supprimer séparés par un point virgule ; |
Exemples :
/remove sujet:Message d'anniversaire ids:1
/remove sujet:URLs malveillants ids:1;2;3;4;5
-
/avatar : Récupère l'avatar d'un membre
Permet d'afficher votre avatar ou celui d'un membre.
| Nom | Obligatoire | Contenu |
|---|---|---|
| membre | Membre de la guild | |
| extension | Extension de l'image (défaut: png) | |
| taille | Taille de l'image (défaut: 1024) | |
| statique | Force l'affichage statique de l'image (défaut: True) |
Exemples :
/avatar
/avatar extension:png taille:512
/avatar membre:@Hei5enberg#6969 statique:True
-
/anniversaire ajouter : Ajoute votre date d'anniversaire
Permet d'ajouter votre date d'anniversaire à la base de données afin que le bot vous le souhaite le jour J.
Paramètres :
| Nom | Obligatoire | Contenu |
|---|---|---|
| date | ☑ | Date au format JJ/MM/AAAA |
Exemples :
/anniversaire ajouter date:02/11/1995
-
/anniversaire supprimer : Supprime votre date d'anniversaire
Permet de supprimer votre date d'anniversaire de la base de données.
Exemples :
/anniversaire supprimer
-
/envoyer : Envoie un message dans un salon
Permet d'envoyer un message par l'Agent dans un salon.
Paramètres :
| Nom | Obligatoire | Contenu |
|---|---|---|
| salon | ☑ | Salon dans lequel envoyer le message |
| message | ☑ | Message à envoyer |
Exemples :
/envoyer salon:#général message:Coucou !
-
/log : Récupère un fichier de log
Permet d'afficher les logs du bot pour une date donnée.
Paramètres :
| Nom | Obligatoire | Contenu |
|---|---|---|
| date | Date du fichier de log à afficher au format JJ/MM/AAAA |
Exemples :
/log
/log date:28/04/2022
-
/roles liste : Liste vos rôles
Permet de récupérer la liste de vos rôles auto-assignables.
Exemples :
/roles liste
-
/roles ajouter <catégorie> : Ajoute un rôle pour la catégorie
<catégorie>
Permet de vous attribuer un rôle auto-assignables pour la catégorie donnée.
Paramètres :
| Nom | Obligatoire | Contenu |
|---|---|---|
| role | ☑ | Rôle pour la catégorie <catégorie> à ajouter |
Exemples :
/roles ajouter notification role:Annonce
-
/roles supprimer <catégorie> : Supprime un rôle pour la catégorie
<catégorie>
Permet de vous retirer un rôle auto-assignables pour la catégorie donnée.
Paramètres :
| Nom | Obligatoire | Contenu |
|---|---|---|
| role | ☑ | Rôle pour la catégorie <catégorie> à supprimer |
Exemples :
/roles supprimer notification role:Annonce
-
/dm : Envoie un message privé à un membre
Permet d'envoyer un message privé de la part de l'Agent à un membre de la guild.
Paramètres :
| Nom | Obligatoire | Contenu |
|---|---|---|
| membre | ☑ | Membre de la guild |
| message | ☑ | Message |
Exemples :
/dm membre:@Hei5enberg#6969 message:Coucou !
-
/r : Répond à un message privé
Permet de répondre à un message privé via un thread de messages privés.
Paramètres :
| Nom | Obligatoire | Contenu |
|---|---|---|
| message | ☑ | Message |
Exemples :
/r message:Coucou !
-
/ville ajouter : Ajoute votre ville de résidence
Permet d'ajouter votre ville de résidence à la base de données.
Paramètres :
| Nom | Obligatoire | Contenu |
|---|---|---|
| nom_ville | ☑ | Nom de la ville |
Exemples :
/ville ajouter nom_ville:Nantes
-
/ville supprimer : Supprime votre ville de résidence
Permet de supprimer votre ville de résidence de la base de données.
Exemples :
/ville supprimer
-
/twitch ajouter : Lie un compte Twitch à membre
Lie un compte Twitch afin d'activer les notifications lorsque le streameur est en live.
Paramètres :
| Nom | Obligatoire | Contenu |
|---|---|---|
| chaine | ☑ | Nom de la chaîne Twitch à lier au membre |
Exemples :
/twitch ajouter chaine:hei5enberg44
-
/twitch supprimer : Délie un compte Twitch d'un membre
Délie le compte Twitch afin de désactiver les notifications lorsque le streameur est en live.
Exemples :
/twitch supprimer
-
/sondage : Créé un sondage
Permet de créer un sondage et d'afficher les résultats en temps réel.
Paramètres :
| Nom | Obligatoire | Contenu |
|---|---|---|
| titre | ☑ | Titre du sondage |
| liste | ☑ | Liste des propositions séparées par un point virgule |
| date_fin | ☑ | Date de fin du sondage au format JJ/MM/AAAA HH:II (ex: 07/09/2022 15:30) |
| emojis | Emojis personnalisés séparés par un point virgule (doit correspondre au nombre de propositions) |
Exemples :
/sondage titre:Sondage de test liste:Proposition 1;Proposition 2;Proposition 3 date_fin:06/09/2022 20:00
/sondage titre:Sondage de test liste:Proposition 1;Proposition 2;Proposition 3 date_fin:07/09/2022 15:30 emojis:💀;💩;😂
-
/cooldown ajouter : Ajoute un membre à la liste des cooldowns
Permet d'ajouter un membre à la liste des cooldowns afin que celui-ci soit mute en cas de spam de messages.
Paramètres :
| Nom | Obligatoire | Contenu |
|---|---|---|
| membre | ☑ | Membre de la guild |
| seuil_temps | Seuil de temps entre le premier et le dernier message envoyé (en secondes) | |
| seuil_nombre | Nombre de messages envoyés dans le seuil de temps | |
| durée_mute | Durée du mute du membre (en secondes) |
Exemples :
/cooldown ajouter membre:@Hei5enberg#6969
/cooldown ajouter membre:@Hei5enberg#6969 seuil_temps:10 seuil_nombre:3 durée_mute:10
-
/cooldown supprimer : Supprime un membre de la liste des cooldowns
Permet de supprimer un membre de la liste des cooldowns. Celui-ci ne sera plus mute en cas de spam de messages.
Paramètres :
| Nom | Obligatoire | Contenu |
|---|---|---|
| membre | ☑ | Membre de la guild |
Exemples :
/cooldown supprimer membre:@Hei5enberg#6969
-
/cooldown liste : Liste les membres en cooldown
Permet de lister les membres en cooldown.
Paramètres :
| Nom | Obligatoire | Contenu |
|---|---|---|
| page | Numéro de page à afficher |
Exemples :
/cooldown liste
/cooldown liste page:3
-
/rejoindre : Rejoindre à salon vocal
Permet d'envoyer Agent dans un salon vocal.
Paramètres :
| Nom | Obligatoire | Contenu |
|---|---|---|
| salon | ☑ | Salon dans lequel envoyer @Agent |
Exemples :
/rejoindre salon:🔊Vocal
-
/partir : Partir d'un salon vocal
Permet de faire partir Agent d'un salon vocal.
Exemples :
/partir
-
/parler : Parler dans un salon vocal
Permet de faire prononcer une phrase à @Agent via tts.
Paramètres :
| Nom | Obligatoire | Contenu |
|---|---|---|
| message | ☑ | Message vocal à envoyer |
| salon | Salon dans lequel envoyer le message vocal | |
| voix | Voix à utiliser |
Exemples :
/parler message:Salut !
/parler salon:🔊Vocal message:Coucou !
/parler salon:🔊Vocal message:Bonjour à tous ! voix:Femme — Français
Auteur
👤 hei5enberg
- Site Web: bsaber.fr
- Twitter: @BltAntoine
- BlueSky: @hei5enberg.bsky.social
- Github: @hei5enberg44