@@ -1,5 +1,6 @@
|
||||
// Debug
|
||||
const { DebugBuilder } = require("../utilities/debugBuilder");
|
||||
const { clientObject } = require("./recordHelper");
|
||||
const { readFileSync } = require('fs');
|
||||
const log = new DebugBuilder("server", "utils");
|
||||
const path = require('path');
|
||||
@@ -32,8 +33,11 @@ exports.SanitizePresetName = (presetName) => {
|
||||
*/
|
||||
exports.getMembersInRole = async (interaction, roleName = "Bots" ) => {
|
||||
log.DEBUG("Fetching all members");
|
||||
await interaction.guild.members.fetch() //cache all members in the server
|
||||
const role = await interaction.guild.roles.cache.find(role => role.name === roleName); //the role to check
|
||||
var guild = await interaction.client.guilds.fetch({ guild: interaction.guild.id, cache: false }); //cache all members in the server
|
||||
await guild.members.fetch({cache: false});
|
||||
await guild.roles.fetch({cache: false});
|
||||
log.VERBOSE("Guild: ", guild);
|
||||
const role = await guild.roles.cache.find(role => role.name === roleName); //the role to check
|
||||
log.DEBUG("Role to check members from: ", role);
|
||||
log.DEBUG("Members of role: ", role.members);
|
||||
|
||||
@@ -58,7 +62,9 @@ exports.getMembersInRole = async (interaction, roleName = "Bots" ) => {
|
||||
* @returns The key of the object that contains the value
|
||||
*/
|
||||
exports.getKeyByArrayValue = (object, value) => {
|
||||
return Object.keys(object).find(key => object[key].includes(value));
|
||||
if (typeof value == "string") return Object.keys(object).find(key => object[key].includes(value));
|
||||
const valueKey = Object.keys(value)[0];
|
||||
return Object.keys(object).find(key => (object[key][valueKey] == value[valueKey]));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -82,5 +88,32 @@ exports.isJsonString = (str) => {
|
||||
* @returns Object of Client IDs
|
||||
*/
|
||||
exports.getAllClientIds = () => {
|
||||
return Object(JSON.parse(readFileSync(path.resolve(__dirname, '../clientIds.json'))));
|
||||
const jsonClientIds = JSON.parse(readFileSync(path.resolve(__dirname, '../clientIds.json')));
|
||||
var clientObjects = [];
|
||||
for (const jsonClientId of Object.keys(jsonClientIds)){
|
||||
clientObjects.push(new clientObject({
|
||||
_discord_id: jsonClientId,
|
||||
_name: jsonClientIds[jsonClientId].name,
|
||||
_client_id: jsonClientIds[jsonClientId].id
|
||||
}))
|
||||
}
|
||||
return clientObjects;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a client object froma discord client ID
|
||||
*
|
||||
* @param {*} clientId The discord client ID to get the client object of
|
||||
* @returns {clientObject|undefined}
|
||||
*/
|
||||
exports.getClientObjectByClientID = (clientId) => {
|
||||
const clientObjects = this.getAllClientIds();
|
||||
log.DEBUG("All client IDs: ", clientObjects);
|
||||
for (const clientObject of clientObjects){
|
||||
if (clientObject.clientId == clientId) {
|
||||
log.DEBUG("Found client ID from given ID: ", clientObject);
|
||||
return clientObject
|
||||
}
|
||||
}
|
||||
return undefined
|
||||
}
|
||||
Reference in New Issue
Block a user