Modules préinstallés
Pourquoi ?
Les modules sont un moyen d'ajouter des commandes ou autres fonctionnalités dans votre bot.
On peut dire que Bachero n'est qu'un simple bot vide, contenant une API et d'autres utilitaires pour y ajouter des éléments. Cependant, Bachero souhaite avoir des fonctionnalités utiles et propose plusieurs modules préinstallés par défaut.
Vous pouvez désinstaller un module en supprimant son dossier, celui-ci se trouve dans modules
. Il se peut que des fichiers puissent rester dans les bases de données et dans le dossier de configurations (config
), mais ceux-ci ne seront pas chargés.
Liste des modules
Bachero est encore en phase de bêta et peu de modules sont actuellement disponibles. Ceux-ci arriveront au fil des mises à jour.
Gestion des messages (bachero.module.message)
Rajoute quelques utilitaires pour la gestion des messages.
Inclus les commandes :
first
: donne un lien vers le premier message envoyé dans un salonsay
: envoie le message que vous voulez dans le salon (le bot l'enverra, et non vous)embed
: envoie un embed avec le titre, la description, couleur et footer que vous souhaitezslowmode
: modifie le temps du mode lent dans un salon puisque les paramètres Discord ne permettent pas de définir une valeur exacteclear
: supprime un nombre de messages entre 1 et 100 dans le salon
Informations sur un utilisateur (bachero.module.userinfo)
Ce module permet d'obtenir des informations sur un utilisateur, il s'intègre dans les menus contextuels (clic droit sur un utilisateur) et inclus la commande userinfo
permettant de mentionner quelqu'un plus rapidement.
Une option permettant d'éviter les appels aux APIs est disponible ("showminimal"), affichant moins d'informations mais en étant plus rapide.
Voir comment Bachero utilise Discord WhoIs
Page d'aide (bachero.module.help)
Lors de l'utilisation de commandes slash, Bachero affiche automatiquement la liste des commandes disponibles et certaines informations sur celles-ci.
Ce module rajoute une commande help
permettant d'obtenir ce genre d'informations en utilisant les commandes textes.
Minuteur (bachero.module.timer)
Rajoute un système de minuteur pour être rappelé en message privé de certains événements.
Avec la commande timer create
pour créer un minuteur, timer list
pour lister les minuteurs actifs, timer details
pour obtenir les informations d'un minuteur en cours, et timer delete
pour en supprimer un.
Aucune limite de minuteurs actifs n'est présente et la durée maximum est de 14 jours.
Usurpation par message (bachero.module.fake)
Envoie un message avec le texte que vous souhaitez en utilisant le nom et la photo de profil d'un autre membre du serveur, dans le but de se faire passer pour lui.
Note : la mention "bot" apparaîtra toujours à côté du nom du message, c'est une limitation de Discord.
Cette fonction peut être réservée aux administrateurs du serveur avec la commande fake-config
.
Générations d'images (bachero.module.images)
Permet de générer des images à partir de différentes commandes comme faketweet
, n'utilise pas d'IA !
Statistiques (bachero.module.analytics)
Permet de suivre les statistiques d'utilisation des commandes de Bachero au sein d'un serveur, afin d'en voir différentes informations en fonction du mois.
Tous les membres d'un serveur peuvent voir les six commandes les plus utilisées depuis le 1er du mois.
Recherche de paroles (bachero.module.lyrics)
Ce module ajoute une commande (lyrics
) permettant d'obtenir les paroles d'une chanson à partir du nom de l'artiste ou du titre de la chanson. Les paroles sont obtenues via l'API de Genius.
Recherche de memes (bachero.module.findmeme)
Effectuer des recherches via une commande (findmeme
) sur la plateforme FindMeme pour obtenir et envoyer dans le salon un meme.
Statistiques de jeux (bachero.module.gamestats)
Affiche des informations sur le profil d'un joueur de différentes plateformes à partir de son nom d'utilisateur ou de son tag avec la commande gamestats
.
Météo (bachero.module.weather)
Permet l'obtention des informations météos d'un terme de recherche (ville, coordonnées GPS, adresse IP) via la commande weather
. Les informations sont obtenues via l'API de WeatherAPI.
Niveaux et XP (bachero.module.level)
Intègre un système de niveaux, avec un classement interserveur (globale) + un classement par serveur. Les niveaux sont obtenus en envoyant des messages et en atteignant des paliers d'XPs. Les modérateurs peuvent également ajouter ou retirer de l'expérience à un membre.
Snipe (bachero.module.snipe)
Enregistre les messages modifiés ou supprimés sur le serveur, et permet de les afficher avec la commande snipe
.
Recherche de documentation (bachero.module.crawldoc)
Lance des recherches sur différentes documentations grâce au service CrawlDoc, et affiche les résultats dans un embed.
Infos transports en commun (bachero.module.transports)
Permet de récupérer les horaires de passage des transports en commun dans différentes régions/métrôpoles de France :
- Ile-de-France (via Bonjour RATP) : Bus, Métro, Tramway, RER, Transilien
- Grand Est (via Fluo) : Bus, Métro, Tramway, Car, TER, TGV (en fonction des villes)
- Dijon Métropole (via Divia) : Bus, Tramway
Unshorten (bachero.module.unshort)
Permet d'obtenir le lien d'origine d'un lien raccourci sur la plupart des services de raccourcissement de liens (et même Grabify, pour éviter de faire fuiter votre adresse IP). Ce module utilise l'API d'Unshort.
Informations sur une couleur (bachero.module.colorInfo)
Affiche des informations sur une couleur aléatoire, ou à partir d'une couleur donnée via le format HEX, RGB, HSL ou CYMK.
Commande texte (bachero.module.textCommand)
Laisse la possibilité aux gérants de serveur de décider si les commandes textes sont activées ou non sur leur serveur.
Affichage des rapports (bachero.module.showReports)
Permet à la personne qui héberge Bachero d'obtenir le contenu d'un rapport d'erreur à partir de son identifiant.
⚠️ Penser à modifier le mot de passe d'accès dans le fichier de configuration du module.
Pierre feuille ciseau (bachero.module.pfc)
Permets d'intégrer un pierre feuille ciseau dans Bachero, avec un système de score et un classement qui se réinitialise tout les 30 jours.
Utiliser la commande pfc
pour afficher 3 boutons (pierre, feuille, ciseau) qui permettent de lancer une partie contre le bot.
La commande accepte également un argument pour afficher le classement des joueurs (interserveurs) pour flex à quel point vous êtes bon 🙃
Serveur Minecraft (bachero.module.minecraft)
Ajoute la commande mc-server
permettant d'obtenir des informations sur un serveur Minecraft (Java et Bedrock), tels que le nombre de joueurs connectés, la version, s'il est allumé ou non...
elbot (el2zay.elbot)
Ajoute de nombreuses commandes sans catégorie précise, inspirées de celles présentes dans le bot Elbot.
Informations sur les modules (bachero.module.moduleInfo)
Ajoute la commande module
permettant d'obtenir des informations sur un module, ou d'afficher la liste complète des modules actuellements activés.
Cette commande obtient les informations à partir du fichier manifest.jsonc
de chaque module.
Informations sur le bot (bachero.module.botInfo)
Permet d'afficher des informations sur le robot et son hébergement avec une commande, assez personnalisable via un fichier de configuration.
Vous ne pouvez pas modifier le nom donné à Bachero dans le message qu'est envoyé par ce module, pour permettre à Bachero d'être un petit peu crédité (vous pouvez tout de même désinstaller le module).
Duel d'écriture (bachero.module.typeracer)
Cette commande permet de lancer un duel d'écriture entre deux membres d'un serveur. Un texte sera envoyé dans un salon, et les deux joueurs devront le recopier le plus rapidement possible.
Ping (bachero.module.ping)
Rajoute une commande ping
affichant le temps de latence entre Bachero et Discord, ainsi que le temps de latence pour la lecture et l'écriture de donnée dans les bases de données.
Shorten (bachero.module.short)
Permet la création d'un lien raccourci, à partir de n'importe quel lien.
Signalement de problème (bachero.module.issue)
Ajoute une commande report
pour signaler un problème aux administrateurs de cette instance. Le message sera envoyé via un webhook personnalisable avec le fichier de configuration de ce module.
AutoLink (bachero.module.autolink)
AutoLink est un module fait pour éviter aux membres de votre serveur de devoir cliquer sur des liens lorsqu'un message en contient beaucoup.
Lorsqu'un utilisateur envoie un ou plusieurs liens, ceux-ci seront extraits et des informations seront récupérées lorsqu'ils sont supportés, Bachero enverra ensuite un message qui contient les informations obtenues.
Liste des contributeurs (bachero.module.contributors)
Affiche la liste des contributeurs de Bachero, ainsi qu'un lien vers leur profil GitHub et leur nombre de contributions.
Discord WhoIs (bachero.module.discordWhois)
À pour but d'ajouter beaucoup d'utilisateur dans l'historique de pseudos de Discord WhoIs.
Il n'inclut aucune commande, mais va vérifier toutes les nuits (à 4h21) la liste des utilisateurs parmi les serveurs que le bot a rejoints.
Il utilise également l'event userUpdate
pour détecter les utilisateurs qui changent de pseudo en temps réel.
Voir comment Bachero utilise Discord WhoIs
Database Test (bachero.module.databaseTest)
Ce module vise à effectuer des tests sur les bases de données, peut être utilisé comme exemple pour les personnes voulant développer des modules.
Il est désactivé par défaut à des fins de sécurité, et peut être réactivé en supprimant la ligne "disabled": true
du fichier manifest.jsonc.
Inclus les commandes db-get
, db-set
, db-has
, db-delete
et db-getall
.