You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
1.8 KiB
27 lines
1.8 KiB
const Discord = require('discord.js');
|
|
const GuildSettings = require('../../models/guild');
|
|
|
|
module.exports = {
|
|
name: "togglestatuses",
|
|
aliases: ['ts', 'tsw', 'togglestatuswarnings', 'togglestatus', 'statustoggle', 'statusestoggle'],
|
|
help: new Discord.MessageEmbed()
|
|
.setTitle("Help -> Server Status-Toggling")
|
|
.setDescription("Disables or enables the warning that appears when you ping someone that has a status set.")
|
|
.addField("Syntax", "`togglestatuses [c]` (add `c` to the end of the message if you want to check if they're enabled or not.)"),
|
|
meta: {
|
|
category: 'Moderation',
|
|
description: "Toggle the warning I give members when they ping someone with a status. Some people find it annoying, but here's my mute button!",
|
|
syntax: '`togglestatuses [-c]`',
|
|
extra: null
|
|
},
|
|
async execute(message, msg, args, cmd, prefix, mention, client) {
|
|
if (!message.guild) {return message.reply('You must be in a server to use this command.');}
|
|
let tg = await GuildSettings.findOne({gid: message.guild.id});
|
|
if (!message.member.permissions.has('ADMINISTRATOR') && (tg && tg.staffrole.length && !message.member.roles.cache.has(tg.staffrole))) {return message.reply("You don't have permissions to use this command in your server.");}
|
|
if (args[0] && ['c', 'check', 'v', 'view'].includes(args[0].toLowerCase())) {return message.channel.send(`I ${tg && !tg.nostatus ? 'will' : 'will not'} send a warning when pinging a member with a status.`);}
|
|
if (!tg) {tg = new GuildSettings({gid: message.guild.id});}
|
|
tg.nostatus = !tg.nostatus;
|
|
tg.save();
|
|
return message.channel.send(`I ${!tg.nostatus ? 'will' : 'will not'} send a warning when pinging a member with a status.`);
|
|
}
|
|
}; |