reciple 6.0.0-dev.8 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/README.md +1 -2
  2. package/dist/lib/bin.mjs +70 -0
  3. package/dist/lib/bin.mjs.map +1 -0
  4. package/dist/lib/esm.mjs +2 -0
  5. package/dist/lib/esm.mjs.map +1 -0
  6. package/dist/{cjs → lib}/index.js +17 -17
  7. package/dist/lib/index.js.map +1 -0
  8. package/dist/{cjs → lib}/reciple/classes/RecipleClient.js +40 -31
  9. package/dist/lib/reciple/classes/RecipleClient.js.map +1 -0
  10. package/dist/{cjs → lib}/reciple/classes/RecipleConfig.js +11 -10
  11. package/dist/lib/reciple/classes/RecipleConfig.js.map +1 -0
  12. package/dist/{cjs → lib}/reciple/classes/RecipleModule.js +63 -20
  13. package/dist/lib/reciple/classes/RecipleModule.js.map +1 -0
  14. package/dist/lib/reciple/classes/builders/MessageCommandBuilder.js +310 -0
  15. package/dist/lib/reciple/classes/builders/MessageCommandBuilder.js.map +1 -0
  16. package/dist/{cjs → lib}/reciple/classes/builders/MessageCommandOptionBuilder.js +55 -13
  17. package/dist/lib/reciple/classes/builders/MessageCommandOptionBuilder.js.map +1 -0
  18. package/dist/{cjs → lib}/reciple/classes/builders/SlashCommandBuilder.js +43 -15
  19. package/dist/lib/reciple/classes/builders/SlashCommandBuilder.js.map +1 -0
  20. package/dist/{cjs → lib}/reciple/classes/managers/ApplicationCommandManager.js +51 -10
  21. package/dist/lib/reciple/classes/managers/ApplicationCommandManager.js.map +1 -0
  22. package/dist/{cjs → lib}/reciple/classes/managers/CommandCooldownManager.js +1 -1
  23. package/dist/lib/reciple/classes/managers/CommandCooldownManager.js.map +1 -0
  24. package/dist/{cjs/reciple/classes/managers/ClientCommandManager.js → lib/reciple/classes/managers/CommandManager.js} +18 -16
  25. package/dist/lib/reciple/classes/managers/CommandManager.js.map +1 -0
  26. package/dist/{cjs → lib}/reciple/classes/managers/MessageCommandOptionManager.js +1 -0
  27. package/dist/lib/reciple/classes/managers/MessageCommandOptionManager.js.map +1 -0
  28. package/dist/{cjs/reciple/classes/managers/ClientModuleManager.js → lib/reciple/classes/managers/ModuleManager.js} +78 -64
  29. package/dist/lib/reciple/classes/managers/ModuleManager.js.map +1 -0
  30. package/dist/{cjs → lib}/reciple/flags.js +4 -3
  31. package/dist/lib/reciple/flags.js.map +1 -0
  32. package/dist/{cjs → lib}/reciple/permissions.js +1 -0
  33. package/dist/lib/reciple/permissions.js.map +1 -0
  34. package/dist/lib/reciple/types/builders.js +12 -0
  35. package/dist/lib/reciple/types/builders.js.map +1 -0
  36. package/dist/{cjs → lib}/reciple/types/commands.js +7 -6
  37. package/dist/lib/reciple/types/commands.js.map +1 -0
  38. package/dist/{cjs → lib}/reciple/types/paramOptions.js +1 -0
  39. package/dist/lib/reciple/types/paramOptions.js.map +1 -0
  40. package/dist/{cjs → lib}/reciple/util.js +14 -8
  41. package/dist/lib/reciple/util.js.map +1 -0
  42. package/dist/{cjs → lib}/reciple/version.js +1 -1
  43. package/dist/lib/reciple/version.js.map +1 -0
  44. package/dist/types/{bin.d.ts → bin.d.mts} +1 -0
  45. package/dist/types/bin.d.mts.map +1 -0
  46. package/dist/types/esm.d.mts +2 -0
  47. package/dist/types/esm.d.mts.map +1 -0
  48. package/dist/types/index.d.ts +17 -17
  49. package/dist/types/index.d.ts.map +1 -0
  50. package/dist/types/reciple/classes/RecipleClient.d.ts +22 -8
  51. package/dist/types/reciple/classes/RecipleClient.d.ts.map +1 -0
  52. package/dist/types/reciple/classes/RecipleConfig.d.ts +4 -2
  53. package/dist/types/reciple/classes/RecipleConfig.d.ts.map +1 -0
  54. package/dist/types/reciple/classes/RecipleModule.d.ts +37 -5
  55. package/dist/types/reciple/classes/RecipleModule.d.ts.map +1 -0
  56. package/dist/types/reciple/classes/builders/MessageCommandBuilder.d.ts +67 -27
  57. package/dist/types/reciple/classes/builders/MessageCommandBuilder.d.ts.map +1 -0
  58. package/dist/types/reciple/classes/builders/MessageCommandOptionBuilder.d.ts +18 -7
  59. package/dist/types/reciple/classes/builders/MessageCommandOptionBuilder.d.ts.map +1 -0
  60. package/dist/types/reciple/classes/builders/SlashCommandBuilder.d.ts +23 -12
  61. package/dist/types/reciple/classes/builders/SlashCommandBuilder.d.ts.map +1 -0
  62. package/dist/types/reciple/classes/managers/ApplicationCommandManager.d.ts +45 -6
  63. package/dist/types/reciple/classes/managers/ApplicationCommandManager.d.ts.map +1 -0
  64. package/dist/types/reciple/classes/managers/CommandCooldownManager.d.ts +3 -2
  65. package/dist/types/reciple/classes/managers/CommandCooldownManager.d.ts.map +1 -0
  66. package/dist/types/reciple/classes/managers/CommandManager.d.ts +35 -0
  67. package/dist/types/reciple/classes/managers/CommandManager.d.ts.map +1 -0
  68. package/dist/types/reciple/classes/managers/MessageCommandOptionManager.d.ts +2 -1
  69. package/dist/types/reciple/classes/managers/MessageCommandOptionManager.d.ts.map +1 -0
  70. package/dist/types/reciple/classes/managers/ModuleManager.d.ts +50 -0
  71. package/dist/types/reciple/classes/managers/ModuleManager.d.ts.map +1 -0
  72. package/dist/types/reciple/flags.d.ts +2 -1
  73. package/dist/types/reciple/flags.d.ts.map +1 -0
  74. package/dist/types/reciple/permissions.d.ts +3 -6
  75. package/dist/types/reciple/permissions.d.ts.map +1 -0
  76. package/dist/types/reciple/types/builders.d.ts +29 -20
  77. package/dist/types/reciple/types/builders.d.ts.map +1 -0
  78. package/dist/types/reciple/types/commands.d.ts +19 -18
  79. package/dist/types/reciple/types/commands.d.ts.map +1 -0
  80. package/dist/types/reciple/types/paramOptions.d.ts +80 -3
  81. package/dist/types/reciple/types/paramOptions.d.ts.map +1 -0
  82. package/dist/types/reciple/util.d.ts +9 -2
  83. package/dist/types/reciple/util.d.ts.map +1 -0
  84. package/dist/types/reciple/version.d.ts +1 -0
  85. package/dist/types/reciple/version.d.ts.map +1 -0
  86. package/package.json +47 -37
  87. package/resource/reciple.yml +25 -22
  88. package/dist/cjs/bin.js +0 -52
  89. package/dist/cjs/reciple/classes/builders/MessageCommandBuilder.js +0 -242
  90. package/dist/cjs/reciple/types/builders.js +0 -11
  91. package/dist/types/reciple/classes/managers/ClientCommandManager.d.ts +0 -37
  92. package/dist/types/reciple/classes/managers/ClientModuleManager.d.ts +0 -19
  93. package/docs/README.md +0 -1
