1.4.0 beta
This commit is contained in:
+41
-221
@@ -3,240 +3,60 @@ const bot = require('../index')
|
||||
const client = bot.client
|
||||
const config = require("../config.json")
|
||||
|
||||
/** =============================
|
||||
** NOT READY YET
|
||||
** =============================*/
|
||||
|
||||
module.exports = () => {
|
||||
/**@type {String[]} */
|
||||
var msgIds = []
|
||||
config.messages.forEach((msg) => {
|
||||
msgIds.push(msg.id)
|
||||
})
|
||||
|
||||
|
||||
client.on("messageCreate", msg => {
|
||||
if (msg.content == config.prefix+"ticket msg"){
|
||||
if (msg.member.roles.cache.has(config.botperms_role) == false){
|
||||
msg.channel.send({content:config.messages.general.nopermissions})
|
||||
if (msg.content.startsWith(config.prefix+"msg")){
|
||||
if (config.main_adminroles.some((item)=>{return msg.member.roles.cache.has(item)}) == false){
|
||||
msg.channel.send({content:"You have no permission to run this command!"})
|
||||
return
|
||||
}
|
||||
|
||||
var currentTicketButtons = 0
|
||||
var ticketButton = new discord.MessageActionRow()
|
||||
var ticketButton2 = new discord.MessageActionRow()
|
||||
const id = msg.content.split(config.prefix+"msg")[1].substring(1) ? msg.content.split(config.prefix+"msg")[1].substring(1) : false
|
||||
|
||||
const getColor = (color) => {
|
||||
if (color.toLowerCase() == "red"){
|
||||
return "DANGER"
|
||||
}else if (color.toLowerCase() == "green"){
|
||||
return "SUCCESS"
|
||||
}else if (color.toLowerCase() == "blue" || color.toLowerCase() == "blurple"){
|
||||
return "PRIMARY"
|
||||
}else if (color.toLowerCase() == "black" || color.toLowerCase() == "gray" || color.toLowerCase() == "grey"){
|
||||
return "SECONDARY"
|
||||
}else if (color == "DANGER" || color == "SECONDARY" || color == "SUCCESS" || color == "PRIMARY"){
|
||||
return color
|
||||
}else if (color.toLowerCase() == "none" || color.toLowerCase() == "false" || color.toLowerCase() == ""){
|
||||
return "SECONDARY"
|
||||
}else return "SECONDARY"
|
||||
}
|
||||
if (!id) return msg.channel.send({content:"**There is no id!**\nUse: `"+config.prefix+"msg <id>`"})
|
||||
if (!msgIds.includes(id)) return msg.channel.send({content:"**Invalid id!**\nChoose from this list:\n_"+msgIds.join("_\n_")+"_"})
|
||||
|
||||
if (config.options.ticket1.enabled){
|
||||
if (currentTicketButtons < 4){
|
||||
var localTicketButton = ticketButton
|
||||
}else{
|
||||
var localTicketButton = ticketButton2
|
||||
}
|
||||
|
||||
currentTicketButtons = currentTicketButtons + 1
|
||||
|
||||
if (config.options.ticket1.isURL == false){
|
||||
localTicketButton.addComponents(
|
||||
new discord.MessageButton()
|
||||
.setCustomId("newTicket1")
|
||||
.setDisabled(false)
|
||||
.setStyle(getColor(config.options.ticket1.color))
|
||||
.setEmoji(config.options.ticket1.icon)
|
||||
)
|
||||
}else{
|
||||
localTicketButton.addComponents(
|
||||
new discord.MessageButton()
|
||||
.setDisabled(false)
|
||||
.setStyle("LINK")
|
||||
.setEmoji(config.options.ticket1.icon)
|
||||
.setURL(config.options.ticket1.url)
|
||||
)
|
||||
}
|
||||
}
|
||||
if (config.options.ticket2.enabled){
|
||||
if (currentTicketButtons < 4){
|
||||
var localTicketButton = ticketButton
|
||||
}else{
|
||||
var localTicketButton = ticketButton2
|
||||
}
|
||||
|
||||
currentTicketButtons = currentTicketButtons + 1
|
||||
|
||||
if (config.options.ticket2.isURL == false){
|
||||
localTicketButton.addComponents(
|
||||
new discord.MessageButton()
|
||||
.setCustomId("newTicket2")
|
||||
.setDisabled(false)
|
||||
.setStyle(getColor(config.options.ticket2.color))
|
||||
.setEmoji(config.options.ticket2.icon)
|
||||
)
|
||||
}else{
|
||||
localTicketButton.addComponents(
|
||||
new discord.MessageButton()
|
||||
.setDisabled(false)
|
||||
.setStyle("LINK")
|
||||
.setEmoji(config.options.ticket2.icon)
|
||||
.setURL(config.options.ticket2.url)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
if (config.options.ticket3.enabled){
|
||||
if (currentTicketButtons < 4){
|
||||
var localTicketButton = ticketButton
|
||||
}else{
|
||||
var localTicketButton = ticketButton2
|
||||
}
|
||||
|
||||
currentTicketButtons = currentTicketButtons + 1
|
||||
|
||||
if (config.options.ticket3.isURL == false){
|
||||
localTicketButton.addComponents(
|
||||
new discord.MessageButton()
|
||||
.setCustomId("newTicket3")
|
||||
.setDisabled(false)
|
||||
.setStyle(getColor(config.options.ticket3.color))
|
||||
.setEmoji(config.options.ticket3.icon)
|
||||
)
|
||||
}else{
|
||||
localTicketButton.addComponents(
|
||||
new discord.MessageButton()
|
||||
.setDisabled(false)
|
||||
.setStyle("LINK")
|
||||
.setEmoji(config.options.ticket3.icon)
|
||||
.setURL(config.options.ticket3.url)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
if (config.options.ticket4.enabled){
|
||||
if (currentTicketButtons < 4){
|
||||
var localTicketButton = ticketButton
|
||||
}else{
|
||||
var localTicketButton = ticketButton2
|
||||
}
|
||||
|
||||
currentTicketButtons = currentTicketButtons + 1
|
||||
|
||||
if (config.options.ticket4.isURL == false){
|
||||
localTicketButton.addComponents(
|
||||
new discord.MessageButton()
|
||||
.setCustomId("newTicket4")
|
||||
.setDisabled(false)
|
||||
.setStyle(getColor(config.options.ticket4.color))
|
||||
.setEmoji(config.options.ticket4.icon)
|
||||
)
|
||||
}else{
|
||||
localTicketButton.addComponents(
|
||||
new discord.MessageButton()
|
||||
.setDisabled(false)
|
||||
.setStyle("LINK")
|
||||
.setEmoji(config.options.ticket4.icon)
|
||||
.setURL(config.options.ticket4.url)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
if (config.options.ticket5.enabled){
|
||||
if (currentTicketButtons < 4){
|
||||
var localTicketButton = ticketButton
|
||||
}else{
|
||||
var localTicketButton = ticketButton2
|
||||
}
|
||||
|
||||
currentTicketButtons = currentTicketButtons + 1
|
||||
|
||||
if (config.options.ticket5.isURL == false){
|
||||
localTicketButton.addComponents(
|
||||
new discord.MessageButton()
|
||||
.setCustomId("newTicket5")
|
||||
.setDisabled(false)
|
||||
.setStyle(getColor(config.options.ticket5.color))
|
||||
.setEmoji(config.options.ticket5.icon)
|
||||
)
|
||||
}else{
|
||||
localTicketButton.addComponents(
|
||||
new discord.MessageButton()
|
||||
.setDisabled(false)
|
||||
.setStyle("LINK")
|
||||
.setEmoji(config.options.ticket5.icon)
|
||||
.setURL(config.options.ticket5.url)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
if (config.options.ticket6.enabled){
|
||||
if (currentTicketButtons < 4){
|
||||
var localTicketButton = ticketButton
|
||||
}else{
|
||||
var localTicketButton = ticketButton2
|
||||
}
|
||||
|
||||
currentTicketButtons = currentTicketButtons + 1
|
||||
|
||||
if (config.options.ticket6.isURL == false){
|
||||
localTicketButton.addComponents(
|
||||
new discord.MessageButton()
|
||||
.setCustomId("newTicket6")
|
||||
.setDisabled(false)
|
||||
.setStyle(getColor(config.options.ticket6.color))
|
||||
.setEmoji(config.options.ticket6.icon)
|
||||
)
|
||||
}else{
|
||||
localTicketButton.addComponents(
|
||||
new discord.MessageButton()
|
||||
.setDisabled(false)
|
||||
.setStyle("LINK")
|
||||
.setEmoji(config.options.ticket6.icon)
|
||||
.setURL(config.options.ticket6.url)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
var categorylist = ""
|
||||
if (config.options.ticket1.enabled){categorylist = categorylist+"\n"+config.options.ticket1.icon+": **"+config.options.ticket1.name+"**\n"+config.options.ticket1.description}
|
||||
|
||||
if (config.options.ticket2.enabled){categorylist = categorylist+"\n\n"+config.options.ticket2.icon+": **"+config.options.ticket2.name+"**\n"+config.options.ticket2.description}
|
||||
|
||||
if (config.options.ticket3.enabled){categorylist = categorylist+"\n\n"+config.options.ticket3.icon+": **"+config.options.ticket3.name+"**\n"+config.options.ticket3.description}
|
||||
|
||||
if (config.options.ticket4.enabled){categorylist = categorylist+"\n\n"+config.options.ticket4.icon+": **"+config.options.ticket4.name+"**\n"+config.options.ticket4.description}
|
||||
|
||||
if (config.options.ticket5.enabled){categorylist = categorylist+"\n\n"+config.options.ticket5.icon+": **"+config.options.ticket5.name+"**\n"+config.options.ticket5.description}
|
||||
|
||||
if (config.options.ticket6.enabled){categorylist = categorylist+"\n\n"+config.options.ticket6.icon+": **"+config.options.ticket6.name+"**\n"+config.options.ticket6.description}
|
||||
|
||||
|
||||
|
||||
var ticketEmbed = new discord.MessageEmbed()
|
||||
if (config.layout.ticketMsg.customColorEnabled){
|
||||
ticketEmbed.setColor(config.layout.ticketMsg.customColor)
|
||||
}else{ticketEmbed.setColor(config.main_color)}
|
||||
|
||||
if (config.layout.ticketMsg.footerEnabled){
|
||||
ticketEmbed.setFooter({text:config.layout.ticketMsg.footer})
|
||||
}
|
||||
if (config.layout.ticketMsg.thumbnailEnabled){
|
||||
ticketEmbed.setThumbnail(config.layout.ticketMsg.thumbnailURL)
|
||||
}
|
||||
|
||||
ticketEmbed.setDescription("**Create a ticket:**\nClick one of the buttons below to create a ticket.\n\n__choose a category:__"+categorylist+"\n\n**watch out:**_You can only create "+config.system.max_allowed_tickets+" ticket(s) at a time!_")
|
||||
const {embed,componentRows} = require("../core/ticketMessageEmbed").createEmbed(id)
|
||||
|
||||
|
||||
if (currentTicketButtons <= 4){
|
||||
var embedComponents = [ticketButton]
|
||||
}else{var embedComponents = [ticketButton,ticketButton2]}
|
||||
|
||||
msg.channel.send({embeds:[ticketEmbed],components:embedComponents})
|
||||
msg.channel.send({embeds:[embed],components:componentRows})
|
||||
|
||||
if (config.logs){console.log("[command] "+config.prefix+"ticket msg (user:"+msg.author.username+")")}
|
||||
if (config.logs){console.log("[system] created ticket message")}
|
||||
}
|
||||
})
|
||||
|
||||
client.on("interactionCreate", (interaction) => {
|
||||
if (!interaction.isCommand()) return
|
||||
if (interaction.commandName != "message") return
|
||||
|
||||
if (config.main_adminroles.some((item)=>{return interaction.guild.members.cache.find((m) => m.id == interaction.member.id).roles.cache.has(item)}) == false){
|
||||
interaction.reply({content:"You have no permission to run this command!"})
|
||||
return
|
||||
}
|
||||
|
||||
const id = interaction.options.getString("id")
|
||||
|
||||
if (!msgIds.includes(id)) return interaction.reply({content:"**Invalid id!**\nChoose from this list:\n_"+msgIds.join("_\n_")+"_"})
|
||||
|
||||
const {embed,componentRows} = require("../core/ticketMessageEmbed").createEmbed(id)
|
||||
|
||||
interaction.reply({content:"The embed is in the message below!"})
|
||||
interaction.channel.send({embeds:[embed],components:componentRows})
|
||||
|
||||
if (config.logs){console.log("[command] "+config.prefix+"ticket msg (user:"+interaction.member.user.username+")")}
|
||||
if (config.logs){console.log("[system] created ticket message")}
|
||||
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user