From a0b1853bffab81b4dc5afdaab1c81d451c314bd4 Mon Sep 17 00:00:00 2001 From: Isaac Date: Thu, 25 Feb 2021 09:58:19 +0000 Subject: [PATCH] Do things --- README.md | 12 +++----- src/commands/new.js | 2 +- src/index.js | 6 +++- src/modules/commands/command.js | 31 +++++--------------- src/modules/commands/manager.js | 2 +- src/modules/{tickets/index.js => tickets.js} | 0 user/example.config.js | 6 ++-- 7 files changed, 22 insertions(+), 37 deletions(-) rename src/modules/{tickets/index.js => tickets.js} (100%) diff --git a/README.md b/README.md index d2a3a68..90b7a55 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ DiscordTickets is a Discord bot for creating and managing "support ticket" chann DiscordTickets is feature-rich and much more customisable than many of the bots mentioned above. As it is intended for self-hosting, the bot can have your community or company's logo, for free. -Although intended for use in a single Discord server, the bot can also function in multiple servers at once if run more than one community. +Although intended for use in a single Discord server, the bot can also function in multiple servers at once if you run more than one community. ### Features @@ -91,20 +91,16 @@ For contributing instructions, or to find out all of the ways you can contribute ## Contributors - -[![All Contributors](https://img.shields.io/badge/all_contributors-13-orange.svg?style=flat-square)](https://github.com/eartharoid/DiscordTickets/blob/master/CONTRIBUTORS.md) - - Thank you to everyone to has contributed to DiscordTickets, including everyone who has: - Contributed code - Translated - Improved documentation -- Supported and helped others -- Created resources such as tutorials -- Created a public plugin - Reported bugs - Requested a feature +- Given help or support to other users +- Created a public plugin +- Created resources such as tutorials **A full list of contributors can be found in [CONTRIBUTORS.md](https://github.com/eartharoid/DiscordTickets/blob/master/CONTRIBUTORS.md).** diff --git a/src/commands/new.js b/src/commands/new.js index 4c163e9..18ed82d 100644 --- a/src/commands/new.js +++ b/src/commands/new.js @@ -32,7 +32,7 @@ module.exports = class NewCommand extends Command { let settings = await guild.settings; const i18n = this.client.i18n.get(settings.locale); - channel.send( + await channel.send( new MessageEmbed() .setColor(settings.colour) .setTitle(i18n('bot.version', require('../../package.json').version)) diff --git a/src/index.js b/src/index.js index 8a88ee6..315de8d 100644 --- a/src/index.js +++ b/src/index.js @@ -86,6 +86,7 @@ const log = new Logger({ const { selectPresence } = require('./utils/discord'); const I18n = require('@eartharoid/i18n'); const { CommandManager } = require('./modules/commands'); +const TicketManager = require('./modules/tickets'); const { PluginManager } = require('./modules/plugins'); require('./modules/structures')(); // load extended structures before creating the client @@ -131,6 +132,9 @@ class Bot extends Client { require('./updater')(this); // check for updates require('./modules/listeners')(this); // load internal listeners + /** The ticket manager */ + this.tickets = new TicketManager(this); + /** The command manager, used by internal and plugin commands */ this.commands = new CommandManager(this); @@ -153,7 +157,7 @@ process.on('unhandledRejection', error => { log.notice('PLEASE INCLUDE THIS INFORMATION IF YOU ASK FOR HELP ABOUT THE FOLLOWING ERROR:'); log.notice(`Discord Tickets v${version}, Node v${process.versions.node} on ${process.platform}`); log.warn('An error was not caught'); - if (error instanceof Error) log.warn(`Uncaught ${error.name}: ${error}`); + if (error instanceof Error) log.warn(`Uncaught ${error.name}`); log.error(error); }); diff --git a/src/modules/commands/command.js b/src/modules/commands/command.js index d13b701..8aaf0b0 100644 --- a/src/modules/commands/command.js +++ b/src/modules/commands/command.js @@ -12,11 +12,11 @@ const Plugin = require('../plugins/plugin'); */ module.exports = class Command { /** - * A command option choice - * @typedef CommandOptionChoice + * A command option choice + * @typedef CommandOptionChoice * @property {string} name - Choice name (1-100) * @property {(string|number)} value - choice value - */ + */ /** * A command option @@ -173,10 +173,11 @@ module.exports = class Command { * @param {*} content - Message content * @param {boolean} secret - Ephemeral message? **NOTE: EMBEDS AND ATTACHMENTS DO NOT RENDER IF TRUE** */ - async sendResponse(interaction, content, secret) { - const send = this.client.api.webhooks(this.client.fetchApplication().id, interaction.token).messages['@original'].patch; + async respond(interaction, content, secret) { + let application = await this.client.fetchApplication(); + const send = this.client.api.webhooks(application.id, interaction.token).messages['@original'].patch; if (typeof content === 'object') - send({ + await send({ data: { type: 4, data: { @@ -186,7 +187,7 @@ module.exports = class Command { } }); else if (typeof content === 'string') - send({ + await send({ data: { type: 4, data: { @@ -196,20 +197,4 @@ module.exports = class Command { } }); } - - /** - * Edit the original interaction response - * @param {Interaction} interaction - Interaction object - * @param {*} content - Message content - */ - async editResponse(interaction, content) { - if (typeof content === 'object') - this.client.api.interactions(interaction.id, interaction.token).messages.patch({ - embeds: content - }); - else - this.client.api.interactions(interaction.id, interaction.token).messages.patch({ - content - }); - } }; \ No newline at end of file diff --git a/src/modules/commands/manager.js b/src/modules/commands/manager.js index bd54e73..3c633dc 100644 --- a/src/modules/commands/manager.js +++ b/src/modules/commands/manager.js @@ -7,7 +7,7 @@ const fs = require('fs'); const { path } = require('../../utils/fs'); /** - * Manages the loading of commands + * Manages the loading and execution of commands */ module.exports = class CommandManager { /** diff --git a/src/modules/tickets/index.js b/src/modules/tickets.js similarity index 100% rename from src/modules/tickets/index.js rename to src/modules/tickets.js diff --git a/user/example.config.js b/user/example.config.js index 22d29ba..fd03f1d 100644 --- a/user/example.config.js +++ b/user/example.config.js @@ -41,16 +41,16 @@ module.exports = { presence: { presences: [ { - activity: '/new | /help', + activity: '/new', type: 'PLAYING', status: 'online' }, { - activity: 'with tickets | /help', + activity: 'with tickets', type: 'PLAYING' }, { - activity: 'for new tickets | /help', + activity: 'for new tickets', type: 'WATCHING' }, /* { // an example