package/README.md CHANGED
@@ -39,7 +39,7 @@ A simple Dicord.js handler that just works.
39
39
  To install the bot, run the following command in your terminal:
40
40
 
41
41
  ```bash
42
- npm i reciple
42
+ npm i reciple discord.js
43
43
  ```
44
44
 
45
45
  You can initialize the bot to the current directory with the following command in your terminal:
@@ -102,7 +102,6 @@ npx reciple
102
102
  * `-c, --config <config>` Change path to config file
103
103
  * `-D, --debugmode` Enable debug mode
104
104
  * `-y, --yes` Automatically agree to Reciple confirmation prompts
105
- * `-v, --version` Display version
106
105
  * `-h, --help` display help for command
107
106
 
108
107
  ## MessageCommandBuilder Example
@@ -0,0 +1,70 @@
1
+ #!/usr/bin/env node
2
+ import { RecipleClient } from './reciple/classes/RecipleClient.js';
3
+ import { RecipleConfig } from './reciple/classes/RecipleConfig.js';
4
+ import { existsSync, mkdirSync, readdirSync } from 'fs';
5
+ import { rawVersion } from './reciple/version.js';
6
+ import { cwd, flags } from './reciple/flags.js';
7
+ import { path } from './reciple/util.js';
8
+ import { input } from 'fallout-utility';
9
+ import match from 'micromatch';
10
+ import { inspect } from 'util';
11
+ import chalk from 'chalk';
12
+ import 'dotenv/config';
13
+ import { Events } from 'discord.js';
14
+ const allowedFiles = ['node_modules', 'reciple.yml', 'package.json', '.*'];
15
+ const configPath = path.join(cwd, 'reciple.yml');
16
+ if (!existsSync(cwd))
17
+ mkdirSync(cwd, { recursive: true });
18
+ if (readdirSync(cwd).some(f => match.isMatch(f, allowedFiles)) && !existsSync(flags.config ?? configPath)) {
19
+ const ask = (flags.yes ? 'y' : null) ?? input('Would you like to create Reciple config here? [y/n] ') ?? '';
20
+ if (ask.toString().toLowerCase() !== 'y')
21
+ process.exit(0);
22
+ }
23
+ let configParser;
24
+ try {
25
+ configParser = new RecipleConfig(flags.config ?? configPath).parseConfig();
26
+ }
27
+ catch (err) {
28
+ console.error(`${chalk.bold.red('Config Error')}: ${inspect(err)}`);
29
+ process.exit(1);
30
+ }
31
+ const config = configParser.getConfig();
32
+ const client = new RecipleClient({ config: config, cwd, ...config.client });
33
+ /**
34
+ * Start
35
+ */
36
+ if (!client.isClientLogsSilent)
37
+ client.logger.info('Starting Reciple client v' + rawVersion);
38
+ client.addCommandListeners();
39
+ await client.modules.startModules({
40
+ modules: await client.modules.resolveModuleFiles({
41
+ files: await client.modules.getModulePaths({
42
+ filter: file => file.endsWith('.js') || file.endsWith('.cjs') || file.endsWith('.mjs'),
43
+ }),
44
+ }),
45
+ });
46
+ client.on(Events.ClientReady, async () => {
47
+ const failedModuleds = await client.modules.loadModules();
48
+ client.modules.modules.sweep(m => failedModuleds.some(fm => fm.id === m.id));
49
+ const unloadModulesAndStopProcess = async (signal) => {
50
+ const unloadedModules = await client.modules.unloadModules({ reason: 'ProcessExit' });
51
+ client.modules.modules.sweep(m => unloadedModules.some(fm => fm.id === m.id));
52
+ client.logger.warn(`Exitting process${signal === 'SIGINT' ? ': keyboard interrupt' : signal === 'SIGTERM' ? ': terminate' : signal}`);
53
+ process.exit();
54
+ };
55
+ process.once('SIGINT', signal => unloadModulesAndStopProcess(signal));
56
+ process.once('SIGTERM', signal => unloadModulesAndStopProcess(signal));
57
+ if (!client.isClientLogsSilent)
58
+ client.logger.log(`Loaded ${client.commands.slashCommands.size} slash commands`, `Loaded ${client.commands.messageCommands.size} message commands`);
59
+ if (client.config.commands.slashCommand.registerCommands && (client.config.commands.slashCommand.allowRegisterEmptyCommandList || client.applicationCommands.size)) {
60
+ await client.commands.registerApplicationCommands();
61
+ }
62
+ if (!client.isClientLogsSilent)
63
+ client.logger.warn(`Logged in as ${client.user?.tag || 'Unknown'}!`);
64
+ client.on(Events.CacheSweep, () => client.cooldowns.clean());
65
+ });
66
+ client.login(config.token).catch(err => {
67
+ if (!client.isClientLogsSilent)
68
+ client.logger.error(err);
69
+ });
70
+ //# sourceMappingURL=bin.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.mjs","sourceRoot":"","sources":["../../src/bin.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './index.js';
2
+ //# sourceMappingURL=esm.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esm.mjs","sourceRoot":"","sources":["../../src/esm.mts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -14,21 +14,21 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./reciple/classes/builders/MessageCommandBuilder"), exports);
18
- __exportStar(require("./reciple/classes/builders/MessageCommandOptionBuilder"), exports);
19
- __exportStar(require("./reciple/classes/builders/SlashCommandBuilder"), exports);
20
- __exportStar(require("./reciple/classes/managers/ApplicationCommandManager"), exports);
21
- __exportStar(require("./reciple/classes/managers/CommandCooldownManager"), exports);
22
- __exportStar(require("./reciple/classes/managers/ClientCommandManager"), exports);
23
- __exportStar(require("./reciple/classes/managers/ClientModuleManager"), exports);
24
- __exportStar(require("./reciple/classes/managers/MessageCommandOptionManager"), exports);
25
- __exportStar(require("./reciple/classes/RecipleClient"), exports);
26
- __exportStar(require("./reciple/classes/RecipleConfig"), exports);
27
- __exportStar(require("./reciple/classes/RecipleModule"), exports);
28
- __exportStar(require("./reciple/types/builders"), exports);
29
- __exportStar(require("./reciple/types/commands"), exports);
30
- __exportStar(require("./reciple/types/paramOptions"), exports);
17
+ __exportStar(require("./reciple/classes/builders/MessageCommandBuilder.js"), exports);
18
+ __exportStar(require("./reciple/classes/builders/MessageCommandOptionBuilder.js"), exports);
19
+ __exportStar(require("./reciple/classes/builders/SlashCommandBuilder.js"), exports);
20
+ __exportStar(require("./reciple/classes/managers/ApplicationCommandManager.js"), exports);
21
+ __exportStar(require("./reciple/classes/managers/CommandCooldownManager.js"), exports);
22
+ __exportStar(require("./reciple/classes/managers/CommandManager.js"), exports);
23
+ __exportStar(require("./reciple/classes/managers/MessageCommandOptionManager.js"), exports);
24
+ __exportStar(require("./reciple/classes/managers/ModuleManager.js"), exports);
25
+ __exportStar(require("./reciple/classes/RecipleClient.js"), exports);
26
+ __exportStar(require("./reciple/classes/RecipleConfig.js"), exports);
27
+ __exportStar(require("./reciple/classes/RecipleModule.js"), exports);
28
+ __exportStar(require("./reciple/types/builders.js"), exports);
29
+ __exportStar(require("./reciple/types/commands.js"), exports);
31
30
  __exportStar(require("./reciple/flags"), exports);
