diff --git a/src/corps.js b/src/corps.js index 16edb184880fc6c05d20bf617d0e28ef067a5a80..0706b4f0207f0cf2cf4ff774c4723919e7031f56 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 df432e6e624a45bdbe3790dd5b73a129db9f025f..83d0e9d1e31190d0810f7de1c47b591d3c22b154 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