Bonjour !
Vous souhaitez savoir comment démarrer plusieurs de vos bots sur le même hébergement. Je vais vous indiquer comment faire !
Dans un premier temps faites deux dossiers si vous possédez deux bots (libre à vous de nommer le dossier mais celui-ci doit être pareil dans le fichier index.js
:
Une fois que vous avez importé vos deux dossiers qui contiennent un bot chacun vous devez les "appeler" dans un fichier se nommant index.js
à la racine de votre hébergement. Pour notre cas présent c'est le dossier bot1
et le dossier bot2
.
Une fois terminé, je vous recommande d'importer un seul package.json
(avec tous les modules pour les différents bots) à la racine de votre hébergement afin d'éviter à devoir installer les modules à deux endroits différents.
Si votre bot possède un command/event handler, ajoutez le chemin complet vers les dossiers de votre bot
Par exemple : /home/container/bot1/commands /home/container/bot1/events, etc...
Ou encore, voici un exemple d'un event handler "ajusté" pour l'occasion :
const loadEvents = (dir = "./events/") => {
readdirSync(dir).forEach(dirs => {
const events = readdirSync(`${dir}${dirs}`).filter(files => files.endsWith(".js"));
for (const event of events) {
const evt = require(`${dir}${dirs}/${event}`);
const evtName = event.split(".")[0];
client.on(evtName, evt.bind(null, client));
console.log(`Event loaded: ${evtName}`);
};
});
};
Que vous pouvez remplacer par :
const loadEvents = (dir = path.join(__dirname, "events")) => { // Ici vous pouvez voir que j'ai rajouté path.join pour avoir un chemin plus précis pour le bot en question
readdirSync(dir).forEach(dirs => {
const events = readdirSync(`${dir}${dirs}`).filter(files => files.endsWith(".js"));
for (const event of events) {
const evt = require(`${dir}${dirs}/${event}`);
const evtName = event.split(".")[0];
client.on(evtName, evt.bind(null, client));
console.log(`Event loaded: ${evtName}`);
};
});
};