parent
22cf92fe0c
commit
a99229733c
@ -0,0 +1,49 @@ |
||||
const Discord = require('discord.js'); |
||||
|
||||
const LXP = require('../../models/localxp'); |
||||
const GuildData = require('../../models/guild'); |
||||
|
||||
module.exports = { |
||||
name: "ignorexp", |
||||
aliases: ['xpignore', 'noxp'], |
||||
meta: { |
||||
category: 'Leveling', |
||||
description: "Stop XP from being gained in a specific channel.", |
||||
syntax: '`ignorexp [#channel|channelId]`', |
||||
extra: null, |
||||
guildOnly: true |
||||
}, |
||||
help: new Discord.MessageEmbed() |
||||
.setTitle("Help -> AR Ignoring") |
||||
.setDescription("Provide a channel (or don't to use the current channel) to be voided from auto-responses, that way the responses won't send in places you don't want them to.") |
||||
.addField("Syntax", "`[#channel|channelId]` - channel is optional."), |
||||
async execute(message, msg, args, cmd, prefix, mention, client) { |
||||
const tg = await GuildData.findOne({gid: message.guild.id}); |
||||
if ((!tg || !tg.staffrole || !tg.staffrole.length || !message.member.roles.cache.has(tg.staffrole)) && !message.member.permissions.has("ADMINISTRATOR")) {return message.channel.send("You must have the staff role or be an administrator in this server in order to edit XP settings.");} |
||||
|
||||
let txp = await LXP.findOne({gid: message.guild.id}); |
||||
if (!txp) {return message.channel.send("This server doesn't have XP enabled.");} |
||||
|
||||
let ch; |
||||
if (args[1]) { |
||||
ch = message.mentions.channels.first() || message.guild.channels.cache.get(args[1]); |
||||
if (!ch) {return message.channel.send("I couldn't find that channel. Please try again!");} |
||||
} else {ch = message.channel;} |
||||
ch = ch.id; |
||||
if (!txp.noGains) {txp.noGains = [];} |
||||
if (txp.noGains.includes(ch)) { |
||||
let ti = txp.noGains; |
||||
ti.splice(ti.indexOf(ch), 1); |
||||
txp.noGains = ti; |
||||
txp.markModified('noGains'); |
||||
txp.save(); |
||||
client.misc.cache.lxp.disabledChannels.set(message.guild.id, txp.noGains); |
||||
return message.channel.send("Got it. I'll start giving people XP here from now on."); |
||||
} else { |
||||
txp.noGains.push(ch); |
||||
txp.save(); |
||||
client.misc.cache.lxp.disabledChannels.set(message.guild.id, txp.noGains); |
||||
return message.channel.send("I'll stop giving people XP in this channel from now on."); |
||||
} |
||||
} |
||||
}; |
Loading…
Reference in new issue