Introduction
Bachero est encore en bêta et son développement est loin de s'arrêter, certaines fonctionnalités affichées sur la page d'accueil peuvent ne pas être disponibles.
Bachero a pour but de devenir le meilleur bot de Discord. La plupart des bots déjà existants se limitent à proposer des commandes, et potentiellement un dashboard et/ou quelques commandes pour configurer, mais cela ne va généralement pas très loin.
Certains bots arrivent à ressortir du lot pour que les propriétaires de serveurs puissent avoir un bot à leur effigie, mais la plupart qui proposent ses services auront toujours un ou plusieurs problèmes, pour MEE6 Custom Bot, ce problème peut être le prix (11.95€/mois, c'est encore plus cher que Discord Nitro).
Bachero est là pour tenter de révolutionner cela, en proposant quelque chose de gratuit, open source et que vous pouvez héberger vous-même sur votre matériel, sans même avoir de notion avec le code.
Héberger soi-même
Si vous souhaitez utiliser Bachero sans avoir une personnalisation très poussée, une instance déjà hébergée est disponible.
Prérequis
Pour héberger Bachero sur votre appareil, vous aurez besoin d'avoir un des trois principaux systèmes d'exploitation (Windows, macOS, Linux).
En plus d'un de ses OS, vous aurez besoin d'installer Git, Node.js v20 ou plus, ainsi qu'NPM (qui devrait être inclus avec NodeJS)
Créé une app Discord
Rendez-vous sur le Discord Developer Portal et cliquer sur le bouton "New Application" en haut à droite (à côté de votre photo de profil).
Entrez le nom de votre bot dans le premier champ puis cliquer sur "Create", vous serez rediriger vers une page affichant les détails de votre nouvelle app.
Dans l'onglet "General Information", vous pouvez ajouter une photo de profil, un nom et une description (elle sera utilisé dans la partie "À propos" sur le profil de votre robot).
Une fois cela fait, allez dans l'onglet "Bot", et cliquez sur "Add Bot". Vous serez demandé de confirmer la création. Votre bot est créé, wouhou !
Maintenant, vous pouvez modifier certains autres paramètres (tels que "Public Bot" qui, lorsqu'il est coché, rend votre robot public pour que n'importe qui puisse l'ajouter à son serveur).
Toujours dans le même onglet, descendez vers "Privileged Gateway Intents" et cocher les trois cases : cela permettra de faire que Bachero supporte certaines fonctionnalités.
Remontez en haut, et appuyer sur "Reset Token", un token est l'élément qui permet à n'importe qui (y compris le code de Bachero) de se connecter à votre robot, celui-ci ne doit être partagé avec personne et doit rester privé.
Une fois le token obtenu, notez le quelque part puisque vous en aurez besoin lors de la configuration de Bachero.
La dernière information à obtenir depuis le portail développeur est l'identifiant du bot, rendez-vous dans l'onglet "OAuth2" et copier l'identifiant du client ("Client id").
Configurer Bachero
Ouvrez un terminal et entrez les commandes suivantes :
git clone https://github.com/bacherobot/bot
cd bot
npm install
# Ou la commande "pnpm install" si vous utilisez PNPM
Ces 3 commandes auront pour effet de télécharger le code source du bot, et d'installer toutes les dépendances nécessaires.
Maintenant, créez un fichier ".env" (touch .env
), et remplissez le fichier :
DISCORD_TOKEN="Entrez ici le token du bot",
DISCORD_CLIENT_ID="Entrez ici l'identifiant du client/bot"
Vous pouvez aussi éditer le fichier bachero.jsonc
se trouvant dans le dossier config
pour plus de modifications, mais les valeurs par défauts suffisent la plupart du temps.
Démarrer Bachero
Pour démarrer Bachero, vous n'avez qu'à exécuter la commande node index.js
depuis votre terminal.
Cette commande éteindra le robot lorsque vous quitterez votre terminal. Si vous souhaitez le garder allumé en permanence, vous pouvez installer PM2 (npm install pm2 -g
) et faire la commande pm2 start index.js
.
Inviter Bachero sur votre serveur
Votre bot est normalement prêt à être utilisé, mais il n'est pas encore sur votre serveur.
Pour obtenir le lien d'invitation, revenez sur le Discord Developer Portal, sélectionnez l'application que vous avez créée, et allez dans l'onglet "OAuth2" puis dans la sous-catégorie "URL Generator". Cette page affichera un tableau permettant de cocher les options que vous souhaitez utiliser.
Cocher bot
et application.commands
dans la partie "scopes" et choisissez les permissions que le bot doit avoir dans la partie "Bot Permissions" (exemple, la permission administrateur).
Installer un module sur votre instance
Certains modules peuvent être malveillants, et peuvent causer des problèmes sur votre système entier, ainsi que le robot. Soyez sûr d'avoir confiance en chaque module que vous installez.
Pour installer un module sur votre instance, vous n'avez qu'à télécharger un dossier (contenant généralement un fichier manifest.jsonc
et un ou plusieurs fichiers javascript) dans le dossier modules
de Bachero.
Si le module se trouve sur GitHub (et n'est pas lui même dans un dossier), vous pouvez exécuter la commande suivante :
# Remplacer "bot" par le nom du dossier qui contient les fichiers de Bachero, si vous avez suivi le tutoriel un peu plus haut et que vous n'avez pas changer le dossier, il devrait s'appeller "bot"
cd bot
cd modules
git clone <url du repo GitHub>
Le module devrait être installé. Notez qu'après le premier démarrage du robot, ou après l'installation d'un module, il se peut que des fichiers soient rajoutés dans le dossier config
.
Stockage
Lors de l'utilisation des commandes textes, Bachero va créé un dossier temporaire : "TEMP_bachero_textcommandcompatibility". Lorsque le dossier est supprimé, Bachero tentera de le recréer au prochain démarrage.
Après avoir supprimé un ou plusieurs modules, vous pouvez supprimer ce dossier puis redémarrer l'instance de Bachero pour gagner du stockage.
Si vous utilisez une base de données locale ("json", par défaut) et que vous n'avez pas désactivé le système de rapports d'erreur, un dossier nommé "reports" sera automatiquement créé par Bachero. Vous pouvez supprimer ce dossier sans risque puisqu'il sera recréé.
Licence
MIT © Johan
Non affilié avec Discord, les noms des bots cités et les librairies utilisées lors du développement.
Affilié avec Discord WhoIs, Stend et Unshort.