From 74a33152f5775985544c961b3082facb3bbe6ec5 Mon Sep 17 00:00:00 2001 From: Julian Webb Date: Fri, 6 Jul 2018 22:01:11 -0700 Subject: [PATCH 1/9] Giving life back to extraneous.js, it was user (me) error that caused it to go unused. --- app.js | 3 +- events/message.js | 63 ++++------------------------------------- events/messageDelete.js | 51 +++------------------------------ events/messageUpdate.js | 53 ++++------------------------------ modules/extraneous.js | 5 ++++ 5 files changed, 21 insertions(+), 154 deletions(-) diff --git a/app.js b/app.js index 90cac91..f2875c4 100644 --- a/app.js +++ b/app.js @@ -8,13 +8,12 @@ const config = require('./config.json') const gotkicked = require('./gotkicked.json') const joinmessages = require('./joinmessages.json') +// Since the events are moved to seperate files, need to smuggle these in through the config argument config.colors = { red: 0x781706, orange: 0xBA430D, green: 0x037800 } - -// Since the events are moved to seperate files, need to smuggle these in through the config argument config.gotkicked = gotkicked config.joinmessages = joinmessages diff --git a/events/message.js b/events/message.js index 5a679a2..bfadf12 100644 --- a/events/message.js +++ b/events/message.js @@ -1,5 +1,7 @@ // message.js +const extra = require('./../modules/extraneous') + var checkusers = {} var messages = [] @@ -92,7 +94,7 @@ module.exports = async (config, client, influx, message) => { .then(connection => { connection.playFile('./Roblox_Death_Sound_Effect.mp3') }) - await sleep(3000) + await extra.sleep(3000) console.log('Disconnecting from voice channel') message.member.voiceChannel.leave() } @@ -133,7 +135,7 @@ module.exports = async (config, client, influx, message) => { database: 'nixnest' }) message.channel.send('Setting messages for user') - await sleep(2000) + await extra.sleep(2000) influx.writePoints([ { measurement: 'message', @@ -300,7 +302,7 @@ module.exports = async (config, client, influx, message) => { } }; if (message.guild.id.toString().includes(config.logserver)) { - var embedFields = fieldGenerator(message.cleanContent, 'Command') + var embedFields = extra.fieldGenerator(message.cleanContent, 'Command') console.log(embedFields) client.channels.get(config.logchannel).send({embed: { color: config.colors.green, @@ -308,7 +310,7 @@ module.exports = async (config, client, influx, message) => { name: message.author.username, icon_url: message.author.displayAvatarURL }, - url: urlGenerator(message), + url: extra.urlGenerator(message), title: 'Command ran in #' + message.channel.name, fields: embedFields, timestamp: new Date(), @@ -319,56 +321,3 @@ module.exports = async (config, client, influx, message) => { }}) } } - -const embedLength = 1020 - -function lengthSplit (message, length) { - var splitCount = Math.floor(message.length / length) + 1 - var splits = [] - - for (var n = 0; n < splitCount; n++) { - splits.push(message.substr(0 + (n * length), length)) - } - - if (!splits[splits.length - 1]) { - splits.pop() - } - console.log(splits) - return splits -}; - -function fieldGenerator (message, msgTitle) { - console.log(msgTitle) - console.log(message) - var splits = lengthSplit(message, embedLength) - var fields = [] - - if (splits.length === 1) { - fields = [{ - name: msgTitle, - value: '` ' + splits[0] + ' `' - }] - } else { - for (var n = 0; n < splits.length; n++) { - fields.push({ - name: msgTitle + ' (' + n + ')', - value: '` ' + splits[n] + ' `' - }) - } - } - console.log(fields) - return fields -}; - -function urlGenerator (msgObj) { - var url = `https://discordapp.com/channels/${msgObj.guild.id}/${msgObj.channel.id}/${msgObj.id}` - return url -} - -async function sleep (ms = 0) { - return new Promise((resolve, reject) => { - setTimeout(() => { - resolve() - }, ms) - }) -} diff --git a/events/messageDelete.js b/events/messageDelete.js index 7024a49..b73cab6 100644 --- a/events/messageDelete.js +++ b/events/messageDelete.js @@ -1,7 +1,9 @@ // messageDelete.js +const extra = require('./../modules/extraneous') + module.exports = async (config, client, influx, message) => { - var embedFields = fieldGenerator(message.cleanContent, 'Message') + var embedFields = extra.fieldGenerator(message.cleanContent, 'Message') console.log(embedFields) client.channels.get(config.logchannel).send({embed: { color: config.colors.red, @@ -9,7 +11,7 @@ module.exports = async (config, client, influx, message) => { name: message.author.username, icon_url: message.author.displayAvatarURL }, - url: urlGenerator(message), + url: extra.urlGenerator(message), title: 'Message ID#' + message.id + ' deleted in #' + message.channel.name, description: 'The following message was deleted:', fields: embedFields, @@ -21,48 +23,3 @@ module.exports = async (config, client, influx, message) => { }}) } - -const embedLength = 1020 - -function lengthSplit (message, length) { - var splitCount = Math.floor(message.length / length) + 1 - var splits = [] - - for (var n = 0; n < splitCount; n++) { - splits.push(message.substr(0 + (n * length), length)) - } - - if (!splits[splits.length - 1]) { - splits.pop() - } - console.log(splits) - return splits -}; - -function fieldGenerator (message, msgTitle) { - console.log(msgTitle) - console.log(message) - var splits = lengthSplit(message, embedLength) - var fields = [] - - if (splits.length === 1) { - fields = [{ - name: msgTitle, - value: '` ' + splits[0] + ' `' - }] - } else { - for (var n = 0; n < splits.length; n++) { - fields.push({ - name: msgTitle + ' (' + n + ')', - value: '` ' + splits[n] + ' `' - }) - } - } - console.log(fields) - return fields -}; - -function urlGenerator (msgObj) { - var url = `https://discordapp.com/channels/${msgObj.guild.id}/${msgObj.channel.id}/${msgObj.id}` - return url -} diff --git a/events/messageUpdate.js b/events/messageUpdate.js index 4f5b07c..faaffe2 100644 --- a/events/messageUpdate.js +++ b/events/messageUpdate.js @@ -1,9 +1,11 @@ // messageUpdate.js +const extra = require('./../modules/extraneous') + module.exports = async (config, client, influx, oldmsg, newmsg) => { if (oldmsg.cleanContent !== newmsg.cleanContent) { - var oldFields = fieldGenerator(oldmsg.cleanContent, 'Old message') - var newFields = fieldGenerator(newmsg.cleanContent, 'New message') + var oldFields = extra.fieldGenerator(oldmsg.cleanContent, 'Old message') + var newFields = extra.fieldGenerator(newmsg.cleanContent, 'New message') var embedFields = oldFields.concat(newFields) console.log(embedFields) client.channels.get(config.logchannel).send({embed: { @@ -12,7 +14,7 @@ module.exports = async (config, client, influx, oldmsg, newmsg) => { name: newmsg.author.username, icon_url: newmsg.author.displayAvatarURL }, - url: urlGenerator(newmsg), + url: extra.urlGenerator(newmsg), title: 'Message ID#' + newmsg.id + ' modified in #' + newmsg.channel.name, description: 'The following message was modified:', fields: embedFields, @@ -24,48 +26,3 @@ module.exports = async (config, client, influx, oldmsg, newmsg) => { }}) } } - -const embedLength = 1020 - -function lengthSplit (message, length) { - var splitCount = Math.floor(message.length / length) + 1 - var splits = [] - - for (var n = 0; n < splitCount; n++) { - splits.push(message.substr(0 + (n * length), length)) - } - - if (!splits[splits.length - 1]) { - splits.pop() - } - console.log(splits) - return splits -}; - -function fieldGenerator (message, msgTitle) { - console.log(msgTitle) - console.log(message) - var splits = lengthSplit(message, embedLength) - var fields = [] - - if (splits.length === 1) { - fields = [{ - name: msgTitle, - value: '` ' + splits[0] + ' `' - }] - } else { - for (var n = 0; n < splits.length; n++) { - fields.push({ - name: msgTitle + ' (' + n + ')', - value: '` ' + splits[n] + ' `' - }) - } - } - console.log(fields) - return fields -}; - -function urlGenerator (msgObj) { - var url = `https://discordapp.com/channels/${msgObj.guild.id}/${msgObj.channel.id}/${msgObj.id}` - return url -} diff --git a/modules/extraneous.js b/modules/extraneous.js index 891cdbf..3868a3d 100644 --- a/modules/extraneous.js +++ b/modules/extraneous.js @@ -41,5 +41,10 @@ module.exports = { urlGenerator: (msgObj) => { var url = `https://discordapp.com/channels/${msgObj.guild.id}/${msgObj.channel.id}/${msgObj.id}` return url + }, + sleep (ms = 0) { + return new Promise((resolve, reject) => { + setTimeout(resolve, ms) + }) } } From 0fb6b384b51f5cab045c6a0245aca849bffc7d37 Mon Sep 17 00:00:00 2001 From: Julian Webb Date: Sat, 7 Jul 2018 09:56:35 -0700 Subject: [PATCH 2/9] Some changes including attempting to pass regular content to plugins --- events/message.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/events/message.js b/events/message.js index bfadf12..990f7ad 100644 --- a/events/message.js +++ b/events/message.js @@ -280,14 +280,15 @@ module.exports = async (config, client, influx, message) => { default: { if (config.plugins.hasOwnProperty(command)) { if (config.plugins[command].nsfw && !message.channel.nsfw) { - message.channel.send('Tisk tisk, '.join(message.author.username, '. Don\'t be naughty here.')) + message.channel.send('Tisk tisk, '.join(message.author.username), '. Don\'t be naughty here.') break } - arg.shift() - arg.shift() - arg.unshift(message.author.id) + var argb = message.content.split(' ') + argb.shift() + argb.shift() + argb.unshift(message.author.id) const { execFile } = require('child_process') - execFile(config.plugins[command].path, arg, (error, stdout, stderr) => { + execFile(config.plugins[command].path, argb, (error, stdout, stderr) => { if (error) { throw error } From cce2acdf99bf65042cae4f6cd2f1a8bbe8741883 Mon Sep 17 00:00:00 2001 From: Julian Webb Date: Sat, 7 Jul 2018 10:03:01 -0700 Subject: [PATCH 3/9] Added logging to see where I messed up --- events/message.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/events/message.js b/events/message.js index 990f7ad..2729196 100644 --- a/events/message.js +++ b/events/message.js @@ -287,6 +287,8 @@ module.exports = async (config, client, influx, message) => { argb.shift() argb.shift() argb.unshift(message.author.id) + console.log(command) + console.log(argb) const { execFile } = require('child_process') execFile(config.plugins[command].path, argb, (error, stdout, stderr) => { if (error) { From 673b085a828a0a3cc915a77fdd86e48bfecb882d Mon Sep 17 00:00:00 2001 From: Julian Webb Date: Sat, 7 Jul 2018 10:13:38 -0700 Subject: [PATCH 4/9] More logging, I feel like a lumberjack --- events/message.js | 1 + 1 file changed, 1 insertion(+) diff --git a/events/message.js b/events/message.js index 2729196..0ecc1e8 100644 --- a/events/message.js +++ b/events/message.js @@ -287,6 +287,7 @@ module.exports = async (config, client, influx, message) => { argb.shift() argb.shift() argb.unshift(message.author.id) + console.log(message.content) console.log(command) console.log(argb) const { execFile } = require('child_process') From 5250828a4320a5632452bf120562681954e7dfd8 Mon Sep 17 00:00:00 2001 From: Julian Webb Date: Sat, 7 Jul 2018 10:15:23 -0700 Subject: [PATCH 5/9] I'm a lumberjack and I'm okay --- events/message.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/events/message.js b/events/message.js index 0ecc1e8..dcde410 100644 --- a/events/message.js +++ b/events/message.js @@ -287,9 +287,9 @@ module.exports = async (config, client, influx, message) => { argb.shift() argb.shift() argb.unshift(message.author.id) - console.log(message.content) - console.log(command) - console.log(argb) + console.log('message: ' + message.content) + console.log('command: ' + command) + console.log('arguments: ' + argb) const { execFile } = require('child_process') execFile(config.plugins[command].path, argb, (error, stdout, stderr) => { if (error) { From d9c88c8d12526aa7499e53255db7e706af46f184 Mon Sep 17 00:00:00 2001 From: Julian Webb Date: Sat, 7 Jul 2018 10:16:45 -0700 Subject: [PATCH 6/9] I think there may have been a shfit too many, let's see --- events/message.js | 1 - 1 file changed, 1 deletion(-) diff --git a/events/message.js b/events/message.js index dcde410..45c328d 100644 --- a/events/message.js +++ b/events/message.js @@ -285,7 +285,6 @@ module.exports = async (config, client, influx, message) => { } var argb = message.content.split(' ') argb.shift() - argb.shift() argb.unshift(message.author.id) console.log('message: ' + message.content) console.log('command: ' + command) From 0e27f90393db41a2a55d6c2239321109bc9d9240 Mon Sep 17 00:00:00 2001 From: Julian Webb Date: Sat, 7 Jul 2018 10:24:46 -0700 Subject: [PATCH 7/9] Modified rem plugin to work with userID when missing any params --- plugins/remember.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/remember.py b/plugins/remember.py index cc55c2f..68e0fa0 100755 --- a/plugins/remember.py +++ b/plugins/remember.py @@ -3,7 +3,9 @@ import sys if len(sys.argv) < 3: - reply = "Missing parameters" + # reply = "Missing parameters" + arg = sys.argv[1] + reply = "*<@{}? will remember that*".format(arg) else: args = sys.argv args.pop(0) From 54142b6c211278d09e3519621e1320f7e005e618 Mon Sep 17 00:00:00 2001 From: Julian Webb Date: Sat, 7 Jul 2018 10:25:27 -0700 Subject: [PATCH 8/9] ? != > --- plugins/remember.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/plugins/remember.py b/plugins/remember.py index 68e0fa0..7b140eb 100755 --- a/plugins/remember.py +++ b/plugins/remember.py @@ -3,9 +3,8 @@ import sys if len(sys.argv) < 3: - # reply = "Missing parameters" arg = sys.argv[1] - reply = "*<@{}? will remember that*".format(arg) + reply = "*<@{}> will remember that*".format(arg) else: args = sys.argv args.pop(0) From 06e67cd27281fe849f983fd9c16b4f0602796874 Mon Sep 17 00:00:00 2001 From: Julian Webb Date: Sat, 7 Jul 2018 11:07:08 -0700 Subject: [PATCH 9/9] Modified the command embed to show commands from every server and removed some debug console.log()s --- events/message.js | 40 ++++++++++++++++++---------------------- 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/events/message.js b/events/message.js index 45c328d..8bae522 100644 --- a/events/message.js +++ b/events/message.js @@ -286,9 +286,6 @@ module.exports = async (config, client, influx, message) => { var argb = message.content.split(' ') argb.shift() argb.unshift(message.author.id) - console.log('message: ' + message.content) - console.log('command: ' + command) - console.log('arguments: ' + argb) const { execFile } = require('child_process') execFile(config.plugins[command].path, argb, (error, stdout, stderr) => { if (error) { @@ -304,23 +301,22 @@ module.exports = async (config, client, influx, message) => { } } }; - if (message.guild.id.toString().includes(config.logserver)) { - var embedFields = extra.fieldGenerator(message.cleanContent, 'Command') - console.log(embedFields) - client.channels.get(config.logchannel).send({embed: { - color: config.colors.green, - author: { - name: message.author.username, - icon_url: message.author.displayAvatarURL - }, - url: extra.urlGenerator(message), - title: 'Command ran in #' + message.channel.name, - fields: embedFields, - timestamp: new Date(), - footer: { - icon_url: client.user.displayAvatarURL, - text: 'User ID: ' + message.author.id - } - }}) - } + + var embedFields = extra.fieldGenerator(message.cleanContent, 'Command') + console.log(embedFields) + client.channels.get(config.logchannel).send({embed: { + color: config.colors.green, + author: { + name: message.author.username, + icon_url: message.author.displayAvatarURL + }, + url: extra.urlGenerator(message), + title: 'Command ran in #' + message.channel.name, + fields: embedFields, + timestamp: new Date(), + footer: { + icon_url: client.user.displayAvatarURL, + text: 'User ID: ' + message.author.id + } + }}) }