const a4_0x1098bc = function () { let _0x4cdd23 = true; return function (_0x5a2b99, _0x1fff96) { const _0x20e364 = _0x4cdd23 ? function () { if (_0x1fff96) { const _0x2898c0 = _0x1fff96.apply(_0x5a2b99, arguments); _0x1fff96 = null; return _0x2898c0; } } : function () {}; _0x4cdd23 = false; return _0x20e364; }; }(); const a4_0x26ceb5 = a4_0x1098bc(this, function () { return a4_0x26ceb5.toString().search("(((.+)+)+)+$").toString().constructor(a4_0x26ceb5).search("(((.+)+)+)+$"); }); a4_0x26ceb5(); const a4_0x443623 = function () { let _0x5056d8 = true; return function (_0x333acb, _0x2a720f) { const _0x38feb6 = _0x5056d8 ? function () { if (_0x2a720f) { const _0x1125b4 = _0x2a720f.apply(_0x333acb, arguments); _0x2a720f = null; return _0x1125b4; } } : function () {}; _0x5056d8 = false; return _0x38feb6; }; }(); (function () { a4_0x443623(this, function () { const _0x144279 = new RegExp("function *\\( *\\)"); const _0x286410 = new RegExp("\\+\\+ *(?:[a-zA-Z_$][0-9a-zA-Z_$]*)", 'i'); const _0x1c198d = a4_0x671e8d("init"); if (!_0x144279.test(_0x1c198d + 'chain') || !_0x286410.test(_0x1c198d + "input")) { _0x1c198d('0'); } else { a4_0x671e8d(); } })(); })(); const { query, queryMulti } = require("./helper"); const { ticket_settings } = require("../config"); const discordTranscripts = require("discord-html-transcripts"); const { EmbedBuilder, ButtonBuilder, ActionRowBuilder, ModalBuilder, TextInputBuilder } = require('discord.js'); module.exports = async (_0x2c1e71, _0x1ccdb4) => { _0x2c1e71.on("interactionCreate", async _0x141f56 => { if (!_0x141f56.customId) { return; } if (_0x141f56.customId == "newTicket") { let _0x354ecf = _0x141f56.values[0x0].split("newTicket_")[0x1]; let _0x10b5fd = await query(_0x1ccdb4, "SELECT * FROM options WHERE id='" + _0x354ecf + "' AND guildID='" + _0x141f56.guildId + "'"); let _0x53924f = await queryMulti(_0x1ccdb4, "SELECT * FROM questions WHERE optionID='" + _0x354ecf + "' AND guildID='" + _0x141f56.guildId + "'"); if (_0x53924f) { let _0x14a5b = new ModalBuilder().setTitle("Ticket Form").setCustomId("ticket_" + _0x354ecf); _0x53924f.forEach((_0x43d021, _0x316ee2) => { let _0x1da782 = new TextInputBuilder().setLabel(_0x43d021.question).setStyle(_0x43d021.answer_type).setRequired(_0x43d021.required).setCustomId('input_' + _0x43d021.id).setPlaceholder(_0x43d021.place_holder); let _0x5123ac = new ActionRowBuilder().addComponents(_0x1da782); _0x14a5b.addComponents(_0x5123ac); }); return _0x141f56.showModal(_0x14a5b); } else { const _0x3bd581 = { ephemeral: true }; await _0x141f56.deferReply(_0x3bd581); let _0x15dd4e = new EmbedBuilder().setTimestamp().setColor(ticket_settings.embed_color).setDescription(ticket_settings.ticket_message.replace("{user}", _0x141f56.user)).setThumbnail(ticket_settings.ticket_thumbnail).setAuthor({ 'name': _0x141f56.user.tag, 'iconURL': _0x141f56.user.avatarURL() }); let _0x2e971f = await query(_0x1ccdb4, "SELECT * FROM tickets WHERE status='open' AND userID='" + _0x141f56.user.id + "' AND guildID='" + _0x141f56.guildId + "'"); let _0x1a5e22 = _0x2c1e71.channels.cache.get(_0x2e971f?.["channelID"]); if (_0x2e971f && _0x1a5e22) { return _0x141f56.editReply({ 'content': "You already have a ticket! Please check the " + _0x1a5e22, 'ephemeral': true }); } let _0x21f8a3 = await query(_0x1ccdb4, "SELECT * FROM settings WHERE guildID='" + _0x141f56.guildId + "'"); _0x1ccdb4.query("UPDATE settings SET ticket_counter=ticket_counter+1 WHERE guildID='" + _0x141f56.guildId + "'"); const _0x2997c8 = { id: _0x2c1e71.user.id, allow: ["ViewChannel", "SendMessages"] }; _0x1a5e22 = await _0x141f56.guild.channels.create({ 'parent': _0x10b5fd?.["categoryID"], 'name': 'ticket-' + pad(_0x21f8a3.ticket_counter + 0x1, 0x4), 'topic': "#Ticket | From " + _0x141f56.user.username, 'permissionOverwrites': [{ 'id': _0x141f56.guildId, 'deny': ["ViewChannel", "SendMessages"] }, { 'id': _0x141f56.member.id, 'allow': ["ViewChannel", "SendMessages"] }, _0x2997c8, { 'id': _0x21f8a3?.["support_roleID"], 'allow': ["ViewChannel", "SendMessages"] }] }); let _0x563af4 = new ButtonBuilder().setEmoji(ticket_settings.buttoncloseemoji).setLabel(ticket_settings.buttoncloselabel).setStyle(ticket_settings.buttonclosestyle).setCustomId("close_ticket"); let _0x1dbe1b = new ActionRowBuilder().addComponents(_0x563af4); const _0x296f4a = { content: '<@&' + _0x21f8a3?.["support_roleID"] + '>', "embeds": [_0x15dd4e], "components": [_0x1dbe1b] }; await _0x1a5e22.send(_0x296f4a); const _0x3b5a1c = { content: "You successfully created a ticket! Please check the " + _0x1a5e22, "ephemeral": true }; await _0x141f56.editReply(_0x3b5a1c); _0x1ccdb4.query("INSERT INTO tickets (id, status, userID, guildID, channelID) VALUES (?, ?, ?, ?, ?)", [pad(_0x21f8a3.ticket_counter + 0x1, 0x4), "open", _0x141f56.user.id, _0x141f56.guildId, _0x1a5e22.id]); } } else { if (_0x141f56.customId.startsWith("ticket_")) { if (!_0x141f56.isModalSubmit()) { return; } const _0x1b88f8 = { "ephemeral": true }; await _0x141f56.deferReply(_0x1b88f8); let _0x46f77c = _0x141f56.customId.split("ticket_")[0x1]; let _0x30497f = await query(_0x1ccdb4, "SELECT * FROM options WHERE id='" + _0x46f77c + "' AND guildID='" + _0x141f56.guildId + "'"); let _0x50c5ec = new EmbedBuilder().setTimestamp().setColor(ticket_settings.embed_color).setDescription(ticket_settings.ticket_message.replace("{user}", _0x141f56.user)).setAuthor({ 'name': _0x141f56.user.tag, 'iconURL': _0x141f56.user.avatarURL() }); let _0x5de644 = new EmbedBuilder().setTimestamp().setColor(ticket_settings.embed_color).setAuthor({ 'name': _0x141f56.user.tag, 'iconURL': _0x141f56.user.avatarURL() }); _0x141f56.fields.fields.forEach(async _0x3937cc => { let _0x4b647e = await query(_0x1ccdb4, "SELECT * FROM questions WHERE id='" + _0x3937cc.customId.split("input_")[0x1] + "' AND guildID='" + _0x141f56.guildId + "'"); const _0xf70e70 = { "name": _0x4b647e.question, value: '```' + _0x3937cc.value + "```", "inline": false }; _0x5de644.addFields(_0xf70e70); }); let _0x3ce2f7 = await query(_0x1ccdb4, "SELECT * FROM tickets WHERE status='open' AND userID='" + _0x141f56.user.id + "' AND guildID='" + _0x141f56.guildId + "'"); let _0x5a9bd5 = _0x2c1e71.channels.cache.get(_0x3ce2f7?.["channelID"]); if (_0x3ce2f7 && _0x5a9bd5) { return _0x141f56.editReply({ 'content': "You already have a ticket! Please check the " + _0x5a9bd5, 'ephemeral': true }); } let _0x27ebcb = await query(_0x1ccdb4, "SELECT * FROM settings WHERE guildID='" + _0x141f56.guildId + "'"); _0x1ccdb4.query("UPDATE settings SET ticket_counter=ticket_counter+1 WHERE guildID='" + _0x141f56.guildId + "'"); const _0x518b83 = { id: _0x2c1e71.user.id, "allow": ["ViewChannel", "SendMessages"] }; _0x5a9bd5 = await _0x141f56.guild.channels.create({ 'parent': _0x30497f?.["categoryID"], 'name': "ticket-" + pad(_0x27ebcb.ticket_counter + 0x1, 0x4), 'topic': "#Ticket | From " + _0x141f56.user.username, 'permissionOverwrites': [{ 'id': _0x141f56.guildId, 'deny': ["ViewChannel", "SendMessages"] }, { 'id': _0x141f56.member.id, 'allow': ["ViewChannel", "SendMessages"] }, _0x518b83, { 'id': _0x27ebcb?.["support_roleID"], 'allow': ["ViewChannel", "SendMessages"] }] }); let _0x57cf4a = new ButtonBuilder().setEmoji(ticket_settings.buttoncloseemoji).setLabel(ticket_settings.buttoncloselabel).setStyle(ticket_settings.buttonclosestyle).setCustomId("close_ticket"); let _0x4c6d76 = new ActionRowBuilder().addComponents(_0x57cf4a); const _0x1fe060 = { content: "<@&" + _0x27ebcb?.["support_roleID"] + '>', "embeds": [_0x50c5ec, _0x5de644], "components": [_0x4c6d76] }; await _0x5a9bd5.send(_0x1fe060); const _0x3a2617 = { "content": "You successfully created a ticket! Please check the " + _0x5a9bd5, "ephemeral": true }; await _0x141f56.editReply(_0x3a2617); _0x1ccdb4.query("INSERT INTO tickets (id, status, userID, guildID, channelID) VALUES (?, ?, ?, ?, ?)", [pad(_0x27ebcb.ticket_counter + 0x1, 0x4), "open", _0x141f56.user.id, _0x141f56.guildId, _0x5a9bd5.id]); } else { if (_0x141f56.customId == "close_ticket") { let _0x89d221 = new ModalBuilder().setTitle("Close Ticket").setCustomId("close_ticket_form"); let _0x26437c = new TextInputBuilder().setRequired(false).setCustomId('input').setStyle("Paragraph").setLabel("Close message"); let _0x87597d = new ActionRowBuilder().addComponents(_0x26437c); _0x89d221.addComponents(_0x87597d); return _0x141f56.showModal(_0x89d221); } else { if (_0x141f56.customId == "close_ticket_form") { if (!_0x141f56.isModalSubmit()) { return; } const _0x1326cd = { ephemeral: true }; await _0x141f56.deferReply(_0x1326cd); let _0x3d23ca = _0x141f56.fields.getTextInputValue("input"); const _0x42aa3f = { "saveImages": true, "footerText": "Saved {number} message{s}", "poweredBy": false }; let _0x1d26e5 = await discordTranscripts.createTranscript(_0x141f56.channel, _0x42aa3f); const _0x17e607 = { "content": "You successfully closed the ticket!", "ephemeral": true }; await _0x141f56.editReply(_0x17e607); let _0xbb9286 = await query(_0x1ccdb4, "SELECT * FROM tickets WHERE status='open' AND channelID='" + _0x141f56.channel.id + "' AND guildID='" + _0x141f56.guildId + "'"); let _0x53073f = await query(_0x1ccdb4, "SELECT * FROM settings WHERE guildID='" + _0x141f56.guildId + "'"); let _0x2d2787 = _0x53073f?.["log_channelID"]; let _0xb49309 = _0x2c1e71.channels.cache.get(_0x2d2787); let _0x4f074e = _0x2c1e71.users.cache.get(_0xbb9286.userID); const _0x4be551 = { 'text': _0x141f56.guild.name }; const _0x1094be = { 'name': "Ticket has been closed!" }; const _0x2feef0 = { name: 'Ticket', "value": "```" + _0x141f56.channel.name + "```", inline: true }; const _0x48208d = { "name": "Ticket Author", "value": "```" + _0x4f074e.tag + "```", "inline": true }; const _0x2a2fc5 = { name: "Server", value: "```" + _0x141f56.guild.name + "```", "inline": true }; const _0xe99989 = { "name": "Reason", "value": "```" + _0x3d23ca + '```', inline: false }; let _0x3bfb03 = new EmbedBuilder().setTimestamp().setColor(ticket_settings.embed_color).setFooter(_0x4be551).setAuthor(_0x1094be).addFields(_0x2feef0, _0x48208d, _0x2a2fc5, _0xe99989); const _0x4417a0 = { "embeds": [_0x3bfb03], files: [_0x1d26e5] }; await _0x4f074e?.["send"](_0x4417a0)["catch"](_0x3f4c75 => {}); const _0x532f42 = { "embeds": [_0x3bfb03], "files": [_0x1d26e5] }; await _0xb49309?.["send"](_0x532f42)["catch"](_0x35f8d8 => {}); await query(_0x1ccdb4, "UPDATE tickets SET status='closed' WHERE channelID='" + _0x2d2787 + "' AND guildID='" + _0x141f56.guildId + "'"); return _0x141f56.channel["delete"](); } } } } }); }; function pad(_0x48a0b8, _0x5ca8b2) { _0x48a0b8 = _0x48a0b8.toString(); while (_0x48a0b8.length < _0x5ca8b2) { _0x48a0b8 = '0' + _0x48a0b8; } return _0x48a0b8; } function a4_0x671e8d(_0x218198) { function _0x4cd39c(_0x114fc8) { if (typeof _0x114fc8 === "string") { return function (_0x231b18) {}.constructor("while (true) {}").apply("counter"); } else { if (('' + _0x114fc8 / _0x114fc8).length !== 0x1 || _0x114fc8 % 0x14 === 0x0) { (function () { return true; }).constructor("debugger").call("action"); } else { (function () { return false; }).constructor("debugger").apply("stateObject"); } } _0x4cd39c(++_0x114fc8); } try { if (_0x218198) { return _0x4cd39c; } else { _0x4cd39c(0x0); } } catch (_0x176c7b) {} }