mirror of
https://github.com/Ratstail91/SANCTUM.git
synced 2025-11-29 02:24:27 +11:00
Added shared.CheckValidDisplay()
This commit is contained in:
18
.envdev
18
.envdev
@@ -43,6 +43,14 @@ GROUP_A_NAME="Obsidian Technologies"
|
||||
GROUP_B_NAME="Genesis Command"
|
||||
GROUP_C_NAME="The Hand"
|
||||
|
||||
GROUP_A_CHANNEL_ID="493972208616603658"
|
||||
GROUP_B_CHANNEL_ID="493972336190685185"
|
||||
GROUP_C_CHANNEL_ID="493972354137849856"
|
||||
|
||||
GROUP_A_LEADER_NAME="Kamala, Obsidian Vice President"
|
||||
GROUP_B_LEADER_NAME="Captain Montgomery"
|
||||
GROUP_C_LEADER_NAME="Dairo, High Prophet of The Hand"
|
||||
|
||||
# Channel IDs
|
||||
# Replace them with your own on a sandbox server!
|
||||
CODEX_CHANNEL_ID="457580831284789249"
|
||||
@@ -56,12 +64,6 @@ DEADLANDS_CHANNEL_ID="459196395119837195"
|
||||
HELLS_GATE_CHANNEL_ID="464238060243124245"
|
||||
TEST_CHANNEL_ID="464838060262293514"
|
||||
|
||||
# Bot Channels in SANCTUM (A = Obsidian, B = Genesis, C = Hand)
|
||||
# Replace them with your own on a sandbox server!
|
||||
GROUP_A_BOT_ID="493972208616603658"
|
||||
GROUP_B_BOT_ID="493972336190685185"
|
||||
GROUP_C_BOT_ID="493972354137849856"
|
||||
|
||||
# Bot IDs
|
||||
# Replace them with your own on a sandbox server!
|
||||
MORI_ID="461294299515191306"
|
||||
@@ -76,6 +78,10 @@ KAMALA_OBSIDIAN_ID="482644250354384906"
|
||||
DAIRO_HAND_ID="482644985318211594"
|
||||
LIBRARIAN_ID="458033243481047082"
|
||||
|
||||
# Bot Names
|
||||
# Replace them with your own on a sandbox server!
|
||||
GHOST_NAME="Ghost 5.0.1"
|
||||
|
||||
# Bot Tokens
|
||||
ADAM_TOKEN=""
|
||||
RAVAGER_TOKEN=""
|
||||
|
||||
@@ -33,7 +33,7 @@ client.on("message", function(msg) {
|
||||
switch(command) {
|
||||
//used for debugging
|
||||
case "ping":
|
||||
shared.SendPublicMessage(client, "Ratstail91", "bot-spam", "pong", 3000);
|
||||
console.log(shared.CheckValidDisplay(client, "Ratstail91", "bot-spam", true));
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -44,34 +44,74 @@ exports.SplitArray = function(arr, 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;
|
||||
|
||||
//client - discord.js client
|
||||
//member - discord.js member OR username
|
||||
//channel - discord.js channel OR channel name
|
||||
//checkRole - check the member's role or not
|
||||
exports.CheckValidDisplay = function(client, member, channel, checkRole) {
|
||||
//handle member strings
|
||||
if (typeof(member) === "string") {
|
||||
//get the member
|
||||
//NOTE: I think the bot needs to run inside a single server only, otherwise I don't know what will happen here due to the [0] part
|
||||
member = client.guilds.map(guild => guild.members.filter(mbr => mbr.user.username === member))[0].first();
|
||||
}
|
||||
|
||||
return false;
|
||||
//handle channel strings
|
||||
if (typeof(channel) === "string") {
|
||||
channel = client.channels.find(item => item.name === channel);
|
||||
}
|
||||
|
||||
switch(client.user.username) {
|
||||
//NOTE: some copy/paste here that could be fixed
|
||||
case process.env.GROUP_A_LEADER_NAME:
|
||||
if (checkRole) {
|
||||
return channel.id == process.env.GROUP_A_CHANNEL_ID && member.roles.has(process.env.GROUP_A_ROLE);
|
||||
} else {
|
||||
return channel.id == process.env.GROUP_A_CHANNEL_ID;
|
||||
}
|
||||
|
||||
case process.env.GROUP_B_LEADER_NAME:
|
||||
if (checkRole) {
|
||||
return channel.id == process.env.GROUP_B_CHANNEL_ID && member.roles.has(process.env.GROUP_B_ROLE);
|
||||
} else {
|
||||
return channel.id == process.env.GROUP_B_CHANNEL_ID;
|
||||
}
|
||||
|
||||
case process.env.GROUP_C_LEADER_NAME:
|
||||
if (checkRole) {
|
||||
return channel.id == process.env.GROUP_C_CHANNEL_ID && member.roles.has(process.env.GROUP_C_ROLE);
|
||||
} else {
|
||||
return channel.id == process.env.GROUP_C_CHANNEL_ID;
|
||||
}
|
||||
|
||||
case process.env.GHOST_NAME: {
|
||||
// JSON
|
||||
let rooms = require('../TextAdv/rooms.json'); //TODO: should this be here?
|
||||
let roomExists = false;
|
||||
|
||||
// Loops for all rooms
|
||||
rooms.rooms.forEach(room => {
|
||||
if (channel.id === rooms[room].channel) {
|
||||
roomExists = true;
|
||||
}
|
||||
});
|
||||
|
||||
//if the given room exists
|
||||
if (roomExists) {
|
||||
return true;
|
||||
}
|
||||
|
||||
//DEBUGGING: test channel
|
||||
if (channel.id == process.env.TEST_CHANNEL_ID) {
|
||||
return true;
|
||||
}
|
||||
|
||||
//otherwise
|
||||
return false;
|
||||
}
|
||||
default:
|
||||
//default value
|
||||
return false;
|
||||
}
|
||||
}
|
||||
*/
|
||||
Reference in New Issue
Block a user