From 54147018191fa0a0388d4c90e506863ba8be1950 Mon Sep 17 00:00:00 2001 From: alexkar598 <25136265+alexkar598@users.noreply.github.com> Date: Thu, 5 May 2022 16:07:47 -0400 Subject: [PATCH 1/5] Delete DiscordCommandDNotes.js --- .../Discord/Commands/DiscordCommandDNotes.js | 101 ------------------ 1 file changed, 101 deletions(-) delete mode 100644 models/Discord/Commands/DiscordCommandDNotes.js diff --git a/models/Discord/Commands/DiscordCommandDNotes.js b/models/Discord/Commands/DiscordCommandDNotes.js deleted file mode 100644 index 5fdc261..0000000 --- a/models/Discord/Commands/DiscordCommandDNotes.js +++ /dev/null @@ -1,101 +0,0 @@ -const DiscordCommand = require('../DiscordCommand.js'); - - -class DiscordCommandDNotes extends DiscordCommand { - - constructor(subsystem) { - super("dnotes", "Checks a Discord users notes if they have their account linked", 'note', subsystem); - } - - onRun(message, permissions, args) { - var config = this.subsystem.manager.getSubsystem("Config").config; - if(args.length < 1) { - message.reply("Usage is `" + config.discord_command_character + "dnotes [@UserName`"); - return; - } - var user = undefined; - - for (var auser of message.mentions.users.array()) { - user = auser; - break; - } - - var dbSubsystem = this.subsystem.manager.getSubsystem("Database"); - - dbSubsystem.pool.getConnection((err, connection) => { - if (err) { - connection.release(); - message.reply("Error contacting database, try again later."); - return; - } - var userID = auser - if(!userID) { - message.reply("Unknown Error while getting Discord ID!") - return; - } - - connection.query('SELECT * FROM `' + dbSubsystem.format_table_name('player') + '` WHERE `discord_id` = ?', [userID.id], (error, results, fields) => { - if (error) { - message.reply("Error running select query, try again later."); - return; - } - if (results.length == 0) { - message.reply("No linked BYOND account found."); - return; - } - if (results.length > 1) { - message.reply("More than one BYOND account linked to this ID. This shouldn't happen!"); - return; - } - - var ckey = results[0].ckey - - connection.query('SELECT * FROM `' + dbSubsystem.format_table_name('messages') + '` WHERE `targetckey` = ? AND `type`= "note" AND deleted = 0 AND (expire_timestamp > NOW() OR expire_timestamp IS NULL) ORDER BY `timestamp`', [ckey], (error, results, fields) => { - if (error) { - message.reply("Error running select query, try again later."); - } - - if (results.length == 0) { - message.reply("Player has no notes."); - } - else { - var msg = "Notes for " + userID + "/" + ckey + "\n"; - var shownNotes = []; - for(var i = 0; i < results.length; i++){ - var result = results[i] - var newmsg = "```" + result.timestamp + "\t" + result.text - if(shownNotes.length) { - for(var j = 0; j < shownNotes.length; j++) { - if(newmsg == shownNotes[j]) { - newmsg = null; - break; - } - } - } - if(newmsg == null) { - continue; - } - shownNotes.push(newmsg); - if(message.channel.id == config.discord_channel_admin || message.channel.id == config.discord_channel_council) { - newmsg += " " + result.adminckey; - } - newmsg += "```"; - if(msg.length + newmsg.length > 2000) { - message.channel.send(msg); - msg = newmsg; - } - else { - msg += newmsg; - } - } - message.channel.send(msg); - } - }); - }) - connection.release(); - }); - } - -} - -module.exports = DiscordCommandDNotes; From 12d55cb9fb0f8a724d94b18ba126e69759e84216 Mon Sep 17 00:00:00 2001 From: alexkar598 <25136265+alexkar598@users.noreply.github.com> Date: Thu, 5 May 2022 16:08:46 -0400 Subject: [PATCH 2/5] Delete DiscordCommandMyNotes.js --- .../Discord/Commands/DiscordCommandMyNotes.js | 88 ------------------- 1 file changed, 88 deletions(-) delete mode 100644 models/Discord/Commands/DiscordCommandMyNotes.js diff --git a/models/Discord/Commands/DiscordCommandMyNotes.js b/models/Discord/Commands/DiscordCommandMyNotes.js deleted file mode 100644 index c936a41..0000000 --- a/models/Discord/Commands/DiscordCommandMyNotes.js +++ /dev/null @@ -1,88 +0,0 @@ -const DiscordCommand = require('../DiscordCommand.js'); - - -class DiscordCommandMyNotes extends DiscordCommand { - - constructor(subsystem) { - super("mynotes", "Checks your notes", null, subsystem); - } - - onRun(message, permissions, args) { - - var dbSubsystem = this.subsystem.manager.getSubsystem("Database"); - - dbSubsystem.pool.getConnection((err, connection) => { - if (err) { - connection.release(); - message.reply("Error contacting database, try again later."); - return; - } - var userID = message.author.id - if(!userID) { - message.reply("Unknown Error while getting Discord ID!") - return; - } - - connection.query('SELECT * FROM `' + dbSubsystem.format_table_name('player') + '` WHERE `discord_id` = ?', [userID], (error, results, fields) => { - if (error) { - message.reply("Error running select query, try again later."); - return; - } - if (results.length == 0) { - message.reply("No linked BYOND account found. Are you sure you have linked your Discord to your BYOND?"); - return; - } - if (results.length > 1) { - message.reply("More than one BYOND account linked to this ID. This shouldn't happen!"); - return; - } - - var ckey = results[0].ckey - - connection.query('SELECT * FROM `' + dbSubsystem.format_table_name('messages') + '` WHERE `targetckey` = ? AND `type`= "note" AND deleted = 0 AND (expire_timestamp > NOW() OR expire_timestamp IS NULL) AND `secret` = 0 ORDER BY `timestamp`', [ckey], (error, results, fields) => { - var guildMember = message.member; - if (error) { - message.reply("Error getting notes, try again later."); - } - message.reply("Success. Check your Direct Messages."); - if (results.length == 0) { - guildMember.sendMessage("You have no notes."); - } - else { - var msg = "Notes for " + ckey + "\n"; - var shownNotes = []; - for(var i = 0; i < results.length; i++){ - var result = results[i] - var newmsg = "```" + result.timestamp + "\t" + result.text - if(shownNotes.length) { - for(var j = 0; j < shownNotes.length; j++) { - if(newmsg == shownNotes[j]) { - newmsg = null; - break; - } - } - } - if(newmsg == null) { - continue; - } - shownNotes.push(newmsg); - newmsg += "```"; - if(msg.length + newmsg.length > 2000) { - guildMember.user.sendMessage(msg); - msg = newmsg; - } - else { - msg += newmsg; - } - } - guildMember.user.sendMessage(msg); - } - }); - }) - connection.release(); - }); - } - -} - -module.exports = DiscordCommandMyNotes; From 791b23acaa6345863a145d7c613ce064f0d529dd Mon Sep 17 00:00:00 2001 From: alexkar598 <25136265+alexkar598@users.noreply.github.com> Date: Thu, 5 May 2022 16:09:06 -0400 Subject: [PATCH 3/5] Delete DiscordCommandNotes.js --- .../Discord/Commands/DiscordCommandNotes.js | 75 ------------------- 1 file changed, 75 deletions(-) delete mode 100644 models/Discord/Commands/DiscordCommandNotes.js diff --git a/models/Discord/Commands/DiscordCommandNotes.js b/models/Discord/Commands/DiscordCommandNotes.js deleted file mode 100644 index d15504c..0000000 --- a/models/Discord/Commands/DiscordCommandNotes.js +++ /dev/null @@ -1,75 +0,0 @@ -const DiscordCommand = require('../DiscordCommand.js'); - - -class DiscordCommandNotes extends DiscordCommand { - - constructor(subsystem) { - super("notes", "Check a user's notes", 'note', subsystem); - } - - onRun(message, permissions, args) { - var config = this.subsystem.manager.getSubsystem("Config").config; - if (args.length < 1) { - message.reply("Usage is `" + config.discord_command_character + "notes [ckey]`"); - return; - } - var ckey = args.join(""); - var punctuation = [".", ",", "-", "_", ";", ":"]; - for(var i = 0; i< punctuation.length; i++) { - ckey = ckey.split(punctuation[i]).join(""); - } - - var dbSubsystem = this.subsystem.manager.getSubsystem("Database"); - - dbSubsystem.pool.getConnection((err, connection) => { - if (err) { - connection.release(); - message.reply("Error contacting database, try again later."); - return; - } - connection.query('SELECT * FROM `' + dbSubsystem.format_table_name('messages') + '` WHERE `targetckey` = ? AND `type`= "note" AND deleted = 0 AND (expire_timestamp > NOW() OR expire_timestamp IS NULL) ORDER BY `timestamp`', [ckey], (error, results, fields) => { - if (error) { - message.reply("Error running select query, try again later."); - } - - if (results.length == 0) { - message.reply("Player has no notes."); - } - else { - var msg = "Notes for " + ckey + "\n"; - var shownNotes = []; - for(var i = 0; i < results.length; i++){ - var result = results[i] - var newmsg = "```" + result.timestamp + "\t" + result.text - if(shownNotes.length) { - for(var j = 0; j < shownNotes.length; j++) { - if(newmsg == shownNotes[j]) { - newmsg = null; - break; - } - } - } - if(newmsg == null) { - continue; - } - shownNotes.push(newmsg); - newmsg += " " + result.adminckey; - newmsg += "```"; - if(msg.length + newmsg.length > 2000) { - message.channel.send(msg); - msg = newmsg; - } - else { - msg += newmsg; - } - } - message.channel.send(msg); - } - connection.release(); - }); - }); - } - -} - -module.exports = DiscordCommandNotes; From d8fa7cc7c0571e6fb07c8d2597bef875912247d3 Mon Sep 17 00:00:00 2001 From: alexkar598 <25136265+alexkar598@users.noreply.github.com> Date: Thu, 5 May 2022 16:11:54 -0400 Subject: [PATCH 4/5] Delete DiscordCommandSearch.js --- .../Discord/Commands/DiscordCommandSearch.js | 31 ------------------- 1 file changed, 31 deletions(-) delete mode 100644 models/Discord/Commands/DiscordCommandSearch.js diff --git a/models/Discord/Commands/DiscordCommandSearch.js b/models/Discord/Commands/DiscordCommandSearch.js deleted file mode 100644 index a50368c..0000000 --- a/models/Discord/Commands/DiscordCommandSearch.js +++ /dev/null @@ -1,31 +0,0 @@ -const DiscordCommand = require('../DiscordCommand.js'); - -class DiscordCommandSearch extends DiscordCommand { - - constructor(subsystem) { - super("search", "search one of the repos for a string.", undefined, subsystem); - } - - onRun(message, permissions, args) { - var config = this.subsystem.manager.getSubsystem("Config").config; - - if(args.length < 2) { - message.channel.send("Usage is `" + config.discord_command_character + "search [yogbot/yogs] `"); - } - let searched = args[0].toLowerCase(); - for(var i = 1; i Date: Thu, 5 May 2022 16:12:14 -0400 Subject: [PATCH 5/5] Delete DiscordCommandTicket.js --- .../Discord/Commands/DiscordCommandTicket.js | 142 ------------------ 1 file changed, 142 deletions(-) delete mode 100644 models/Discord/Commands/DiscordCommandTicket.js diff --git a/models/Discord/Commands/DiscordCommandTicket.js b/models/Discord/Commands/DiscordCommandTicket.js deleted file mode 100644 index 2779f1c..0000000 --- a/models/Discord/Commands/DiscordCommandTicket.js +++ /dev/null @@ -1,142 +0,0 @@ -const DiscordCommand = require('../DiscordCommand.js'); - -class DiscordCommandTicket extends DiscordCommand { - - constructor(subsystem) { - super("ticket", "Get ticket information.", "note", subsystem); - } - - onRun(message, permissions, args) { - var config = this.subsystem.manager.getSubsystem("Config").config; - if(args.length == 0) { - message.reply(`Usage is \`${config.discord_command_character} ticket \``); - return; - } - - switch(args[0]) { - case "help": - this.ticket_help(message, args); - break; - case "get": - this.get_ticket(message, args); - break; - default: - message.reply(`Unknown subcommand \`${ args[0] }\``); - - } - } - - ticket_help(message, args) { - var config = this.subsystem.manager.getSubsystem("Config").config; - if(args.length < 2) { - message.reply(`Gets information on a ticket from the database.\n\ - Use \`${config.discord_command_character}ticket help \` for help on a specific subcommand`); - return; - } - switch(args[1]) { - case "get": - message.reply(`Gets either the content of a specific ticket from a round, or the list of tickets from that round\n\ - \tUsage: \`${config.discord_command_character}ticket get [ticket_id]\``); - break; - default: - message.reply(`Unkown subcommand \`${ args[1] }\``); - } - } - - get_ticket(message, args) { - var config = this.subsystem.manager.getSubsystem("Config").config; - if(args.length < 2) { - message.reply(`Usage: \`${config.discord_command_character}ticket get [ticket_id]\``); - return; - } - - const round_id = parseInt(args[1]); - if(isNaN(round_id)) { - message.reply("Round id must be a number"); - return; - } - - const dbSubsystem = this.subsystem.manager.getSubsystem("Database"); - - if(args.length < 3) { // No ticket id, just round id - dbSubsystem.pool.getConnection((err, connection) => { - if(err) { - message.reply("Error connecting to database, try again later."); - return; - } - - connection.query("SELECT * FROM (\ - SELECT `tickets`.`ticket_id`, `tickets`.`ckey`, `tickets`.`a_ckey`, `interactions`.`text`, \ - RANK() OVER (PARTITION BY `tickets`.`ticket_id` ORDER BY `interactions`.`id`) as `rank` \ - FROM " + dbSubsystem.format_table_name("admin_tickets") + " as tickets \ - JOIN " + dbSubsystem.format_table_name("admin_ticket_interactions") + " interactions on tickets.id = interactions.ticket_id \ - WHERE `tickets`.`round_id` = ?\ - ) as ticket_list WHERE ticket_list.`rank` = 1;", [round_id], (error, results, fields) => { - if(error) { - message.reply("Failed to get tickets"); - return; - } - - if(results.length == 0) { - message.reply("No tickets found for round " + round_id); - return; - } - - let ticket_list = "Tickets for round " + round_id + ":\n```"; - for(let i in results) { - let result = results[i] - ticket_list += `#${result.ticket_id}) ${result.ckey}: ${result.text}, ${result.a_ckey}\n` - } - ticket_list += "```" - message.reply(ticket_list) - }); - }); - return; - } - - const ticket_id = parseInt(args[2]); - if(isNaN(round_id)) { - message.reply("Round id must be a number"); - return; - } - - dbSubsystem.pool.getConnection((err, connection) => { - if(err) { - message.reply("Error connecting to database, try again later."); - return; - } - - connection.query("SELECT `interactions`.`when`, `interactions`.`user`, `interactions`.`text` \ - FROM " + dbSubsystem.format_table_name("admin_tickets") + " as tickets \ - JOIN " + dbSubsystem.format_table_name("admin_ticket_interactions") + " interactions on tickets.id = interactions.ticket_id \ - WHERE `tickets`.`round_id` = ? AND `tickets`.`ticket_id` = ?;", [round_id, ticket_id], (error, results, fields) => { - if(error) { - message.reply("Failed to get tickets"); - return; - } - - if(results.length == 0) { - message.reply(`Unable to find ticket ${ticket_id} in round ${round_id}`); - return; - } - - let ticket_list = `Ticket ${ticket_id} for round ` + round_id + ":\n```"; - const time_opts = { - hour12: false, - hour: "numeric", - minute: "numeric", - seconds: "numeric" - } - for(let i in results) { - let result = results[i] - ticket_list += `${result.when.toLocaleTimeString("en-US",time_opts)}: ${result.user}: ${result.text}\n` - } - ticket_list += "```" - message.reply(ticket_list) - }); - }); - } - -} - -module.exports = DiscordCommandTicket;