parent
fdb6821d71
commit
043123c04a
@ -0,0 +1,12 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<module type="WEB_MODULE" version="4"> |
||||
<component name="NewModuleRootManager"> |
||||
<content url="file://$MODULE_DIR$"> |
||||
<excludeFolder url="file://$MODULE_DIR$/.tmp" /> |
||||
<excludeFolder url="file://$MODULE_DIR$/temp" /> |
||||
<excludeFolder url="file://$MODULE_DIR$/tmp" /> |
||||
</content> |
||||
<orderEntry type="inheritedJdk" /> |
||||
<orderEntry type="sourceFolder" forTests="false" /> |
||||
</component> |
||||
</module> |
@ -0,0 +1,8 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project version="4"> |
||||
<component name="ProjectModuleManager"> |
||||
<modules> |
||||
<module fileurl="file://$PROJECT_DIR$/.idea/Natsuki.iml" filepath="$PROJECT_DIR$/.idea/Natsuki.iml" /> |
||||
</modules> |
||||
</component> |
||||
</project> |
@ -0,0 +1,48 @@ |
||||
const Discord = require('discord.js'); |
||||
const GuildSettings = require('../models/guild'); |
||||
|
||||
module.exports = { |
||||
name: "staffrole", |
||||
aliases: ['sr', 'setstaffrole'], |
||||
help: "Set your server's staff role, which allows users with that role to modify my settings in this server. You must be an admin in the server to change this setting.", |
||||
async execute(message, msg, args, cmd, prefix, mention, client) { |
||||
if (!message.guild) {return message.reply("This is a guild-only command!");} |
||||
if (!args.length) {return message.channel.send(`Syntax: \`${prefix}staffrole <@role|roleID|clear|view>\``);} |
||||
if (!message.member.permissions.has("ADMINISTRATOR")) {return message.reply("You must be an admin in this server in order to change this setting!");} |
||||
|
||||
let tguild = await GuildSettings.findOne({gid: message.guild.id}) |
||||
? await GuildSettings.findOne({gid: message.guild.id}) |
||||
: new GuildSettings({gid: message.guild.id}); |
||||
|
||||
if (['view', 'v'].includes(args[0].trim().toLocaleLowerCase())) {return message.reply( |
||||
tguild.staffrole.length |
||||
? message.guild.roles.cache.has(tguild.staffrole) |
||||
? `\`People with the ${message.guild.roles.cache.get(tguild.staffrole).name}\` role can edit my setting here.` |
||||
: `I have a role stored for this server, but it doesn't seem to exist anymore, so only admins can edit my settings right now.` |
||||
: 'Only admins may edit settings in this server.' |
||||
);} |
||||
|
||||
let role = !['c', 'clear', 'n', 'none'].includes(args[0].trim().toLowerCase()) ? message.mentions.roles.size ? message.mentions.roles.first() : message.guild.roles.cache.has(args[0]) ? message.guild.roles.cache.get(args[0]) : null : 'c'; |
||||
|
||||
if (!role) {return message.reply("I couldn't find that role!");} |
||||
if (role === "c") { |
||||
tguild.staffrole = ''; |
||||
tguild.save(); |
||||
return message.reply("Got it, only admins can edit my settings in this server."); |
||||
} else { |
||||
tguild.staffrole = role.id; |
||||
tguild.save(); |
||||
let upm = message.reply("Sure thing!"); |
||||
await require('../util/wait')(1750); |
||||
return upm.edit(new Discord.MessageEmbed() |
||||
.setAuthor('Staff role updated!', message.author.avatarURL()) |
||||
.setDescription(`<@${tguild.staffrole}> can now edit my settings in this server.`) |
||||
.addField('Auditing Admin', message.member.displayName, true) |
||||
.addField('Role-Holders', `${message.guild.members.cache.filter(m => m.roles.cache.has(tguild.staffrole) && !client.users.cache.get(m.id).bot)}+ members have this role`) |
||||
.setColor('c375f0') |
||||
.setFooter('Natsuki', client.user.avatarURL()) |
||||
.setTimestamp() |
||||
); |
||||
} |
||||
} |
||||
}; |
Loading…
Reference in new issue