UNPKG

pockybot

Version:

Spark bot that handles team recognition

50 lines (49 loc) 2.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); class Utilities { constructor(config) { this.config = config; } sleep(seconds) { return new Promise(resolve => setTimeout(resolve, seconds * 1000)); } getRandomInt(num) { return Math.floor(Math.random() * num); } commentIsPenalty(comment, keywords, penaltyKeywords) { // If comment does not include penaltyKeyword if (!penaltyKeywords.some(keyword => comment.toLowerCase().includes(keyword.toLowerCase()))) { return false; } // If comment does include penaltyKeyword AND includes keyword if (keywords.some(keyword => comment.toLowerCase().includes(keyword.toLowerCase()))) { return false; } // If comment includes penaltyKeyword and does NOT include keyword return true; } getPenaltyPegs(givenPegs, keywords, penaltyKeywords) { return givenPegs.filter(peg => // Peg includes penaltyKeyword, AND peg does not include keyword penaltyKeywords.some(keyword => peg['comment'].toLowerCase().includes(keyword.toLowerCase())) && (!keywords.some(keyword => peg['comment'].toLowerCase().includes(keyword.toLowerCase())))); } getNonPenaltyPegs(givenPegs, keywords, penaltyKeywords) { return givenPegs.filter(peg => // Peg includes keyword, OR peg does not include penaltyKeyword keywords.some(keyword => peg['comment'].toLowerCase().includes(keyword.toLowerCase())) || (!penaltyKeywords.some(keyword => peg['comment'].toLowerCase().includes(keyword.toLowerCase())))); } pegValid(comment, requireKeywords, keywords, penaltyKeywords) { if (requireKeywords) { // Comment must include one of the keywords return keywords.some(x => comment.toLowerCase().includes(x.toLowerCase())); } else { // Comment must not include one of the penalty keywords return !penaltyKeywords.some(x => comment.toLowerCase().includes(x.toLowerCase())); } } } exports.default = Utilities; ;