create-reciple 9.9.0 → 9.10.1

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.
package/dist/bin.js CHANGED
@@ -3,7 +3,7 @@ import { packageJson, packageManagers, templatesFolder } from './utils/constants
3
3
  import { getTemplates } from './utils/helpers.js';
4
4
  import { Setup } from './classes/Setup.js';
5
5
  import { kleur } from 'fallout-utility';
6
- import { outro } from '@clack/prompts';
6
+ import { outro, select } from '@clack/prompts';
7
7
  import { Command } from 'commander';
8
8
  import { TemplateBuilder } from './classes/TemplateBuilder.js';
9
9
  const command = new Command()
@@ -28,11 +28,22 @@ const setup = new Setup({
28
28
  addons: Array.isArray(options.addons) && options.addons.length ? options.addons : undefined
29
29
  });
30
30
  await setup.prompt(options.force || false);
31
- const template = templates.find(p => p.language === (setup.isTypescript ? 'Typescript' : 'Javascript'));
32
- if (!template) {
31
+ const availableTemplates = templates.filter(p => p.language === (setup.isTypescript ? 'Typescript' : 'Javascript'));
32
+ if (!availableTemplates.length) {
33
33
  setup.cancelPrompts(`Template not found`);
34
34
  process.exit(1);
35
35
  }
36
+ const templateId = availableTemplates.length === 1
37
+ ? availableTemplates[0].id
38
+ : await select({
39
+ message: 'Select a template',
40
+ options: availableTemplates.map(t => ({
41
+ label: t.name,
42
+ value: t.id
43
+ })),
44
+ maxItems: 1
45
+ });
46
+ const template = templates.find(t => t.id === templateId);
36
47
  if (setup.packageManager && !packageManagers.some(p => p.value === setup.packageManager)) {
37
48
  setup.cancelPrompts(`Invalid package manager`);
38
49
  process.exit(1);
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;KACxB,IAAI,CAAC,WAAW,CAAC,IAAK,CAAC;KACvB,WAAW,CAAC,WAAW,CAAC,WAAY,CAAC;KACrC,OAAO,CAAC,WAAW,CAAC,OAAQ,EAAE,eAAe,CAAC;KAC9C,QAAQ,CAAC,OAAO,EAAE,gCAAgC,CAAC;KACnD,MAAM,CAAC,SAAS,EAAE,4CAA4C,EAAE,KAAK,CAAC;KACtE,MAAM,CAAC,cAAc,EAAE,0BAA0B,EAAE,MAAM,CAAC;KAC1D,MAAM,CAAC,mCAAmC,EAAE,qBAAqB,EAAE,MAAM,CAAC;KAC1E,MAAM,CAAC,4BAA4B,EAAE,2BAA2B,CAAC;KACjE,MAAM,CAAC,aAAa,EAAE,uBAAuB,EAAE,KAAK,CAAC;KACrD,MAAM,CAAC,yBAAyB,EAAE,+BAA+B,EAAE,EAAE,CAAC,CAAC;AAE5E,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAc,CAAC;AAC3C,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,eAAe,CAAC,CAAC;AAEtD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;IACpB,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS;IACjC,YAAY,EAAE,CAAC,OAAO,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,SAAS;IACpF,cAAc,EAAE,CAAC,OAAO,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,SAAS;IAC9F,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS;IACjC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;CAC9F,CAAC,CAAC;AAEH,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;AAE3C,MAAM,kBAAkB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;AACpH,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;IAC7B,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,KAAK,CAAC;IAC9C,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE;IAC1B,CAAC,CAAC,MAAM,MAAM,CAAC;QACX,OAAO,EAAE,mBAAmB;QAC5B,OAAO,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAClC,KAAK,EAAE,CAAC,CAAC,IAAI;YACb,KAAK,EAAE,CAAC,CAAC,EAAE;SACd,CAAC,CAAC;QACH,QAAQ,EAAE,CAAC;KACd,CAAC,CAAC;AACP,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAE,CAAC;AAE3D,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;IACvF,KAAK,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,IAAI,KAAK,CAAC,UAAU;IAAE,KAAK,CAAC,6BAA6B,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAEtG,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC;IACxC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE;IACrB,QAAQ;CACX,CAAC,CAAC;AAEH,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC"}
@@ -169,26 +169,34 @@ export class TemplateBuilder {
169
169
  let packageJson = JSON.parse(packageJsonData);
170
170
  let packageJsonIndentSize = detectIndent(packageJsonData).indent || ' ';
171
171
  let done = 0;
172
+ let failed = 0;
172
173
  for (const addon of addons) {
173
- await addon.fetch();
174
- await addon.readTarball();
175
- const moduleContent = this.setup.isTypescript ? addon.tarballData?.initialModuleContent.ts : addon.tarballData?.initialModuleContent.js;
176
- if (!moduleContent)
177
- continue;
178
- const modulesFolder = path.join(this.dir, this.setup.isTypescript ? 'src' : 'modules', 'addons');
179
- await mkdir(modulesFolder, { recursive: true });
180
- const modulePath = path.join(modulesFolder, `${addon.module}.${this.setup.isTypescript ? 'ts' : 'js'}`);
181
- await writeFile(modulePath, moduleContent);
182
- packageJson.dependencies = {
183
- ...packageJson.dependencies,
184
- [addon.module]: addon.version,
185
- };
186
- done++;
187
- this.persistSpinner({ symbol: kleur.bold().green(' +'), text: `Installed addon ${kleur.cyan(addon.module + '@' + (addon.version ?? 'latest'))}` });
174
+ try {
175
+ await addon.fetch();
176
+ await addon.readTarball();
177
+ const moduleContent = this.setup.isTypescript ? addon.tarballData?.initialModuleContent.ts : addon.tarballData?.initialModuleContent.js;
178
+ if (!moduleContent)
179
+ continue;
180
+ const modulesFolder = path.join(this.dir, this.setup.isTypescript ? 'src' : 'modules', 'addons');
181
+ await mkdir(modulesFolder, { recursive: true });
182
+ const modulePath = path.join(modulesFolder, `${addon.module}.${this.setup.isTypescript ? 'ts' : 'js'}`);
183
+ await writeFile(modulePath, moduleContent);
184
+ packageJson.dependencies = {
185
+ ...packageJson.dependencies,
186
+ [addon.module]: addon.version,
187
+ };
188
+ done++;
189
+ this.persistSpinner({ symbol: kleur.bold().green(' +'), text: `Installed addon ${kleur.cyan(addon.module + '@' + (addon.version ?? 'latest'))}` });
190
+ }
191
+ catch (err) {
192
+ failed++;
193
+ const message = err instanceof Error ? err.message : String(err);
194
+ this.persistSpinner({ symbol: kleur.bold().red(' ×'), text: `${kleur.gray(addon.module + '@' + (addon.version ?? 'latest'))} ${kleur.red(message)}` });
195
+ }
188
196
  this.setSpinnerText(`Installing ${kleur.cyan(addons.length + ' addons')} ${kleur.gray('(' + done + '/' + addons.length + ')')}...`);
189
197
  }
190
198
  await writeFile(this.packageJsonPath, JSON.stringify(packageJson, null, packageJsonIndentSize), 'utf-8');
191
- this.persistSpinner({ symbol: kleur.bold().green('✔'), text: `${kleur.green('Addons installed.')}` });
199
+ this.persistSpinner({ symbol: kleur.bold().green('✔'), text: `${kleur.green('Addons installed.')}` + (failed ? kleur.red(` Failed (${failed}/${addons.length})`) : '') });
192
200
  }
193
201
  /**
194
202
  * Sets up the environment by updating the .env file with the Discord bot token.
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateBuilder.js","sourceRoot":"","sources":["../../src/classes/TemplateBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TemplateBuilder.js","sourceRoot":"","sources":["../../src/classes/TemplateBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,KAAK,EAAoB,MAAM,iBAAiB,CAAC;AAC1D,OAAO,GAAG,EAAE,EAAiC,MAAM,KAAK,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAqB,MAAM,YAAY,CAAC;AAC/C,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAsB,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,IAAI,MAAM,WAAW,CAAC;AAO7B,MAAM,OAAO,eAAe;IACjB,KAAK,CAAe;IACpB,QAAQ,CAAmB;IAE3B,MAAM,CAAiB;IACvB,OAAO,CAAO;IAErB,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC3C,CAAC;IAED,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,0BAA0B;QAC1B,OAAO,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,CAAC;IAC1E,CAAC;IAED,YAAY,OAA+B;QACvC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACI,KAAK,CAAC,KAAK;QACd,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;YACf,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,MAAM;SAClB,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7E,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEtB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QAEnD,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAEjC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY;gBAAE,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,UAAU,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAClH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,yBAAyB,CAAC,EAAE,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAEnC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5F,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc;YAAE,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,QAAQ,0BAA0B,CAAC,IAAI,CAAC,WAAW,QAAQ,CAAC,CAAC;QAE9K,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,UAAU,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC5H,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,UAAU,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC7H,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,2FAA2F,CAAC,CAAC,CAAC;QACtH,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC;QAChG,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,iBAAiB;QAC1B,IAAI,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC;QACjD,MAAM,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,UAAU;QACnB,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;QAE9C,IAAI,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC/C,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;QAC/F,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;IACzF,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,gBAAgB;QACzB,IAAI,CAAC,cAAc,CAAC,eAAe,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC;QAEtF,IAAI,WAAW,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAEhE,KAAK,MAAM,GAAG,IAAK,MAAM,CAAC,IAAI,CAAC,QAAQ,CAA+B,EAAE,CAAC;YACrE,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,EAAE,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;QAClF,CAAC;QAGD,IAAI,CAAC,cAAc,CAAC,eAAe,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAE7E,KAAK,MAAM,WAAW,IAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAsD,EAAE,CAAC;YAC3H,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC,CAAC;QACpG,CAAC;QAED,MAAM,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC;IACjH,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,WAAW;QACpB,IAAI,CAAC,cAAc,CAAC,eAAe,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAEpE,MAAM,CAAC,IAAI,MAAM,CAAC;YACd,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,YAAY;SACxD,CAAC,CAAC,CAAC,KAAK,CAAC;YACN,KAAK,EAAE;gBACH;oBACI,KAAK,EAAE,kBAAkB;oBACzB,IAAI,EAAE,qCAAqC;iBAC9C;aACJ;YACD,aAAa,EAAE;gBACX;oBACI,KAAK,EAAE,qBAAqB;oBAC5B,IAAI,EAAE,gDAAgD;iBACzD;aACJ;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,CAAC;IAChH,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,WAAW;QACpB,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAA8C,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC;QAChL,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO;QAE3B,IAAI,CAAC,cAAc,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,GAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAEvH,IAAI,eAAe,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACpE,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAgB,CAAC;QAC7D,IAAI,qBAAqB,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC;QAC3E,IAAI,IAAI,GAAW,CAAC,CAAC;QACrB,IAAI,MAAM,GAAW,CAAC,CAAC;QAEvB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC;gBACD,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;gBACpB,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;gBAE1B,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,oBAAoB,CAAC,EAAE,CAAC;gBACxI,IAAI,CAAC,aAAa;oBAAE,SAAS;gBAE7B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBACjG,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEhD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACxG,MAAM,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;gBAE3C,WAAW,CAAC,YAAY,GAAG;oBACvB,GAAG,WAAW,CAAC,YAAY;oBAC3B,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO;iBAChC,CAAC;gBAEF,IAAI,EAAE,CAAC;gBAEP,IAAI,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,mBAAmB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACxJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,MAAM,EAAE,CAAC;gBACT,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAEjE,IAAI,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9J,CAAC;YAED,IAAI,CAAC,cAAc,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,GAAE,IAAI,GAAE,GAAG,GAAE,MAAM,CAAC,MAAM,GAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACpI,CAAC;QAED,MAAM,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,qBAAqB,CAAC,EAAE,OAAO,CAAC,CAAC;QACzG,IAAI,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9K,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,QAAQ;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;QAEvD,IAAI,OAAO,GAAW,EAAE,CAAC;QACzB,IAAI,MAAM,WAAW,CAAC,IAAI,CAAC;YAAE,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAErE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,6GAA6G,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,GAAG,CAAC;YAClJ,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC;QAED,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,mBAAmB;QAC5B,MAAM,SAAS,CAAC,IAAI,CAAC,0BAA0B,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3E,CAAC;IAEM,cAAc,CAAC,IAAY;QAC9B,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE1B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAC7B,CAAC;IAEM,cAAc,CAAC,OAAuB;QACzC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE1B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAEjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACJ"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "create-reciple",
3
3
  "description": "A Reciple Discord bot project builder",
4
4
  "license": "GPL-3.0",
5
- "version": "9.9.0",
5
+ "version": "9.10.1",
6
6
  "type": "module",
7
7
  "types": "./dist/index.d.ts",
8
8
  "module": "./dist/index.js",
@@ -37,9 +37,9 @@
37
37
  ],
38
38
  "dependencies": {
39
39
  "@clack/prompts": "^0.7.0",
40
- "@reciple/core": "^9.7.0",
41
- "@reciple/decorators": "^9.3.0",
42
- "@reciple/utils": "^9.5.0",
40
+ "@reciple/core": "^9.7.1",
41
+ "@reciple/decorators": "^9.3.1",
42
+ "@reciple/utils": "^9.6.0",
43
43
  "commander": "^12.1.0",
44
44
  "compressing": "^1.10.1",
45
45
  "detect-indent": "^7.0.1",
@@ -47,13 +47,13 @@
47
47
  "fallout-utility": "^2.9.1",
48
48
  "ora": "^8.1.0",
49
49
  "package-json": "^10.0.1",
50
- "reciple": "^9.7.0"
50
+ "reciple": "^9.7.1"
51
51
  },
52
52
  "devDependencies": {
53
- "@types/node": "^22.5.2",
53
+ "@types/node": "^22.5.4",
54
54
  "nodemon": "^3.1.4",
55
55
  "rimraf": "^6.0.1",
56
- "typescript": "^5.5.4"
56
+ "typescript": "^5.6.2"
57
57
  },
58
- "gitHead": "90fe23b2c0b87d78e94ef1fd745e46299917da73"
58
+ "gitHead": "56853c831ccb8024faf8642a3103132c7d6f2368"
59
59
  }
@@ -1,22 +1,21 @@
1
- {
2
- "name": "reciple-app",
3
- "type": "module",
4
- "private": true,
5
- "scripts": {
6
- "build": "rimraf ./modules && tsc",
7
- "start": "reciple start -c reciple.mjs",
8
- "build:start": "SCRIPT_RUN build && reciple start -c reciple.mjs",
9
- "dev": "nodemon --config nodemon.json"
10
- },
11
- "dependencies": {
12
- "@reciple/core": "RECIPLE_CORE",
13
- "@reciple/decorators": "RECIPLE_DECORATORS",
14
- "discord.js": "DISCORDJS",
15
- "reciple": "RECIPLE"
16
- },
17
- "devDependencies": {
18
- "@types/node": "TYPES_NODE",
19
- "typescript": "TYPESCRIPT",
20
- "rimraf": "RIMRAF"
21
- }
1
+ {
2
+ "name": "reciple-app",
3
+ "type": "module",
4
+ "private": true,
5
+ "scripts": {
6
+ "build": "rimraf ./modules && tsc",
7
+ "start": "reciple start -c reciple.mjs",
8
+ "build:start": "SCRIPT_RUN build && reciple start -c reciple.mjs",
9
+ "dev": "nodemon --config nodemon.json"
10
+ },
11
+ "dependencies": {
12
+ "@reciple/core": "RECIPLE_CORE",
13
+ "discord.js": "DISCORDJS",
14
+ "reciple": "RECIPLE"
15
+ },
16
+ "devDependencies": {
17
+ "@types/node": "TYPES_NODE",
18
+ "typescript": "TYPESCRIPT",
19
+ "rimraf": "RIMRAF"
20
+ }
22
21
  }
@@ -1,46 +1,53 @@
1
- import { setContextMenuCommand, setMessageCommand, setRecipleModule, setRecipleModuleLoad, setRecipleModuleStart, setRecipleModuleUnload, setSlashCommand } from '@reciple/decorators';
2
- import { ApplicationCommandType } from 'discord.js';
3
- import { AnyCommandExecuteData, CommandType, RecipleModuleData } from "reciple";
4
-
5
- @setRecipleModule()
6
- export class PingCommand implements RecipleModuleData {
7
- /**
8
- * Executed when module is started (Bot is not logged in).
9
- */
10
- @setRecipleModuleStart()
11
- async onStart(): Promise<boolean> {
12
- return true;
13
- }
14
-
15
- /**
16
- * Executes when the module is loaded (Bot is logged in).
17
- */
18
- @setRecipleModuleLoad()
19
- async onLoad(): Promise<void> {}
20
-
21
- /**
22
- * Executes when the module is unloaded (Bot is pre log out).
23
- */
24
- @setRecipleModuleUnload()
25
- async onUnload(): Promise<void> {}
26
-
27
- /**
28
- * Sets the commands
29
- */
30
- @setContextMenuCommand({ name: 'ping', type: ApplicationCommandType.Message })
31
- @setMessageCommand({ name: 'ping', description: 'Replies with pong!' })
32
- @setSlashCommand({ name: 'ping', description: 'Replies with pong!' })
33
- async handleCommandExecute(data: AnyCommandExecuteData): Promise<void> {
34
- switch (data.type) {
35
- case CommandType.ContextMenuCommand:
36
- case CommandType.SlashCommand:
37
- await data.interaction.reply('Pong!');
38
- return;
39
- case CommandType.MessageCommand:
40
- await data.message.reply('Pong!');
41
- return;
42
- }
43
- }
44
- }
45
-
46
- export default new PingCommand();
1
+ import { ApplicationCommandType } from 'discord.js';
2
+ import { AnyCommandExecuteData, CommandType, ContextMenuCommandBuilder, MessageCommandBuilder, RecipleModuleData, SlashCommandBuilder, type AnyCommandResolvable } from "reciple";
3
+
4
+ export class PingCommand implements RecipleModuleData {
5
+ public commands: AnyCommandResolvable[] = [
6
+ new ContextMenuCommandBuilder()
7
+ .setName('ping')
8
+ .setType(ApplicationCommandType.Message)
9
+ .setExecute(data => this.handleCommandExecute(data)),
10
+ new MessageCommandBuilder()
11
+ .setName('ping')
12
+ .setDescription('Replies with pong!')
13
+ .setExecute(data => this.handleCommandExecute(data)),
14
+ new SlashCommandBuilder()
15
+ .setName('ping')
16
+ .setDescription('Replies with pong!')
17
+ .setExecute(data => this.handleCommandExecute(data)),
18
+ ];
19
+
20
+ /**
21
+ * Executed when module is started (Bot is not logged in).
22
+ */
23
+ async onStart(): Promise<boolean> {
24
+ return true;
25
+ }
26
+
27
+ /**
28
+ * Executes when the module is loaded (Bot is logged in).
29
+ */
30
+ async onLoad(): Promise<void> {}
31
+
32
+ /**
33
+ * Executes when the module is unloaded (Bot is pre log out).
34
+ */
35
+ async onUnload(): Promise<void> {}
36
+
37
+ /**
38
+ * Sets the commands
39
+ */
40
+ async handleCommandExecute(data: AnyCommandExecuteData): Promise<void> {
41
+ switch (data.type) {
42
+ case CommandType.ContextMenuCommand:
43
+ case CommandType.SlashCommand:
44
+ await data.interaction.reply('Pong!');
45
+ return;
46
+ case CommandType.MessageCommand:
47
+ await data.message.reply('Pong!');
48
+ return;
49
+ }
50
+ }
51
+ }
52
+
53
+ export default new PingCommand();
@@ -1,37 +1,39 @@
1
- import { setClientEvent, setRecipleModule, setRecipleModuleLoad, setRecipleModuleStart, setRecipleModuleUnload } from '@reciple/decorators';
2
- import { GuildMember } from "discord.js";
3
- import { RecipleModuleData } from 'reciple';
4
-
5
- @setRecipleModule()
6
- export class WelcomeEvent implements RecipleModuleData {
7
- /**
8
- * Executed when module is started (Bot is not logged in).
9
- */
10
- @setRecipleModuleStart()
11
- async onStart(): Promise<boolean> {
12
- return true;
13
- }
14
-
15
- /**
16
- * Executes when the module is loaded (Bot is logged in).
17
- */
18
- @setRecipleModuleLoad()
19
- async onLoad(): Promise<void> {}
20
-
21
- /**
22
- * Executes when the module is unloaded (Bot is pre log out).
23
- */
24
- @setRecipleModuleUnload()
25
- async onUnload(): Promise<void> {}
26
-
27
- /**
28
- * Called when a user joins the server.
29
- */
30
- @setClientEvent('guildMemberAdd')
31
- async handleWelcomeEvent(member: GuildMember): Promise<void> {
32
- await member.send(`Welcome to **${member.guild.name}** server!`)
33
- .catch(() => null);
34
- }
35
- }
36
-
37
- export default new WelcomeEvent();
1
+ import { GuildMember } from "discord.js";
2
+ import { RecipleModuleData, type RecipleModuleLoadData } from 'reciple';
3
+
4
+ export class WelcomeEvent implements RecipleModuleData {
5
+ constructor() {
6
+ this.handleWelcomeEvent = this.handleWelcomeEvent.bind(this);
7
+ }
8
+
9
+ /**
10
+ * Executed when module is started (Bot is not logged in).
11
+ */
12
+ async onStart(): Promise<boolean> {
13
+ return true;
14
+ }
15
+
16
+ /**
17
+ * Executes when the module is loaded (Bot is logged in).
18
+ */
19
+ async onLoad({ client }: RecipleModuleLoadData): Promise<void> {
20
+ client.on('guildMemberAdd', this.handleWelcomeEvent);
21
+ }
22
+
23
+ /**
24
+ * Executes when the module is unloaded (Bot is pre log out).
25
+ */
26
+ async onUnload({ client }: RecipleModuleLoadData): Promise<void> {
27
+ client.removeListener('guildMemberAdd', this.handleWelcomeEvent);
28
+ }
29
+
30
+ /**
31
+ * Called when a user joins the server.
32
+ */
33
+ async handleWelcomeEvent(member: GuildMember): Promise<void> {
34
+ await member.send(`Welcome to **${member.guild.name}** server!`)
35
+ .catch(() => null);
36
+ }
37
+ }
38
+
39
+ export default new WelcomeEvent();
@@ -0,0 +1,133 @@
1
+ # Logs
2
+ logs
3
+ *.log
4
+ npm-debug.log*
5
+ yarn-debug.log*
6
+ yarn-error.log*
7
+ lerna-debug.log*
8
+ .pnpm-debug.log*
9
+
10
+ # Diagnostic reports (https://nodejs.org/api/report.html)
11
+ report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
12
+
13
+ # Runtime data
14
+ pids
15
+ *.pid
16
+ *.seed
17
+ *.pid.lock
18
+
19
+ # Directory for instrumented libs generated by jscoverage/JSCover
20
+ lib-cov
21
+
22
+ # Docs files
23
+ docs.json
24
+
25
+ # Coverage directory used by tools like istanbul
26
+ coverage
27
+ *.lcov
28
+
29
+ # nyc test coverage
30
+ .nyc_output
31
+
32
+ # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
33
+ .grunt
34
+
35
+ # Bower dependency directory (https://bower.io/)
36
+ bower_components
37
+
38
+ # node-waf configuration
39
+ .lock-wscript
40
+
41
+ # Compiled binary addons (https://nodejs.org/api/addons.html)
42
+ build/Release
43
+
44
+ # Dependency directories
45
+ node_modules/
46
+ jspm_packages/
47
+
48
+ # Snowpack dependency directory (https://snowpack.dev/)
49
+ web_modules/
50
+
51
+ # TypeScript cache
52
+ *.tsbuildinfo
53
+
54
+ # Optional npm cache directory
55
+ .npm
56
+
57
+ # Optional eslint cache
58
+ .eslintcache
59
+
60
+ # Optional stylelint cache
61
+ .stylelintcache
62
+
63
+ # Microbundle cache
64
+ .rpt2_cache/
65
+ .rts2_cache_cjs/
66
+ .rts2_cache_es/
67
+ .rts2_cache_umd/
68
+
69
+ # Optional REPL history
70
+ .node_repl_history
71
+
72
+ # Output of 'npm pack'
73
+ *.tgz
74
+
75
+ # Yarn Integrity file
76
+ .yarn-integrity
77
+
78
+ # dotenv environment variable files
79
+ .env
80
+ .env.development.local
81
+ .env.test.local
82
+ .env.production.local
83
+ .env.local
84
+
85
+ # parcel-bundler cache (https://parceljs.org/)
86
+ .cache
87
+ .parcel-cache
88
+
89
+ # Next.js build output
90
+ .next
91
+ out
92
+
93
+ # Nuxt.js build / generate output
94
+ .nuxt
95
+ dist
96
+
97
+ # Gatsby files
98
+ .cache/
99
+ # Comment in the public line in if your project uses Gatsby and not Next.js
100
+ # https://nextjs.org/blog/next-9-1#public-directory-support
101
+ # public
102
+
103
+ # vuepress build output
104
+ .vuepress/dist
105
+
106
+ # vuepress v2.x temp and cache directory
107
+ .temp
108
+ .cache
109
+
110
+ # Serverless directories
111
+ .serverless/
112
+
113
+ # FuseBox cache
114
+ .fusebox/
115
+
116
+ # DynamoDB Local files
117
+ .dynamodb/
118
+
119
+ # TernJS port file
120
+ .tern-port
121
+
122
+ # Stores VSCode versions used for testing VSCode extensions
123
+ .vscode-test
124
+
125
+ # yarn v2
126
+ .yarn/cache
127
+ .yarn/unplugged
128
+ .yarn/build-state.yml
129
+ .yarn/install-state.gz
130
+ .pnp.*
131
+
132
+ # Output files
133
+ modules
@@ -0,0 +1,17 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/nodemon.json",
3
+ "restartable": "r",
4
+ "ext": "ts,mts,mjs,json",
5
+ "signal": "SIGHUP",
6
+ "ignore": [
7
+ ".git",
8
+ "node_modules/**",
9
+ "modules"
10
+ ],
11
+ "watch": [
12
+ "src",
13
+ "reciple.mjs",
14
+ ".env"
15
+ ],
16
+ "exec": "rimraf ./modules && tsc && reciple start"
17
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "reciple-app",
3
+ "type": "module",
4
+ "private": true,
5
+ "scripts": {
6
+ "build": "rimraf ./modules && tsc",
7
+ "start": "reciple start -c reciple.mjs",
8
+ "build:start": "SCRIPT_RUN build && reciple start -c reciple.mjs",
9
+ "dev": "nodemon --config nodemon.json"
10
+ },
11
+ "dependencies": {
12
+ "@reciple/core": "RECIPLE_CORE",
13
+ "@reciple/decorators": "RECIPLE_DECORATORS",
14
+ "discord.js": "DISCORDJS",
15
+ "reciple": "RECIPLE"
16
+ },
17
+ "devDependencies": {
18
+ "@types/node": "TYPES_NODE",
19
+ "typescript": "TYPESCRIPT",
20
+ "rimraf": "RIMRAF"
21
+ }
22
+ }
@@ -0,0 +1,46 @@
1
+ import { setContextMenuCommand, setMessageCommand, setRecipleModule, setRecipleModuleLoad, setRecipleModuleStart, setRecipleModuleUnload, setSlashCommand } from '@reciple/decorators';
2
+ import { ApplicationCommandType } from 'discord.js';
3
+ import { AnyCommandExecuteData, CommandType, RecipleModuleData } from "reciple";
4
+
5
+ @setRecipleModule()
6
+ export class PingCommand implements RecipleModuleData {
7
+ /**
8
+ * Executed when module is started (Bot is not logged in).
9
+ */
10
+ @setRecipleModuleStart()
11
+ async onStart(): Promise<boolean> {
12
+ return true;
13
+ }
14
+
15
+ /**
16
+ * Executes when the module is loaded (Bot is logged in).
17
+ */
18
+ @setRecipleModuleLoad()
19
+ async onLoad(): Promise<void> {}
20
+
21
+ /**
22
+ * Executes when the module is unloaded (Bot is pre log out).
23
+ */
24
+ @setRecipleModuleUnload()
25
+ async onUnload(): Promise<void> {}
26
+
27
+ /**
28
+ * Sets the commands
29
+ */
30
+ @setContextMenuCommand({ name: 'ping', type: ApplicationCommandType.Message })
31
+ @setMessageCommand({ name: 'ping', description: 'Replies with pong!' })
32
+ @setSlashCommand({ name: 'ping', description: 'Replies with pong!' })
33
+ async handleCommandExecute(data: AnyCommandExecuteData): Promise<void> {
34
+ switch (data.type) {
35
+ case CommandType.ContextMenuCommand:
36
+ case CommandType.SlashCommand:
37
+ await data.interaction.reply('Pong!');
38
+ return;
39
+ case CommandType.MessageCommand:
40
+ await data.message.reply('Pong!');
41
+ return;
42
+ }
43
+ }
44
+ }
45
+
46
+ export default new PingCommand();
@@ -0,0 +1,37 @@
1
+ import { setClientEvent, setRecipleModule, setRecipleModuleLoad, setRecipleModuleStart, setRecipleModuleUnload } from '@reciple/decorators';
2
+ import { GuildMember } from "discord.js";
3
+ import { RecipleModuleData } from 'reciple';
4
+
5
+ @setRecipleModule()
6
+ export class WelcomeEvent implements RecipleModuleData {
7
+ /**
8
+ * Executed when module is started (Bot is not logged in).
9
+ */
10
+ @setRecipleModuleStart()
11
+ async onStart(): Promise<boolean> {
12
+ return true;
13
+ }
14
+
15
+ /**
16
+ * Executes when the module is loaded (Bot is logged in).
17
+ */
18
+ @setRecipleModuleLoad()
19
+ async onLoad(): Promise<void> {}
20
+
21
+ /**
22
+ * Executes when the module is unloaded (Bot is pre log out).
23
+ */
24
+ @setRecipleModuleUnload()
25
+ async onUnload(): Promise<void> {}
26
+
27
+ /**
28
+ * Called when a user joins the server.
29
+ */
30
+ @setClientEvent('guildMemberAdd')
31
+ async handleWelcomeEvent(member: GuildMember): Promise<void> {
32
+ await member.send(`Welcome to **${member.guild.name}** server!`)
33
+ .catch(() => null);
34
+ }
35
+ }
36
+
37
+ export default new WelcomeEvent();
@@ -0,0 +1,44 @@
1
+ import { AnyCommandHaltTriggerData, CommandHaltData, CommandHaltReason, CommandType, ContextMenuCommandHaltTriggerData, MessageCommandHaltTriggerData, SlashCommandHaltTriggerData } from 'reciple';
2
+
3
+ export class CommandErrorHalt implements CommandHaltData {
4
+ id = 'my.reciple.js.commanderrorhalt';
5
+ disabled = false;
6
+
7
+ contextMenuCommandHalt(data: ContextMenuCommandHaltTriggerData) {
8
+ return this.halt(data);
9
+ }
10
+
11
+ messageCommandHalt(data: MessageCommandHaltTriggerData) {
12
+ return this.halt(data);
13
+ }
14
+
15
+ slashCommandHalt(data: SlashCommandHaltTriggerData) {
16
+ return this.halt(data);
17
+ }
18
+
19
+ async halt(data: AnyCommandHaltTriggerData) {
20
+ if (data.reason !== CommandHaltReason.Error) return;
21
+
22
+ const content = `An error occured while executing this command`;
23
+
24
+ switch (data.commandType) {
25
+ case CommandType.ContextMenuCommand:
26
+ case CommandType.SlashCommand:
27
+ const interaction = data.executeData.interaction;
28
+
29
+ if (interaction.replied || interaction.deferred) {
30
+ await interaction.editReply(content);
31
+ } else {
32
+ await interaction.reply(content);
33
+ }
34
+ break;
35
+ case CommandType.MessageCommand:
36
+ await data.executeData.message.reply(content);
37
+ break;
38
+ }
39
+
40
+ reciple.logger?.error(data.error);
41
+
42
+ return true;
43
+ }
44
+ }
@@ -0,0 +1,18 @@
1
+ import { CommandPreconditionData, ContextMenuCommandExecuteData, MessageCommandExecuteData, SlashCommandExecuteData } from 'reciple';
2
+
3
+ export class ExamplePrecondition implements CommandPreconditionData {
4
+ id = 'my.reciple.js.exampleprecondition';
5
+ disabled = false;
6
+
7
+ contextMenuCommandExecute(execute: ContextMenuCommandExecuteData) {
8
+ return true;
9
+ }
10
+
11
+ messageCommandExecute(excute: MessageCommandExecuteData) {
12
+ return true;
13
+ }
14
+
15
+ slashCommandExecute(execute: SlashCommandExecuteData) {
16
+ return true;
17
+ }
18
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "name": "Typescript (With Decorators)",
3
+ "language": "Typescript"
4
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "include": ["./src/**/*"],
3
+ "compilerOptions": {
4
+ "rootDir": "./src",
5
+ "outDir": "./modules",
6
+ "target": "ESNext",
7
+ "module": "NodeNext",
8
+ "moduleResolution": "NodeNext",
9
+ "esModuleInterop": true,
10
+ "skipLibCheck": true,
11
+ "sourceMap": true,
12
+ "strict": true,
13
+ "experimentalDecorators": true,
14
+ "emitDecoratorMetadata": true,
15
+ "paths": {
16
+ "@/*": ["./src/*"]
17
+ }
18
+ }
19
+ }