norrisbot
Version:
A Slack bot that kicks asses (roundhouse-kicks to be accurate...)
92 lines (78 loc) • 2.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
/* eslint no-restricted-syntax: "off" */
var isMessage = exports.isMessage = function isMessage(event) {
return Boolean(event.type === 'message' && event.text);
};
var isMessageToChannel = exports.isMessageToChannel = function isMessageToChannel(message) {
return typeof message.channel === 'string' && message.channel[0] === 'C';
};
var isFromUser = exports.isFromUser = function isFromUser(event, userId) {
return event.user === userId;
};
var messageContainsText = exports.messageContainsText = function messageContainsText(message, possibleTexts) {
var messageText = message.text.toLowerCase();
var texts = Array.isArray(possibleTexts) ? possibleTexts : [possibleTexts];
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = texts[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var text = _step.value;
if (messageText.indexOf(text.toLowerCase()) > -1) {
return true;
}
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
return false;
};
var filterJokesByCategories = exports.filterJokesByCategories = function filterJokesByCategories(jokes, categories) {
return jokes.filter(function (joke) {
if (joke.categories.length === 0) {
return true;
}
var _iteratorNormalCompletion2 = true;
var _didIteratorError2 = false;
var _iteratorError2 = undefined;
try {
for (var _iterator2 = categories[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
var category = _step2.value;
if (joke.categories.includes(category)) {
return true;
}
}
} catch (err) {
_didIteratorError2 = true;
_iteratorError2 = err;
} finally {
try {
if (!_iteratorNormalCompletion2 && _iterator2.return) {
_iterator2.return();
}
} finally {
if (_didIteratorError2) {
throw _iteratorError2;
}
}
}
return false;
});
};
var pickRandom = exports.pickRandom = function pickRandom(arr) {
return arr[Math.floor(Math.random() * arr.length)];
};