From d31f839039895daf4f14752b3b5caf6bfc7ecd1a Mon Sep 17 00:00:00 2001 From: Niko Storni Date: Wed, 20 Dec 2017 00:28:28 +0100 Subject: [PATCH 1/2] formatted code --- bot/helpers.js | 16 +++--- bot/modules/lbrylink.js | 20 ++++---- bot/modules/releasenotes.js | 27 ++++++---- bot/modules/rolesetter.js | 100 ++++++++++++++++++++---------------- bot/plugins.js | 20 +++----- 5 files changed, 100 insertions(+), 83 deletions(-) diff --git a/bot/helpers.js b/bot/helpers.js index 3bd4650..3be71b3 100644 --- a/bot/helpers.js +++ b/bot/helpers.js @@ -1,10 +1,10 @@ -let config = require("config"); -let permRanks = config.get("moderation"); -let speechBotChannels = config.get("speechbot"); -let priceBotChannels = config.get("pricebot"); -let ExcludedSpam = config.get("spamdetection"); -let hashBotChannels = config.get("hashbot"); -let statsBotChannels = config.get("statsbot"); +let config = require('config'); +let permRanks = config.get('moderation'); +let speechBotChannels = config.get('speechbot'); +let priceBotChannels = config.get('pricebot'); +let ExcludedSpam = config.get('spamdetection'); +let hashBotChannels = config.get('hashbot'); +let statsBotChannels = config.get('statsbot'); // Checks if user is allowed to use a command only for mods/team members exports.hasPerms = function(msg) { @@ -13,7 +13,7 @@ exports.hasPerms = function(msg) { // Check if command was sent in dm exports.inPrivate = function(msg) { - return msg.channel.type == "dm"; + return msg.channel.type == 'dm'; }; // Checks if Message was sent from a channel in speechBot Channels list diff --git a/bot/modules/lbrylink.js b/bot/modules/lbrylink.js index eee1070..c1696fd 100644 --- a/bot/modules/lbrylink.js +++ b/bot/modules/lbrylink.js @@ -13,25 +13,25 @@ exports.lbrylink = function(bot, msg, suffix) { if (link != -1) { var text = msg.content.replace("lbry://", "https://open.lbry.io/"); var message = GetWordByPos(text, link); - if (ResponseDebug == "true") { - console.log("text = " + text); - console.log("message = " + message); - } + if (ResponseDebug == "true") { + console.log("text = " + text); + console.log("message = " + message); + } if (message === "https://open.lbry.io/") { return; } if (message.search(">") != -1) { parsename = message.split(">").pop(); - if (parsename.search("/") == -1){ + if (parsename.search("/") == -1) { return; } newname = message.split("/").pop(); message = "https://open.lbry.io/" + newname; - if (ResponseDebug == "true") { - console.log("Username Provided!"); - console.log("parsename = " + parsename); - console.log("newname = " + newname); - } + if (ResponseDebug == "true") { + console.log("Username Provided!"); + console.log("parsename = " + parsename); + console.log("newname = " + newname); + } } else { var newname = message.replace("https://open.lbry.io/", ""); } diff --git a/bot/modules/releasenotes.js b/bot/modules/releasenotes.js index 52d4514..c7e28e4 100644 --- a/bot/modules/releasenotes.js +++ b/bot/modules/releasenotes.js @@ -39,7 +39,8 @@ exports.releasenotes = { timestamp: releasedate, author: { name: "Lbry-app Release Notes for " + releasename, - icon_url: "http://www.pngall.com/wp-content/uploads/2016/04/Github-PNG-Image.png" + icon_url: + "http://www.pngall.com/wp-content/uploads/2016/04/Github-PNG-Image.png" }, footer: { icon_url: "https://i.imgur.com/yWf5USu.png", @@ -58,9 +59,12 @@ exports.releasenotes = { msg.author.send(message); } } else { - message = releasemessage.trim().split("###").filter(function(n) { - return n !== ""; - }); + message = releasemessage + .trim() + .split("###") + .filter(function(n) { + return n !== ""; + }); releasemessage1 = message[0]; releasemessage2 = message[1]; releasemessage3 = message[2]; @@ -75,7 +79,8 @@ exports.releasenotes = { timestamp: releasedate, author: { name: "Lbry-app Release Notes for " + releasename, - icon_url: "http://www.pngall.com/wp-content/uploads/2016/04/Github-PNG-Image.png" + icon_url: + "http://www.pngall.com/wp-content/uploads/2016/04/Github-PNG-Image.png" }, footer: { icon_url: "https://i.imgur.com/yWf5USu.png", @@ -89,7 +94,8 @@ exports.releasenotes = { color: 7976557, timestamp: releasedate, author: { - icon_url: "http://www.pngall.com/wp-content/uploads/2016/04/Github-PNG-Image.png" + icon_url: + "http://www.pngall.com/wp-content/uploads/2016/04/Github-PNG-Image.png" }, footer: { icon_url: "https://i.imgur.com/yWf5USu.png", @@ -103,7 +109,8 @@ exports.releasenotes = { color: 7976557, timestamp: releasedate, author: { - icon_url: "http://www.pngall.com/wp-content/uploads/2016/04/Github-PNG-Image.png" + icon_url: + "http://www.pngall.com/wp-content/uploads/2016/04/Github-PNG-Image.png" }, footer: { icon_url: "https://i.imgur.com/yWf5USu.png", @@ -117,7 +124,8 @@ exports.releasenotes = { color: 7976557, timestamp: releasedate, author: { - icon_url: "http://www.pngall.com/wp-content/uploads/2016/04/Github-PNG-Image.png" + icon_url: + "http://www.pngall.com/wp-content/uploads/2016/04/Github-PNG-Image.png" }, footer: { icon_url: "https://i.imgur.com/yWf5USu.png", @@ -131,7 +139,8 @@ exports.releasenotes = { color: 7976557, timestamp: releasedate, author: { - icon_url: "http://www.pngall.com/wp-content/uploads/2016/04/Github-PNG-Image.png" + icon_url: + "http://www.pngall.com/wp-content/uploads/2016/04/Github-PNG-Image.png" }, footer: { icon_url: "https://i.imgur.com/yWf5USu.png", diff --git a/bot/modules/rolesetter.js b/bot/modules/rolesetter.js index 05ad91b..589721f 100644 --- a/bot/modules/rolesetter.js +++ b/bot/modules/rolesetter.js @@ -23,33 +23,39 @@ exports.addrole = { //console.log(rolelist.allowedroles); //console.log(config.get('allowedroles')); if (suffix) { - if (rolelist.allowedroles.includes(suffix)) { - //console.log('Role is in allowed roles.'); - //console.log('Role to add: ' + newrole); - if (!msg.member.roles.find("name", suffix)) { - msg.member - .addRole(newrole) - .then( - msg.channel.send( - msg.member + " has been added to the " + suffix + " role!" - ) - ); - //console.log('Added role') - //msg.channel.send(msg.member + ' has been added to the ' + suffix + ' role!'); - } else { - msg.channel.send( - "It seems that you already have that role! Try removing it first with the " + botconfig.prefix + "delrole command!" - ); - } - } else { - msg.channel.send( - "That role isn't one you can add yourself too! Please run the " + botconfig.prefix + "roles command to find out which ones are allowed." + if (rolelist.allowedroles.includes(suffix)) { + //console.log('Role is in allowed roles.'); + //console.log('Role to add: ' + newrole); + if (!msg.member.roles.find("name", suffix)) { + msg.member + .addRole(newrole) + .then( + msg.channel.send( + msg.member + " has been added to the " + suffix + " role!" + ) ); + //console.log('Added role') + //msg.channel.send(msg.member + ' has been added to the ' + suffix + ' role!'); + } else { + msg.channel.send( + "It seems that you already have that role! Try removing it first with the " + + botconfig.prefix + + "delrole command!" + ); } + } else { + msg.channel.send( + "That role isn't one you can add yourself too! Please run the " + + botconfig.prefix + + "roles command to find out which ones are allowed." + ); + } } else { - msg.channel.send ( - "Please specify a role. Type " + botconfig.prefix + "roles to see which you may add!" - ) + msg.channel.send( + "Please specify a role. Type " + + botconfig.prefix + + "roles to see which you may add!" + ); } } }; @@ -64,29 +70,35 @@ exports.delrole = { //console.log(msg); //console.log('Printing Suffix! ' + suffix); if (suffix) { - if (rolelist.allowedroles.includes(suffix)) { - if (msg.member.roles.find("name", suffix)) { - msg.member - .removeRole(oldrole) - .then( - msg.channel.send( - msg.member + " has been removed from the " + suffix + " role!" - ) - ); - } else { - msg.channel.send( - "You don't seem to have that role! Try adding it first with the " + botconfig.prefix + "addrole command!" - ); - } - } else { - msg.channel.send( - "That role isn't one you can add yourself too! Please run the " + botconfig.prefix + "roles command to find out which ones are allowed." + if (rolelist.allowedroles.includes(suffix)) { + if (msg.member.roles.find("name", suffix)) { + msg.member + .removeRole(oldrole) + .then( + msg.channel.send( + msg.member + " has been removed from the " + suffix + " role!" + ) ); + } else { + msg.channel.send( + "You don't seem to have that role! Try adding it first with the " + + botconfig.prefix + + "addrole command!" + ); } - } else { + } else { msg.channel.send( - "Please specify a role. Type " + botconfig.prefix + "roles to see which you may add!" - ) + "That role isn't one you can add yourself too! Please run the " + + botconfig.prefix + + "roles command to find out which ones are allowed." + ); + } + } else { + msg.channel.send( + "Please specify a role. Type " + + botconfig.prefix + + "roles to see which you may add!" + ); } } }; diff --git a/bot/plugins.js b/bot/plugins.js index 86c5ea8..ee4ef32 100644 --- a/bot/plugins.js +++ b/bot/plugins.js @@ -1,12 +1,12 @@ -"use strict"; +'use strict'; -const fs = require("fs"), - path = require("path"); +const fs = require('fs'), + path = require('path'); function getPlugins(srcpath) { return fs.readdirSync(srcpath); } -let plugin_directory = path.join(__dirname, "modules"); +let plugin_directory = path.join(__dirname, 'modules'); let plugins = getPlugins(plugin_directory); exports.init = function init() { @@ -14,7 +14,7 @@ exports.init = function init() { }; function load_plugins() { - const dbot = require("./bot.js"); + const dbot = require('./bot.js'); let commandCount = 0; let otherFunc = 0; for (let i = 0; i < plugins.length; i++) { @@ -25,7 +25,7 @@ function load_plugins() { console.log(`Improper setup of the '${plugins[i]}' plugin. : ${err}`); } if (plugin) { - if ("commands" in plugin) { + if ('commands' in plugin) { for (let j = 0; j < plugin.commands.length; j++) { if (plugin.commands[j] in plugin) { dbot.addCommand(plugin.commands[j], plugin[plugin.commands[j]]); @@ -33,7 +33,7 @@ function load_plugins() { } } } - if ("custom" in plugin) { + if ('custom' in plugin) { for (let j = 0; j < plugin.custom.length; j++) { if (plugin.custom[j] in plugin) { dbot.addCustomFunc(plugin[plugin.custom[j]]); @@ -43,9 +43,5 @@ function load_plugins() { } } } - console.log( - `Loaded ${dbot.commandCount()} chat commands and ${ - otherFunc - } custom functions.` - ); + console.log(`Loaded ${dbot.commandCount()} chat commands and ${otherFunc} custom functions.`); } From 844d158d95533432ae152186df0fc1179037e73a Mon Sep 17 00:00:00 2001 From: Niko Storni Date: Wed, 20 Dec 2017 01:28:50 +0100 Subject: [PATCH 2/2] fixed claimbot spamming supports added extra check while checking for permissions changed a bunch of vars in lets --- bot/helpers.js | 2 +- bot/modules/claimbot.js | 18 +++++++++++++----- bot/modules/spam-detection.js | 12 ++++++------ 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/bot/helpers.js b/bot/helpers.js index 3be71b3..c869bd9 100644 --- a/bot/helpers.js +++ b/bot/helpers.js @@ -8,7 +8,7 @@ let statsBotChannels = config.get('statsbot'); // Checks if user is allowed to use a command only for mods/team members exports.hasPerms = function(msg) { - return msg.member.roles.some(r => permRanks.perms.includes(r.name)); + return msg.member.roles !== null && msg.member.roles.some(r => permRanks.perms.includes(r.name)); }; // Check if command was sent in dm diff --git a/bot/modules/claimbot.js b/bot/modules/claimbot.js index 3ae8922..cf5d0b4 100644 --- a/bot/modules/claimbot.js +++ b/bot/modules/claimbot.js @@ -105,7 +105,7 @@ function announceClaimsLoop(block, lastBlock, currentHeight) { claimsFound = claims.length; return Promise.all( claims.map(function(claim) { - //slack has a rate limit. to avoid hitting it we must have a small delay between each message + //the API has a rate limit. to avoid hitting it we must have a small delay between each message //if claims were found in this block, then we wait, otherwise we don't if (claimsFound > 0 && claim.hasOwnProperty("claimId")) sleep.msleep(300); @@ -127,6 +127,12 @@ function announceClaimsLoop(block, lastBlock, currentHeight) { function announceClaim(claim, claimBlockHeight, currentHeight) { console.log("" + claimBlockHeight + ": New claim for " + claim["name"]); console.log(claim); + + //ignore supports for now + //the issue with supports is that they should be treated completely differently + //they are not new claims... + if (claim.hasOwnProperty("supported claimId")) return; + let options = { method: "GET", url: "http://127.0.0.1:5000/claim_decode/" + claim["name"] @@ -170,10 +176,12 @@ function announceClaim(claim, claimBlockHeight, currentHeight) { const text = []; if (value) { - /*if (channelName) { - text.push("Channel: lbry://" + channelName); - } - else*/ + /* + if (channelName) { + text.push("Channel: lbry://" + channelName); + } + else + */ console.log(value); if (value["author"]) { text.push("author: " + value["author"]); diff --git a/bot/modules/spam-detection.js b/bot/modules/spam-detection.js index 27d9aef..2a006e6 100644 --- a/bot/modules/spam-detection.js +++ b/bot/modules/spam-detection.js @@ -39,7 +39,7 @@ exports.antiSpam = function(bot) { return; } if (msg.author.id != bot.user.id) { - var now = Math.floor(Date.now()); + let now = Math.floor(Date.now()); authors.push({ time: now, author: msg.author.id @@ -50,8 +50,8 @@ exports.antiSpam = function(bot) { }); // Check how many times the same message has been sent. - var msgMatch = 0; - for (var i = 0; i < messagelog.length; i++) { + let msgMatch = 0; + for (let i = 0; i < messagelog.length; i++) { if ( messagelog[i].message == msg.content && messagelog[i].author == msg.author.id && @@ -70,7 +70,7 @@ exports.antiSpam = function(bot) { matched = 0; - for (var i = 0; i < authors.length; i++) { + for (let i = 0; i < authors.length; i++) { if (authors[i].time > now - interval) { matched++; if (matched == warnBuffer && !warned.includes(msg.author.id)) { @@ -109,7 +109,7 @@ exports.antiSpam = function(bot) { * @return {boolean} True or False */ function ban(msg, userid) { - for (var i = 0; i < messagelog.length; i++) { + for (let i = 0; i < messagelog.length; i++) { if (messagelog[i].author == msg.author.id) { messagelog.splice(i); } @@ -117,7 +117,7 @@ exports.antiSpam = function(bot) { banned.push(msg.author.id); - var user = msg.channel.guild.members.find( + let user = msg.channel.guild.members.find( member => member.user.id === msg.author.id ); if (user) {