88 lines
3.4 KiB
Text
88 lines
3.4 KiB
Text
|
const config = {
|
||
|
// Bot Owner, level 10 by default. A User ID. Should never be anything else than the bot owner's ID.
|
||
|
"ownerID": "{{ownerID}}",
|
||
|
|
||
|
// Bot Admins, level 9 by default. Array of user ID strings.
|
||
|
"admins": [],
|
||
|
|
||
|
// Bot Support, level 8 by default. Array of user ID strings
|
||
|
"support": [],
|
||
|
|
||
|
// Your Bot's Token. Available on https://discordapp.com/developers/applications/me
|
||
|
"token": {{token}},
|
||
|
|
||
|
// PERMISSION LEVEL DEFINITIONS.
|
||
|
permLevels: [
|
||
|
// This is the lowest permisison level, this is for non-roled users.
|
||
|
{ level: 0,
|
||
|
name: "User",
|
||
|
// Don't bother checking, just return true which allows them to execute any command their
|
||
|
// level allows them to.
|
||
|
check: () => true
|
||
|
},
|
||
|
|
||
|
// This is your permission level, the staff levels should always be above the rest of the roles.
|
||
|
{ level: 2,
|
||
|
// This is the name of the role.
|
||
|
name: "Moderator",
|
||
|
// The following lines check the guild the message came from for the roles.
|
||
|
// Then it checks if the member that authored the message has the role.
|
||
|
// If they do return true, which will allow them to execute the command in question.
|
||
|
// If they don't then return false, which will prevent them from executing the command.
|
||
|
check: (message) => {
|
||
|
try {
|
||
|
const modRole = message.guild.roles.find(r => r.name.toLowerCase() === message.settings.modRole.toLowerCase());
|
||
|
if (modRole && message.member.roles.has(modRole.id)) return true;
|
||
|
} catch (e) {
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
|
||
|
{ level: 3,
|
||
|
name: "Administrator",
|
||
|
check: (message) => {
|
||
|
try {
|
||
|
const adminRole = message.guild.roles.find(r => r.name.toLowerCase() === message.settings.adminRole.toLowerCase());
|
||
|
return (adminRole && message.member.roles.has(adminRole.id));
|
||
|
} catch (e) {
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
// This is the server owner.
|
||
|
{ level: 4,
|
||
|
name: "Server Owner",
|
||
|
// Simple check, if the guild owner id matches the message author's ID, then it will return true.
|
||
|
// Otherwise it will return false.
|
||
|
check: (message) => message.channel.type === "text" ? (message.guild.ownerID === message.author.id ? true : false) : false
|
||
|
},
|
||
|
|
||
|
// Bot Support is a special inbetween level that has the equivalent of server owner access
|
||
|
// to any server they joins, in order to help troubleshoot the bot on behalf of owners.
|
||
|
{ level: 8,
|
||
|
name: "Bot Support",
|
||
|
// The check is by reading if an ID is part of this array. Yes, this means you need to
|
||
|
// change this and reboot the bot to add a support user. Make it better yourself!
|
||
|
check: (message) => config.support.includes(message.author.id)
|
||
|
},
|
||
|
|
||
|
// Bot Admin has some limited access like rebooting the bot or reloading commands.
|
||
|
{ level: 9,
|
||
|
name: "Bot Admin",
|
||
|
check: (message) => config.admins.includes(message.author.id)
|
||
|
},
|
||
|
|
||
|
// This is the bot owner, this should be the highest permission level available.
|
||
|
// The reason this should be the highest level is because of dangerous commands such as eval
|
||
|
// or exec (if the owner has that).
|
||
|
{ level: 10,
|
||
|
name: "Bot Owner",
|
||
|
// Another simple check, compares the message author id to the one stored in the config file.
|
||
|
check: (message) => message.client.config.ownerID === message.author.id
|
||
|
}
|
||
|
]
|
||
|
};
|
||
|
|
||
|
module.exports = config;
|