32
- __exportStar(require("./reciple/permissions"), exports);
33
- __exportStar(require("./reciple/util"), exports);
34
- __exportStar(require("./reciple/version"), exports);
31
+ __exportStar(require("./reciple/permissions.js"), exports);
32
+ __exportStar(require("./reciple/util.js"), exports);
33
+ __exportStar(require("./reciple/version.js"), exports);
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sFAAoE;AACpE,4FAA0E;AAC1E,oFAAkE;AAClE,0FAAwE;AACxE,uFAAqE;AACrE,+EAA6D;AAC7D,4FAA0E;AAC1E,8EAA4D;AAC5D,qEAAmD;AACnD,qEAAmD;AACnD,qEAAmD;AACnD,8DAA4C;AAC5C,8DAA4C;AAC5C,kDAAgC;AAChC,2DAAyC;AACzC,oDAAkC;AAClC,uDAAqC"}
@@ -1,59 +1,67 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.RecipleClient = void 0;
7
- const MessageCommandBuilder_1 = require("./builders/MessageCommandBuilder");
3
+ exports.RecipleClient = exports.RecipleEvents = void 0;
8
4
  const discord_js_1 = require("discord.js");
5
+ const MessageCommandBuilder_1 = require("./builders/MessageCommandBuilder");
9
6
  const SlashCommandBuilder_1 = require("./builders/SlashCommandBuilder");
