fixing stuff i guess
This commit is contained in:
parent
8957ea9ff3
commit
1913704e90
4 changed files with 28 additions and 53 deletions
|
@ -1,62 +1,41 @@
|
||||||
const { inspect } = require("util");
|
const { inspect } = require("util");
|
||||||
|
|
||||||
/*
|
exports.run = async (client, message, [action, key, ...value], level) => {
|
||||||
FOR GUILD SETTINGS SEE set.js !
|
|
||||||
This command is used to modify the bot's default configuration values, which affects all guilds.
|
|
||||||
If a default setting is not specifically overwritten by a guild, changing a default here will
|
|
||||||
change it for that guild. The `add` action adds a key to the configuration of every guild in
|
|
||||||
your bot. The `del` action removes the key also from every guild, and loses its value forever.
|
|
||||||
*/
|
|
||||||
|
|
||||||
exports.run = async (client, message, [action, key, ...value], level) => { // eslint-disable-line no-unused-vars
|
|
||||||
|
|
||||||
// Retrieve Default Values from the default settings in the bot.
|
|
||||||
const defaults = client.settings.get("default");
|
const defaults = client.settings.get("default");
|
||||||
|
|
||||||
// Adding a new key adds it to every guild (it will be visible to all of them)
|
|
||||||
if (action === "add") {
|
if (action === "add") {
|
||||||
if (!key) return message.reply("Please specify a key to add");
|
if (!key) return message.reply("please specify a key to add.");
|
||||||
if (defaults[key]) return message.reply("This key already exists in the default settings");
|
if (defaults[key]) return message.reply("this key already exists in the default settings!");
|
||||||
if (value.length < 1) return message.reply("Please specify a value");
|
if (value.length < 1) return message.reply("please specify a value.");
|
||||||
|
|
||||||
// `value` being an array, we need to join it first.
|
|
||||||
defaults[key] = value.join(" ");
|
defaults[key] = value.join(" ");
|
||||||
|
|
||||||
// One the settings is modified, we write it back to the collection
|
|
||||||
client.settings.set("default", defaults);
|
client.settings.set("default", defaults);
|
||||||
message.reply(`${key} successfully added with the value of ${value.join(" ")}`);
|
message.reply(`${key} successfully added with the value of ${value.join(" ")}.`);
|
||||||
} else
|
} else
|
||||||
|
|
||||||
// Changing the default value of a key only modified it for guilds that did not change it to another value.
|
|
||||||
if (action === "edit") {
|
if (action === "edit") {
|
||||||
if (!key) return message.reply("Please specify a key to edit");
|
if (!key) return message.reply("please specify a key to edit.");
|
||||||
if (!defaults[key]) return message.reply("This key does not exist in the settings");
|
if (!defaults[key]) return message.reply("this key does not exist in the settings!");
|
||||||
if (value.length < 1) return message.reply("Please specify a new value");
|
if (value.length < 1) return message.reply("please specify a new value!");
|
||||||
|
|
||||||
defaults[key] = value.join(" ");
|
defaults[key] = value.join(" ");
|
||||||
|
|
||||||
client.settings.set("default", defaults);
|
client.settings.set("default", defaults);
|
||||||
message.reply(`${key} successfully edited to ${value.join(" ")}`);
|
message.reply(`${key} successfully edited to ${value.join(" ")}.`);
|
||||||
} else
|
} else
|
||||||
|
|
||||||
// WARNING: DELETING A KEY FROM THE DEFAULTS ALSO REMOVES IT FROM EVERY GUILD
|
|
||||||
// MAKE SURE THAT KEY IS REALLY NO LONGER NEEDED!
|
|
||||||
if (action === "del") {
|
if (action === "del") {
|
||||||
if (!key) return message.reply("Please specify a key to delete.");
|
if (!key) return message.reply("please specify a key to delete.");
|
||||||
if (!defaults[key]) return message.reply("This key does not exist in the settings");
|
if (!defaults[key]) return message.reply("this key does not exist in the settings!");
|
||||||
|
|
||||||
// Throw the 'are you sure?' text at them.
|
|
||||||
const response = await client.awaitReply(message, `Are you sure you want to permanently delete ${key} from all guilds? This **CANNOT** be undone.`);
|
const response = await client.awaitReply(message, `Are you sure you want to permanently delete ${key} from all guilds? This **CANNOT** be undone.`);
|
||||||
|
|
||||||
// If they respond with y or yes, continue.
|
|
||||||
if (["y", "yes"].includes(response)) {
|
if (["y", "yes"].includes(response)) {
|
||||||
|
|
||||||
// We delete the default `key` here.
|
|
||||||
delete defaults[key];
|
delete defaults[key];
|
||||||
client.settings.set("default", defaults);
|
client.settings.set("default", defaults);
|
||||||
|
|
||||||
// then we loop on all the guilds and remove this key if it exists.
|
|
||||||
// "if it exists" is done with the filter (if the key is present and it's not the default config!)
|
|
||||||
for (const [guildid, conf] of client.settings.filter((setting, id) => setting[key] && id !== "default")) {
|
for (const [guildid, conf] of client.settings.filter((setting, id) => setting[key] && id !== "default")) {
|
||||||
delete conf[key];
|
delete conf[key];
|
||||||
client.settings.set(guildid, conf);
|
client.settings.set(guildid, conf);
|
||||||
|
@ -64,19 +43,16 @@ exports.run = async (client, message, [action, key, ...value], level) => { // es
|
||||||
|
|
||||||
message.reply(`${key} was successfully deleted.`);
|
message.reply(`${key} was successfully deleted.`);
|
||||||
} else
|
} else
|
||||||
// If they respond with n or no, we inform them that the action has been cancelled.
|
|
||||||
if (["n","no","cancel"].includes(response)) {
|
if (["n","no","cancel"].includes(response)) {
|
||||||
message.reply("Action cancelled.");
|
message.reply("action cancelled.");
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
|
|
||||||
// Display a key's default value
|
|
||||||
if (action === "get") {
|
if (action === "get") {
|
||||||
if (!key) return message.reply("Please specify a key to view");
|
if (!key) return message.reply("please specify a key to view.");
|
||||||
if (!defaults[key]) return message.reply("This key does not exist in the settings");
|
if (!defaults[key]) return message.reply("this key does not exist in the settings!");
|
||||||
message.reply(`The value of ${key} is currently ${defaults[key]}`);
|
message.reply(`the value of ${key} is currently ${defaults[key]}.`);
|
||||||
|
|
||||||
// Display all default settings.
|
|
||||||
} else {
|
} else {
|
||||||
await message.channel.send(`***__Bot Default Settings__***\n\`\`\`json\n${inspect(defaults)}\n\`\`\``);
|
await message.channel.send(`***__Bot Default Settings__***\n\`\`\`json\n${inspect(defaults)}\n\`\`\``);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,11 +5,11 @@ exports.run = async (client, message, [action, key, ...value], level) => {
|
||||||
if (!client.settings.has(message.guild.id)) client.settings.set(message.guild.id, {});
|
if (!client.settings.has(message.guild.id)) client.settings.set(message.guild.id, {});
|
||||||
|
|
||||||
if (action === "edit") {
|
if (action === "edit") {
|
||||||
if (!key) return message.reply("Please specify a key to edit");
|
if (!key) return message.reply("please specify a key to edit");
|
||||||
if (!defaults[key]) return message.reply("This key does not exist in the settings");
|
if (!defaults[key]) return message.reply("this key does not exist in the settings");
|
||||||
const joinedValue = value.join(" ");
|
const joinedValue = value.join(" ");
|
||||||
if (joinedValue.length < 1) return message.reply("Please specify a new value");
|
if (joinedValue.length < 1) return message.reply("please specify a new value.");
|
||||||
if (joinedValue === settings[key]) return message.reply("This setting already has that value!");
|
if (joinedValue === settings[key]) return message.reply("this setting already has that value!");
|
||||||
|
|
||||||
if (!client.settings.has(message.guild.id)) client.settings.set(message.guild.id, {});
|
if (!client.settings.has(message.guild.id)) client.settings.set(message.guild.id, {});
|
||||||
|
|
||||||
|
@ -19,9 +19,9 @@ exports.run = async (client, message, [action, key, ...value], level) => {
|
||||||
} else
|
} else
|
||||||
|
|
||||||
if (action === "del" || action === "reset") {
|
if (action === "del" || action === "reset") {
|
||||||
if (!key) return message.reply("Please specify a key to reset.");
|
if (!key) return message.reply("please specify a key to reset.");
|
||||||
if (!defaults[key]) return message.reply("This key does not exist in the settings");
|
if (!defaults[key]) return message.reply("this key does not exist in the settings");
|
||||||
if (!overrides[key]) return message.reply("This key does not have an override and is already using defaults.");
|
if (!overrides[key]) return message.reply("this key does not have an override and is already using defaults.");
|
||||||
|
|
||||||
const response = await client.awaitReply(message, `Are you sure you want to reset ${key} to the default value?`);
|
const response = await client.awaitReply(message, `Are you sure you want to reset ${key} to the default value?`);
|
||||||
|
|
||||||
|
@ -30,15 +30,15 @@ exports.run = async (client, message, [action, key, ...value], level) => {
|
||||||
message.reply(`${key} was successfully reset to default.`);
|
message.reply(`${key} was successfully reset to default.`);
|
||||||
} else
|
} else
|
||||||
if (["n","no","cancel"].includes(response)) {
|
if (["n","no","cancel"].includes(response)) {
|
||||||
message.reply(`Your setting for \`${key}\` remains at \`${settings[key]}\``);
|
message.reply(`your setting for \`${key}\` remains at \`${settings[key]}\``);
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
|
|
||||||
if (action === "get") {
|
if (action === "get") {
|
||||||
if (!key) return message.reply("Please specify a key to view");
|
if (!key) return message.reply("please specify a key to view.");
|
||||||
if (!defaults[key]) return message.reply("This key does not exist in the settings");
|
if (!defaults[key]) return message.reply("this key does not exist in the settings!");
|
||||||
const isDefault = !overrides[key] ? "\nThis is the default global default value." : "";
|
const isDefault = !overrides[key] ? "\nthis is the default global default value." : "";
|
||||||
message.reply(`The value of ${key} is currently ${settings[key]}${isDefault}`);
|
message.reply(`the value of ${key} is currently ${settings[key]}${isDefault}.`);
|
||||||
} else {
|
} else {
|
||||||
const array = [];
|
const array = [];
|
||||||
Object.entries(settings).forEach(([key, value]) => {
|
Object.entries(settings).forEach(([key, value]) => {
|
||||||
|
|
|
@ -8,7 +8,6 @@ const config = {
|
||||||
"token": {{token}},
|
"token": {{token}},
|
||||||
|
|
||||||
permLevels: [
|
permLevels: [
|
||||||
// This is the lowest permisison level, this is for non-roled users.
|
|
||||||
{ level: 0,
|
{ level: 0,
|
||||||
name: "User",
|
name: "User",
|
||||||
check: () => true
|
check: () => true
|
||||||
|
|
|
@ -19,7 +19,7 @@ module.exports = (client) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const defaultSettings = {
|
const defaultSettings = {
|
||||||
"prefix": "/",
|
"prefix": "b&",
|
||||||
"modLogChannel": "mod-log",
|
"modLogChannel": "mod-log",
|
||||||
"modRole": "modinator",
|
"modRole": "modinator",
|
||||||
"adminRole": "adminator",
|
"adminRole": "adminator",
|
||||||
|
|
Loading…
Reference in a new issue