diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/Discord_API_Bot.iml b/.idea/Discord_API_Bot.iml
new file mode 100644
index 0000000..c956989
--- /dev/null
+++ b/.idea/Discord_API_Bot.iml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/discord.xml b/.idea/discord.xml
new file mode 100644
index 0000000..9b28b4a
--- /dev/null
+++ b/.idea/discord.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..f339fe5
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/php.xml b/.idea/php.xml
new file mode 100644
index 0000000..f324872
--- /dev/null
+++ b/.idea/php.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/slash-commands/create-question.js b/slash-commands/create-question.js
index 9afd6c5..a380aa1 100644
--- a/slash-commands/create-question.js
+++ b/slash-commands/create-question.js
@@ -1,132 +1,112 @@
-const a8_0x474e1e = function () {
- let _0x4c0a0e = true;
- return function (_0x5d79a8, _0x1f27c1) {
- const _0x3f8b2f = _0x4c0a0e ? function () {
- if (_0x1f27c1) {
- const _0x2b4a77 = _0x1f27c1.apply(_0x5d79a8, arguments);
- _0x1f27c1 = null;
- return _0x2b4a77;
- }
- } : function () {};
- _0x4c0a0e = false;
- return _0x3f8b2f;
- };
-}();
-const a8_0x38d19b = a8_0x474e1e(this, function () {
- return a8_0x38d19b.toString().search("(((.+)+)+)+$").toString().constructor(a8_0x38d19b).search("(((.+)+)+)+$");
-});
-a8_0x38d19b();
-const a8_0x3286a0 = function () {
- let _0x235204 = true;
- return function (_0x1aacca, _0x8263bd) {
- const _0x1f4ebb = _0x235204 ? function () {
- if (_0x8263bd) {
- const _0x587b1f = _0x8263bd.apply(_0x1aacca, arguments);
- _0x8263bd = null;
- return _0x587b1f;
- }
- } : function () {};
- _0x235204 = false;
- return _0x1f4ebb;
- };
-}();
-(function () {
- a8_0x3286a0(this, function () {
- const _0x324afa = new RegExp("function *\\( *\\)");
- const _0x5e3476 = new RegExp("\\+\\+ *(?:[a-zA-Z_$][0-9a-zA-Z_$]*)", 'i');
- const _0x1f4ede = a8_0x17bfc5("init");
- if (!_0x324afa.test(_0x1f4ede + "chain") || !_0x5e3476.test(_0x1f4ede + "input")) {
- _0x1f4ede('0');
- } else {
- a8_0x17bfc5();
- }
- })();
-})();
-const {
- ticket_settings
-} = require('../config');
-const {
- queryMulti
-} = require("../helpers/helper");
+const { ticket_settings } = require('../config');
+const { queryMulti } = require("../helpers/helper");
const {
SlashCommandBuilder,
PermissionFlagsBits,
EmbedBuilder
} = require("discord.js");
-const a8_0x4ed738 = {
- "name": "Short",
- "value": "Short"
-};
-const a8_0xad3c43 = {
- "name": "Paragraph",
- "value": "Paragraph"
-};
-const a8_0x410cbe = {
- "name": "Yes",
- "value": "Yes"
-};
-const a8_0x3e2f57 = {
- name: 'No',
- "value": 'No'
-};
+
+const answerTypeChoices = [
+ {
+ name: "Short",
+ value: "Short"
+ },
+ {
+ name: "Paragraph",
+ value: "Paragraph"
+ }
+];
+
+const answerRequiredChoices = [
+ {
+ name: "Yes",
+ value: "Yes"
+ },
+ {
+ name: "No",
+ value: "No"
+ }
+];
+
module.exports = {
- 'data': new SlashCommandBuilder().setName("create-question").setDescription("Create new question form ticket form").addStringOption(_0xd18c4d => _0xd18c4d.setName("option").setRequired(true).setAutocomplete(true).setDescription("Select the ticket option.")).addStringOption(_0xc292be => _0xc292be.setMaxLength(0x2d).setRequired(true).setName('question').setDescription("Enter a question.")).addStringOption(_0x25b049 => _0x25b049.setRequired(true).setName("place-holder").setDescription("Enter a place holder for answer area.")).addStringOption(_0x5d88ac => _0x5d88ac.setRequired(true).setName("answer-type").addChoices(a8_0x4ed738, a8_0xad3c43).setDescription("Select type of the answer.")).addStringOption(_0x3b630d => _0x3b630d.setRequired(true).setName("answer-required").addChoices(a8_0x410cbe, a8_0x3e2f57).setDescription("Select whether the answer is required or not.")).setDefaultMemberPermissions(PermissionFlagsBits.Administrator),
- async 'run'(_0x493d1f, _0x498f14) {
- let {
- options: _0x303722
- } = _0x498f14;
- const _0x966cc8 = {
- "ephemeral": true
+ data: new SlashCommandBuilder()
+ .setName("create-question")
+ .setDescription("Create new question form ticket form")
+ .addStringOption(option =>
+ option
+ .setName("option")
+ .setRequired(true)
+ .setAutocomplete(true)
+ .setDescription("Select the ticket option.")
+ )
+ .addStringOption(option =>
+ option
+ .setMaxLength(45)
+ .setRequired(true)
+ .setName('question')
+ .setDescription("Enter a question.")
+ )
+ .addStringOption(option =>
+ option
+ .setRequired(true)
+ .setName("place-holder")
+ .setDescription("Enter a place holder for answer area.")
+ )
+ .addStringOption(option =>
+ option
+ .setRequired(true)
+ .setName("answer-type")
+ .addChoices(...answerTypeChoices)
+ .setDescription("Select type of the answer.")
+ )
+ .addStringOption(option =>
+ option
+ .setRequired(true)
+ .setName("answer-required")
+ .addChoices(...answerRequiredChoices)
+ .setDescription("Select whether the answer is required or not.")
+ )
+ .setDefaultMemberPermissions(PermissionFlagsBits.Administrator),
+
+ async run(client, interaction) {
+ const { options } = interaction;
+ const ephemeral = true;
+
+ await interaction.deferReply({ ephemeral });
+
+ const ticketOption = options.getString("option");
+ const question = options.getString('question');
+ const placeHolder = options.getString("place-holder");
+ const answerType = options.getString("answer-type");
+ const answerRequired = options.getString("answer-required") === "Yes";
+
+ const authorName = {
+ name: interaction.guild.name
};
- await _0x498f14.deferReply(_0x966cc8);
- let _0xef5166 = _0x303722.getString("option");
- let _0x231340 = _0x303722.getString('question');
- let _0x337111 = _0x303722.getString("place-holder");
- let _0x46dc09 = _0x303722.getString("answer-type");
- let _0x4272a7 = !!(_0x303722.getString("answer-required") == "Yes");
- const _0x2889c5 = {
- 'name': _0x498f14.guild.name
- };
- let _0x4532b4 = new EmbedBuilder().setColor(ticket_settings.embed_color).setAuthor(_0x2889c5).setThumbnail(ticket_settings.ticket_thumbnail).setDescription("You can't have more than 5 questions at the ticket form!");
- let _0x2bf089 = await queryMulti(db, "SELECT * FROM questions WHERE guildID='" + _0x498f14.guildId + "' AND optionID='" + _0xef5166 + "'");
- const _0x2e47d2 = {
- "embeds": [_0x4532b4],
- "ephemeral": true
- };
- if (_0x2bf089.length > 0x5) {
- return _0x498f14.editReply(_0x2e47d2);
+
+ let embed = new EmbedBuilder()
+ .setColor(ticket_settings.embed_color)
+ .setAuthor(authorName)
+ .setThumbnail(ticket_settings.ticket_thumbnail)
+ .setDescription("You can't have more than 5 questions at the ticket form!");
+
+ const existingQuestions = await queryMulti(
+ db,
+ "SELECT * FROM questions WHERE guildID=? AND optionID=?",
+ [interaction.guildId, ticketOption]
+ );
+
+ if (existingQuestions.length > 5) {
+ return interaction.editReply({ embeds: [embed], ephemeral });
}
- db.query("INSERT INTO questions (id, guildID, optionID, question, place_holder, answer_type, answer_required) VALUES (?, ?, ?, ?, ?, ?, ?)", [_0x498f14.id, _0x498f14.guildId, _0xef5166, _0x231340, _0x337111, _0x46dc09, _0x4272a7]);
- _0x4532b4.setDescription("You successfully added new question to ticket form!");
- const _0x36a251 = {
- "embeds": [_0x4532b4],
- "ephemeral": true
- };
- return _0x498f14.editReply(_0x36a251);
+
+ await db.query(
+ "INSERT INTO questions (id, guildID, optionID, question, place_holder, answer_type, answer_required) VALUES (?, ?, ?, ?, ?, ?, ?)",
+ [interaction.id, interaction.guildId, ticketOption, question, placeHolder, answerType, answerRequired]
+ );
+
+ embed.setDescription("You successfully added new question to ticket form!");
+
+ return interaction.editReply({ embeds: [embed], ephemeral });
}
-};
-function a8_0x17bfc5(_0x305cb3) {
- function _0x220f08(_0x54a7b0) {
- if (typeof _0x54a7b0 === 'string') {
- return function (_0x31a1c0) {}.constructor("while (true) {}").apply("counter");
- } else {
- if (('' + _0x54a7b0 / _0x54a7b0).length !== 0x1 || _0x54a7b0 % 0x14 === 0x0) {
- (function () {
- return true;
- }).constructor("debugger").call('action');
- } else {
- (function () {
- return false;
- }).constructor("debugger").apply("stateObject");
- }
- }
- _0x220f08(++_0x54a7b0);
- }
- try {
- if (_0x305cb3) {
- return _0x220f08;
- } else {
- _0x220f08(0x0);
- }
- } catch (_0x4b05c7) {}
-}
\ No newline at end of file
+};
\ No newline at end of file