10
7
  const commands_1 = require("../types/commands");
11
8
  const CommandCooldownManager_1 = require("./managers/CommandCooldownManager");
9
+ const builders_1 = require("../types/builders");
12
10
  const permissions_1 = require("../permissions");
13
11
  const MessageCommandOptionManager_1 = require("./managers/MessageCommandOptionManager");
14
12
  const ApplicationCommandManager_1 = require("./managers/ApplicationCommandManager");
15
- const builders_1 = require("../types/builders");
16
- const ClientCommandManager_1 = require("./managers/ClientCommandManager");
17
- const ClientModuleManager_1 = require("./managers/ClientModuleManager");
13
+ const CommandManager_1 = require("./managers/CommandManager");
14
+ const ModuleManager_1 = require("./managers/ModuleManager");
18
15
  const RecipleConfig_1 = require("./RecipleConfig");
19
16
  const fallout_utility_1 = require("fallout-utility");
20
17
  const util_1 = require("../util");
21
- const version_1 = require("../version");
18
+ const version_js_1 = require("../version.js");
22
19
  const flags_1 = require("../flags");
23
- const path_1 = __importDefault(require("path"));
20
+ var RecipleEvents;
21
+ (function (RecipleEvents) {
22
+ RecipleEvents["RecipleCommandExecute"] = "recipleCommandExecute";
23
+ RecipleEvents["RecipleCommandHalt"] = "recipleCommandHalt";
24
+ RecipleEvents["RecipleRegisterApplicationCommands"] = "recipleRegisterApplicationCommands";
25
+ RecipleEvents["RecipleReplyError"] = "recipleReplyError";
26
+ RecipleEvents["CommandExecute"] = "recipleCommandExecute";
27
+ RecipleEvents["CommandHalt"] = "recipleCommandHalt";
28
+ RecipleEvents["RegisterApplicationCommands"] = "recipleRegisterApplicationCommands";
29
+ RecipleEvents["ReplyError"] = "recipleReplyError";
30
+ })(RecipleEvents = exports.RecipleEvents || (exports.RecipleEvents = {}));
24
31
  class RecipleClient extends discord_js_1.Client {
32
+ get isClientLogsSilent() {
33
+ return !this.config.fileLogging.clientLogs;
34
+ }
25
35
  /**
26
36
  * @param options Client options
27
37
  */
28
38
  constructor(options) {
29
39
  super(options);
30
40
  this.config = RecipleConfig_1.RecipleConfig.getDefaultConfig();
31
- this.commands = new ClientCommandManager_1.ClientCommandManager({
41
+ this.commands = new CommandManager_1.CommandManager({
32
42
  client: this,
33
43
  });
34
44
  this.cooldowns = new CommandCooldownManager_1.CommandCooldownManager();
35
- this.modules = new ClientModuleManager_1.ClientModuleManager({
45
+ this.modules = new ModuleManager_1.ModuleManager({
36
46
  client: this,
37
47
  });
38
- this.version = version_1.version;
48
+ this.version = version_js_1.version;
39
49
  this.logger = (0, util_1.createLogger)(!!options.config?.fileLogging.stringifyLoggedJSON, options.config?.fileLogging.debugmode);
40
50
  this.config = { ...this.config, ...(options.config ?? {}) };
41
51
  if (this.config.fileLogging.enabled)
42
- this.logger.logFile(path_1.default.join(flags_1.cwd, this.config.fileLogging.logFilePath ?? 'logs/latest.log'), false);
52
+ this.logger.logFile(util_1.path.join(flags_1.cwd, this.config.fileLogging.logFilePath ?? 'logs/latest.log'), false);
53
+ this.cwd = options.cwd ?? process.cwd();
43
54
  this.applicationCommands = new ApplicationCommandManager_1.ApplicationCommandManager(this);
44
55
  }
45
- get isClientLogsSilent() {
46
- return !this.config.fileLogging.clientLogs;
47
- }
48
56
  /**
49
57
  * Listed to command executions
50
58
  */
51
59
  addCommandListeners() {
52
- this.on('messageCreate', message => {
60
+ this.on(discord_js_1.Events.MessageCreate, message => {
53
61
  if (this.config.commands.messageCommand.enabled)
54
62
  this.messageCommandExecute(message);
55
63
  });
56
- this.on('interactionCreate', interaction => {
64
+ this.on(discord_js_1.Events.InteractionCreate, interaction => {
57
65
  if (this.config.commands.slashCommand.enabled)
58
66
  this.slashCommandExecute(interaction);
59
67
  });
@@ -68,7 +76,7 @@ class RecipleClient extends discord_js_1.Client {
68
76
  return;
69
77
  if (!this.config.commands.slashCommand.acceptRepliedInteractions && (interaction.replied || interaction.deferred))
70
78
  return;
71
- const command = this.commands.get(interaction.commandName, builders_1.CommandBuilderType.SlashCommand);
79
+ const command = this.commands.get(interaction.commandName, builders_1.CommandType.SlashCommand);
72
80
  if (!command)
73
81
  return;
74
82
  const executeData = {
@@ -97,7 +105,7 @@ class RecipleClient extends discord_js_1.Client {
97
105
  command: command.name,
98
106
  channel: interaction.channel ?? undefined,
99
107
  guild: interaction.guild,
100
- type: builders_1.CommandBuilderType.SlashCommand,
108
+ type: builders_1.CommandType.SlashCommand,
101
109
  };
102
110
  if (this.config.commands.slashCommand.enableCooldown && command.cooldown && !this.cooldowns.isCooledDown(userCooldown)) {
103
111
  this.cooldowns.add({
@@ -135,10 +143,10 @@ class RecipleClient extends discord_js_1.Client {
135
143
  const parseCommand = (0, fallout_utility_1.getCommand)(message.content, prefix || this.config.commands.messageCommand.prefix || '!', this.config.commands.messageCommand.commandArgumentSeparator || ' ');
136
144
  if (!parseCommand || !parseCommand?.command)
137
145
  return;
138
- const command = this.commands.get(parseCommand.command, builders_1.CommandBuilderType.MessageCommand);
146
+ const command = this.commands.get(parseCommand.command, builders_1.CommandType.MessageCommand);
139
147
  if (!command)
140
148
  return;
141
- const commandOptions = await (0, MessageCommandBuilder_1.validateMessageCommandOptions)(command, parseCommand);
149
+ const commandOptions = await MessageCommandBuilder_1.MessageCommandBuilder.validateOptions(command, parseCommand);
142
150
  const executeData = {
143
151
  message: message,
144
152
  options: commandOptions,
@@ -189,7 +197,7 @@ class RecipleClient extends discord_js_1.Client {
189
197
  command: command.name,
190
198
  channel: message.channel,
191
199
  guild: message.guild,
192
- type: builders_1.CommandBuilderType.MessageCommand,
200
+ type: builders_1.CommandType.MessageCommand,
193
201
  };
194
202
  if (this.config.commands.messageCommand.enableCooldown && command.cooldown && !this.cooldowns.isCooledDown(userCooldown)) {
195
203
  this.cooldowns.add({
@@ -229,16 +237,16 @@ class RecipleClient extends discord_js_1.Client {
229
237
  * @param error Received Error
230
238
  */
231
239
  _replyError(error) {
232
- this.emit('recipleReplyError', error);
240
+ this.emit(RecipleEvents.ReplyError, error);
233
241
  }
234
242
  async _haltCommand(command, haltData) {
235
243
  try {
236
244
  const haltResolved = (command.halt
237
- ? await Promise.resolve(command.type == builders_1.CommandBuilderType.SlashCommand ? command.halt(haltData) : command.halt(haltData)).catch(err => {
238
- console.log(err);
245
+ ? await Promise.resolve(command.type == builders_1.CommandType.SlashCommand ? command.halt(haltData) : command.halt(haltData)).catch(err => {
246
+ throw err;
239
247
  })
240
248
  : false) || false;
241
- this.emit('recipleCommandHalt', haltData);
249
+ this.emit(RecipleEvents.CommandHalt, haltData);
242
250
  return haltResolved;
243
251
  }
244
252
  catch (err) {
@@ -251,8 +259,8 @@ class RecipleClient extends discord_js_1.Client {
251
259
  }
252
260
  async _executeCommand(command, executeData) {
253
261
  try {
254
- await Promise.resolve(command.type === builders_1.CommandBuilderType.SlashCommand ? command.execute(executeData) : command.execute(executeData))
255
- .then(() => this.emit('recipleCommandExecute', executeData))
262
+ await Promise.resolve(command.type === builders_1.CommandType.SlashCommand ? command.execute(executeData) : command.execute(executeData))
263
+ .then(() => this.emit(RecipleEvents.CommandExecute, executeData))
256
264
  .catch(async (err) => !(await this._haltCommand(command, {
257
265
  executeData: executeData,
258
266
  reason: commands_1.CommandHaltReason.Error,
@@ -279,7 +287,7 @@ class RecipleClient extends discord_js_1.Client {
279
287
  */
280
288
  async _commandExecuteError(err, command) {
281
289
  if (!this.isClientLogsSilent) {
282
- this.logger.error(`An error occured executing ${command.builder.type == builders_1.CommandBuilderType.MessageCommand ? 'message' : 'slash'} command "${command.builder.name}"`);
290
+ this.logger.error(`An error occured executing ${command.builder.type == builders_1.CommandType.MessageCommand ? 'message' : 'slash'} command "${command.builder.name}"`);
283
291
  this.logger.error(err);
284
292
  }
285
293
  if (!err || !command)
@@ -297,3 +305,4 @@ class RecipleClient extends discord_js_1.Client {
297
305
  }
298
306
  }
299
307
  exports.RecipleClient = RecipleClient;
308
+ //# sourceMappingURL=RecipleClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecipleClient.js","sourceRoot":"","sources":["../../../../src/reciple/classes/RecipleClient.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ const fs_1 = require("fs");
8
8
  const version_1 = require("../version");
9
9
  const fallout_utility_1 = require("fallout-utility");
10
10
  const flags_1 = require("../flags");
11
- const path_1 = __importDefault(require("path"));
11
+ const util_1 = require("../util");
12
12
  const yaml_1 = __importDefault(require("yaml"));
13
13
  /**
14
14
  * Create/parse reciple config
@@ -19,7 +19,7 @@ class RecipleConfig {
19
19
  */
20
20
  constructor(configPath) {
21
21
  this.config = RecipleConfig.getDefaultConfig();
22
- this.configPath = path_1.default.join(flags_1.cwd, 'reciple.yml');
22
+ this.configPath = util_1.path.join(process.cwd(), 'reciple.yml');
23
23
  if (!configPath)
24
24
  throw new Error('Config path is not defined');
25
25
  this.configPath = configPath;
@@ -62,17 +62,17 @@ class RecipleConfig {
62
62
  }
63
63
  /**
64
64
  * Parse token from config
65
- * @param askIfNull Ask for token if the token is null/undefined
65
+ * @param askIfEmpty Ask for token if the token is undefined
66
66
  */
67
- parseToken(askIfNull = true) {
68
- let token = flags_1.token || this.config?.token || null;
67
+ parseToken(askIfEmpty = true) {
68
+ let token = flags_1.token || this.config?.token || undefined;
69
69
  if (!token)
70
- return token || (askIfNull ? this._askToken() : null);
70
+ return token || (askIfEmpty ? this._askToken() : null);
71
71
  const envToken = token.toString().split(':');
72
72
  if (envToken.length === 2 && envToken[0].toLocaleLowerCase() === 'env' && envToken[1]) {
73
- token = process.env[envToken[1]] || null;
73
+ token = process.env[envToken[1]] || undefined;
74
74
  }
75
- return token || (askIfNull ? this._askToken() : null);
75
+ return token || (askIfEmpty == null ? this._askToken() : null);
76
76
  }
77
77
  /**
78
78
  * Check if the config version is supported
@@ -98,9 +98,10 @@ class RecipleConfig {
98
98
  */
99
99
  static getDefaultConfig() {
100
100
  if (!(0, fs_1.existsSync)(this.defaultConfigPath))
101
- throw new Error('Default config file does not exists.');
101
+ throw new Error(`Default config file does not exists: ${this.defaultConfigPath}`);
102
102
  return yaml_1.default.parse((0, fs_1.readFileSync)(this.defaultConfigPath, 'utf-8'));
103
103
  }
104
104
  }
105
105
  exports.RecipleConfig = RecipleConfig;
106
- RecipleConfig.defaultConfigPath = path_1.default.join(__dirname, '../../../../resource/reciple.yml');
106
+ RecipleConfig.defaultConfigPath = util_1.path.join(__dirname, '../../../../resource/reciple.yml');
107
+ //# sourceMappingURL=RecipleConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecipleConfig.js","sourceRoot":"","sources":["../../../../src/reciple/classes/RecipleConfig.ts"],"names":[],"mappings":"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"}
@@ -1,47 +1,82 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RecipleModule = void 0;
4
- const crypto_1 = require("crypto");
5
- const discord_js_1 = require("discord.js");
6
4
  const builders_1 = require("../types/builders");
7
- const util_1 = require("../util");
5
+ const discord_js_1 = require("discord.js");
8
6
  const MessageCommandBuilder_1 = require("./builders/MessageCommandBuilder");
9
7
  const SlashCommandBuilder_1 = require("./builders/SlashCommandBuilder");
8
+ const util_1 = require("../util");
9
+ const crypto_1 = require("crypto");
10
+ const version_1 = require("../version");
10
11
  class RecipleModule {
12
+ get versions() {
13
+ return this.script.versions;
14
+ }
15
+ get onStart() {
16
+ return this.script.onStart;
17
+ }
18
+ get onLoad() {
19
+ return this.script.onLoad;
20
+ }
21
+ get onUnload() {
22
+ return this.script.onUnload;
23
+ }
24
+ get displayName() {
25
+ return this.filePath ?? this.id;
26
+ }
27
+ get isSupported() {
28
+ return (0, discord_js_1.normalizeArray)([this.versions]).some(v => (0, version_1.isSupportedVersion)(v, this.client.version));
29
+ }
11
30
  constructor(options) {
12
- this.commands = new discord_js_1.Collection();
31
+ this.commands = [];
13
32
  this.id = (0, crypto_1.randomUUID)();
14
33
  this.client = options.client;
15
34
  this.script = options.script;
16
35
  this.filePath = options.filePath;
17
36
  this.metadata = options.metadata;
18
37
  }
19
- get displayName() {
20
- return this.filePath ?? this.id;
21
- }
38
+ /**
39
+ * Execute module's {@link RecipleScript.onStart}
40
+ */
22
41
  async start() {
23
42
  return Promise.resolve(this.script.onStart(this.client));
24
43
  }
44
+ /**
45
+ * Execute module's {@link RecipleScript.onLoad}
46
+ * @param resolveCommands Parse commands
47
+ */
25
48
  async load(resolveCommands = true) {
26
49
  if (typeof this.script.onLoad === 'function')
27
50
  await this.script.onLoad(this.client);
28
51
  if (resolveCommands)
29
52
  this.resolveCommands();
30
53
  }
31
- async unLoad(reason) {
32
- if (typeof this.script.onUnLoad === 'function')
33
- await this.script.onUnLoad(reason, this.client);
54
+ /**
55
+ * Execute module's {@link RecipleScript.onUnload}
56
+ * @param reason Unload reason
57
+ */
58
+ async unload(reason) {
59
+ if (typeof this.script.onUnload === 'function')
60
+ await this.script.onUnload(reason, this.client);
34
61
  }
62
+ /**
63
+ * Register application commands from this module
64
+ * @param guilds Register to certain guilds
65
+ */
35
66
  async registerSlashCommands(...guilds) {
36
- for (const command of this.commands.toJSON()) {
37
- if (command.type !== builders_1.CommandBuilderType.SlashCommand)
67
+ for (const command of this.commands) {
68
+ if (command.type !== builders_1.CommandType.SlashCommand)
38
69
  continue;
39
70
  await this.client.applicationCommands.add(command, (0, discord_js_1.normalizeArray)(guilds));
40
71
  }
41
72
  }
73
+ /**
74
+ * Unregister application commands from this module
75
+ * @param guilds Unregister from certain guilds
76
+ */
42
77
  async unregisterSlashCommands(...guilds) {
43
- for (const builder of this.commands.toJSON()) {
44
- if (builder.type !== builders_1.CommandBuilderType.SlashCommand)
78
+ for (const builder of this.commands) {
79
+ if (builder.type !== builders_1.CommandType.SlashCommand)
45
80
  continue;
46
81
  if ((0, discord_js_1.normalizeArray)(guilds).length) {
47
82
  for (const guild of (0, discord_js_1.normalizeArray)(guilds)) {
@@ -56,9 +91,13 @@ class RecipleModule {
56
91
  await this.client.applicationCommands.remove(command);
57
92
  }
58
93
  }
94
+ /**
95
+ * Update registered application commands of this module
96
+ * @param guilds update commands from certain guilds
97
+ */
59
98
  async updateSlashCommands(...guilds) {
60
- for (const builder of this.commands.toJSON()) {
61
- if (builder.type !== builders_1.CommandBuilderType.SlashCommand)
99
+ for (const builder of this.commands) {
100
+ if (builder.type !== builders_1.CommandType.SlashCommand)
62
101
  continue;
63
102
  if ((0, discord_js_1.normalizeArray)(guilds).length) {
64
103
  for (const guild of (0, discord_js_1.normalizeArray)(guilds)) {
@@ -73,18 +112,21 @@ class RecipleModule {
73
112
  await this.client.applicationCommands.edit(command, builder);
74
113
  }
75
114
  }
115
+ /**
116
+ * Resolve module commands
117
+ */
76
118
  resolveCommands() {
77
119
  if (!Array.isArray(this.script?.commands))
78
120
  return this.commands;
79
121
  for (const command of this.script.commands) {
80
- if (command?.type !== builders_1.CommandBuilderType.SlashCommand && command?.type !== builders_1.CommandBuilderType.MessageCommand)
122
+ if (command?.type !== builders_1.CommandType.SlashCommand && command?.type !== builders_1.CommandType.MessageCommand)
81
123
  continue;
82
- const builder = command.type === builders_1.CommandBuilderType.SlashCommand ? SlashCommandBuilder_1.SlashCommandBuilder.resolveSlashCommand(command) : MessageCommandBuilder_1.MessageCommandBuilder.resolveMessageCommand(command);
124
+ const builder = command.type === builders_1.CommandType.SlashCommand ? SlashCommandBuilder_1.SlashCommandBuilder.resolveSlashCommand(command) : MessageCommandBuilder_1.MessageCommandBuilder.resolveMessageCommand(command);
83
125
  if (!(0, util_1.validateCommandBuilder)(builder))
84
126
  throw new Error('Invalid command builder, no name or contains option(s) without name');
85
- this.commands.set(command.name, builder);
127
+ this.commands.push(builder);
86
128
  }
87
- this.client.commands.add(this.commands.toJSON());
129
+ this.client.commands.add(this.commands);
88
130
  return this.commands;
89
131
  }
90
132
  toString() {
@@ -92,3 +134,4 @@ class RecipleModule {
92
134
  }
93
135
  }
94
136
  exports.RecipleModule = RecipleModule;
137
+ //# sourceMappingURL=RecipleModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecipleModule.js","sourceRoot":"","sources":["../../../../src/reciple/classes/RecipleModule.ts"],"names":[],"mappings":"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"}