mirror of
https://github.com/Ratstail91/SANCTUM.git
synced 2025-11-29 02:24:27 +11:00
Working on the beginnings of a shared library
This commit is contained in:
77
Shared/utility.js
Normal file
77
Shared/utility.js
Normal file
@@ -0,0 +1,77 @@
|
||||
//initialize the exports
|
||||
exports = module.exports = {};
|
||||
|
||||
//GetFooterCommands - Gets footer commands for botspam channel commands
|
||||
//commandArray - the array of possible commands to use
|
||||
//excludeCommand (optional) - the command to filter out
|
||||
exports.GetFooterCommands = function(commandArray, excludeCommand = null) {
|
||||
let filteredCommandList = commandArray.filter(command => command !== excludeCommand);
|
||||
|
||||
let returnText = "";
|
||||
filteredCommandList.forEach(command => {
|
||||
if (returnText.length !== 0) { //if this isn't the first command, prepend the separator to this command
|
||||
returnText += " | ";
|
||||
}
|
||||
returnText += command;
|
||||
});
|
||||
|
||||
return returnText;
|
||||
}
|
||||
|
||||
//IsAdmin
|
||||
//client - discord.js client
|
||||
//user - discord.js user OR username
|
||||
exports.IsAdmin = function(client, user) {
|
||||
//handle user strings
|
||||
if (typeof(user) === "string") {
|
||||
user = client.users.find(item => item.username === user);
|
||||
}
|
||||
|
||||
let guild = client.guilds.get(process.env.SANCTUM_ID);
|
||||
|
||||
return guild.members.get(user.id).roles.find(role => role.name === process.env.ADMIN_ROLE) != null;
|
||||
}
|
||||
|
||||
//SplitArray
|
||||
//arr - 1 dimensional array to split into chunks
|
||||
//chunkSize - the size of the chunks in the resulting array
|
||||
exports.SplitArray = function(arr, chunkSize) {
|
||||
// http://www.frontcoded.com/splitting-javascript-array-into-chunks.html
|
||||
let groups = [];
|
||||
for (let i = 0; i < arr.length; i += chunkSize) {
|
||||
groups.push(arr.slice(i, i + chunkSize));
|
||||
}
|
||||
return groups;
|
||||
}
|
||||
|
||||
/*
|
||||
// See if the bot should display its message
|
||||
function checkValidDisplay(member, channelID, checkRole) {
|
||||
if (client.user.username == "Kamala, Obsidian Vice President" && channelID === process.env.GROUP_A_BOT_ID) {
|
||||
if (checkRole) { if (member.roles.has(process.env.GROUP_A_ROLE)) return true; } else true;
|
||||
}
|
||||
else if (client.user.username == "Captain Montgomery" && channelID === process.env.GROUP_B_BOT_ID) {
|
||||
if (checkRole) { if (member.roles.has(process.env.GROUP_B_ROLE)) return true; } else true;
|
||||
}
|
||||
else if (client.user.username == "Dairo, High Prophet of The Hand" && channelID === process.env.GROUP_C_BOT_ID) {
|
||||
if (checkRole) { if (member.roles.has(process.env.GROUP_C_ROLE)) return true; } else true;
|
||||
}
|
||||
else if (client.user.username == "Ghost 5.0.1") {
|
||||
// JSON
|
||||
const rooms = require('../TextAdv/rooms.json');
|
||||
var roomExists = false;
|
||||
|
||||
// Loops for all rooms
|
||||
rooms.rooms.forEach(element => {
|
||||
if (channelID === rooms[element].channel) roomExists = true;
|
||||
});
|
||||
|
||||
if (!roomExists) {
|
||||
if (channelID === process.env.TEST_CHANNEL_ID) return true;
|
||||
} else return true;
|
||||
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
Reference in New Issue
Block a user