From 047afbb51f1350dc18394d445271134d18ded64e Mon Sep 17 00:00:00 2001 From: Camille <ltheo2029@gmail.com> Date: Wed, 3 Nov 2021 23:11:31 +0100 Subject: [PATCH] Upgrade : Bot is now availble on mutiple guilds. --- src/corps.js | 31 ++++++++++++++++++++++--------- src/index.js | 4 +++- 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/src/corps.js b/src/corps.js index 16edb18..0706b4f 100644 --- a/src/corps.js +++ b/src/corps.js @@ -1,8 +1,7 @@ const help = require('./help'); -let map = new Map(); -let copy = new Map(); - +const serversList = new Map(); +const copyList = new Map(); /** @@ -10,6 +9,12 @@ let copy = new Map(); */ function handleCommand(message, cmdName, args) { + const serverId = message.guildId; + + if (!serversList.has(serverId)) + serversList.set(serverId, new Map()); + + switch (cmdName) { case "help" : @@ -18,6 +23,7 @@ function handleCommand(message, cmdName, args) { case "list": case "liste": + case "listeuh": //POUR DEV PIPO SANS TUER LA LISTE DE CAMBOT list(message); break; @@ -43,7 +49,9 @@ function handleCommand(message, cmdName, args) { } } + function list(message){ + const map = serversList.get(message.guildId); if (map.size === 0) return message.channel.send("La liste est vide."); let rep =""; for (const [key, value] of map) @@ -54,7 +62,10 @@ function list(message){ /** * @param {Array<string>} args */ + + function add(args, message){ + const map = serversList.get(message.guildId); const articles = args.join(" ").split(/;\s*/); //propre for (let article of articles) { if (article === "") continue; @@ -73,6 +84,8 @@ function add(args, message){ function remove(args, message){ + const map = serversList.get(message.guildId); + if (map.size === 0) return message.channel.send("La liste est vide."); const articles = args.join(" ").split(/;\s*/); //propre @@ -85,19 +98,19 @@ function remove(args, message){ message.channel.send("Vos articles ont bien été retirés."); } - function clear(message){ + + const map = serversList.get(message.guildId); if (map.size === 0) return message.channel.send("La liste est déjà vide."); - copy = new Map([...map]); - map.clear(); + copyList.set(message.guildId, map); + serversList.set(message.guildId, new Map()); message.channel.send("La liste a bien été supprimmée."); } function backup(message){ - map = new Map([...copy]); - copy.clear(); + const map = copyList.get(message.guildId); + serversList.set(message.guildId, map); message.channel.send("Le backup a bien été effectué."); } - module.exports = handleCommand ; \ No newline at end of file diff --git a/src/index.js b/src/index.js index df432e6..83d0e9d 100644 --- a/src/index.js +++ b/src/index.js @@ -12,10 +12,12 @@ client.on('ready', () => { const PREFIX = "$"; +let serverList = []; client.on('messageCreate', (message) => { - + if (message.author.bot) return; + if (message.content.startsWith(PREFIX)) { const [ cmdName, ...args] = message.content -- GitLab