From 1cec12510402bc24e81d9716a51d45797eca3033 Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 9 Mar 2018 21:33:00 -0500 Subject: Auto stash before merge of "master" and "origin/master" --- .gitignore | 1 + commands/Moderation/lswarns.js | 44 ++++++++++++++++++++++++++++++++++++++++++ commands/Moderation/warn.js | 12 +++++++++++- events/message.js | 2 +- package.json | 1 + 5 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 commands/Moderation/lswarns.js diff --git a/.gitignore b/.gitignore index 3951b6b..9315881 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,4 @@ node_modules config.json *.json +*.sqlite diff --git a/commands/Moderation/lswarns.js b/commands/Moderation/lswarns.js new file mode 100644 index 0000000..62a7dbc --- /dev/null +++ b/commands/Moderation/lswarns.js @@ -0,0 +1,44 @@ +/** ************************************** + * + * Warn: Plugin for PokeBot that performs moderation actions. + * Copyright (C) 2018 TheEdge, jtsshieh, Alee + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * *************************************/ + +exports.run = async (bot, msg) => { + const db = require('quick.db'); + const { RichEmbed } = require('discord.js'); + + const warns = await db.get(`warns_${msg.author.id}_count`); + if (!warns) return await msg.reply('Yay! You have no warns.'); + const embed = new RichEmbed() + .setTitle('Warns'); + for (let i = 0; i > warns.count; i++) { + const warning = await db.get(`warns_${msg.author.id}_warn_${i}`); + embed.addField('Warning #' + i, warning); + } + msg.channel.send({ embed }); +}; + +exports.conf = { + aliases: [], + guildOnly: true, +}; + +exports.help = { + name: 'lswarns', + description: 'Shows all the warnings a user has.', +}; diff --git a/commands/Moderation/warn.js b/commands/Moderation/warn.js index b47fa3f..a4b226e 100644 --- a/commands/Moderation/warn.js +++ b/commands/Moderation/warn.js @@ -18,13 +18,23 @@ * * *************************************/ -exports.run = (bot, msg, args) => { +exports.run = async (bot, msg, args) => { if (!msg.member.hasPermission('MANAGE_MESSAGES')) return msg.reply('You don\'t have permssion to warn.'); args.shift(); const warnReason = args.join(' '); const victim = msg.mentions.members.first(); msg.channel.send(`Successfully logged ${victim.user.tag}'s warning.`); + const db = require('quick.db'); + const warns = await db.get(`warns_${victim.user.id}_count`); + if (warns) { + await db.set(`warns_${victim.user.id}_count`, warns + 1); + await db.set(`warns_${victim.user.id}_warn_${warns + 1}`, warnReason); + } + else { + await db.set(`warns_${victim.user.id}_count`, 1); + await db.set(`warns_${victim.user.id}_warn_1`, warnReason); + } const { RichEmbed } = require('discord.js'); bot.channels.find('name', 'logs').send( diff --git a/events/message.js b/events/message.js index dfe7c72..83efad2 100644 --- a/events/message.js +++ b/events/message.js @@ -39,7 +39,7 @@ module.exports = (bot, msg) => { function parseCommand(bot, msg) { let category; - const prefix = 'p:'; + const prefix = 'p,'; if (msg.author.bot) return; if (!msg.content.startsWith(prefix)) return; diff --git a/package.json b/package.json index dd8cc47..fcd8a74 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "dependencies": { "discord.js": "^11.3.0", "discord.js-lavalink": "github:mrjacz/discord.js-lavalink", + "quick.db": "^5.3.8", "snekfetch": "^4.0.0-rc.0" } } -- cgit v1.2.3