create-reciple 8.6.2 → 9.0.0-dev.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.
- package/dist/bin.js +6 -20
- package/dist/bin.js.map +1 -1
- package/dist/utils/addons.d.ts +1 -1
- package/dist/utils/addons.js +7 -13
- package/dist/utils/addons.js.map +1 -1
- package/dist/utils/constants.js +1 -1
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/helpers.d.ts +1 -1
- package/dist/utils/helpers.js +6 -14
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/types.d.ts +1 -2
- package/package.json +10 -10
- package/templates/javascript/template.json +4 -0
- package/templates/typescript/template.json +4 -0
- package/templates/cjs/modules/example.js +0 -49
- package/templates/cjs/package.json +0 -18
- package/templates/cjs/template.json +0 -4
- package/templates/cts/package.json +0 -22
- package/templates/cts/template.json +0 -4
- package/templates/mjs/dot.gitignore +0 -130
- package/templates/mjs/template.json +0 -4
- package/templates/mts/dot.gitignore +0 -133
- package/templates/mts/src/example.ts +0 -44
- package/templates/mts/template.json +0 -4
- package/templates/mts/tsconfig.json +0 -14
- /package/templates/{cjs → javascript}/dot.gitignore +0 -0
- /package/templates/{mjs → javascript}/modules/example.js +0 -0
- /package/templates/{mjs → javascript}/package.json +0 -0
- /package/templates/{cts → typescript}/dot.gitignore +0 -0
- /package/templates/{mts → typescript}/package.json +0 -0
- /package/templates/{cts → typescript}/src/example.ts +0 -0
- /package/templates/{cts → typescript}/tsconfig.json +0 -0
package/dist/bin.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { confirm, intro, isCancel, multiselect, outro, password, select, text } from '@clack/prompts';
|
|
2
3
|
import { packageJson, packageManagers, templatesFolder } from './utils/constants.js';
|
|
3
4
|
import { cancelPrompts, create, getTemplates, isDirEmpty } from './utils/helpers.js';
|
|
4
5
|
import { resolvePackageManager } from '@reciple/utils';
|
|
5
|
-
import
|
|
6
|
-
import { Command } from 'commander';
|
|
7
|
-
import path from 'node:path';
|
|
6
|
+
import availableAddons from './utils/addons.js';
|
|
8
7
|
import { existsSync, statSync } from 'node:fs';
|
|
9
8
|
import { kleur } from 'fallout-utility';
|
|
10
|
-
import
|
|
9
|
+
import { Command } from 'commander';
|
|
10
|
+
import path from 'node:path';
|
|
11
11
|
const command = new Command()
|
|
12
12
|
.name(packageJson.name)
|
|
13
13
|
.description(packageJson.description)
|
|
@@ -15,8 +15,6 @@ const command = new Command()
|
|
|
15
15
|
.argument('[dir]', 'Create template in this folder')
|
|
16
16
|
.option('--force', 'Force override existing files in directory', false)
|
|
17
17
|
.option('--typescript', 'Use typescript templates', 'null')
|
|
18
|
-
.option('--esm', 'Use commonjs templates', 'null')
|
|
19
|
-
.option('--commonjs', 'Use commonjs templates', 'null')
|
|
20
18
|
.option('--package-manager <npm,yarn,pnpm>', 'Set package manager', 'null')
|
|
21
19
|
.option('-t, --token <DiscordToken>', 'Add token to created .env')
|
|
22
20
|
.option('--no-addons', 'Disable addons prompt', false)
|
|
@@ -26,12 +24,11 @@ const options = command.opts();
|
|
|
26
24
|
const templates = await getTemplates(templatesFolder);
|
|
27
25
|
let dir = command.args[0] ?? null;
|
|
28
26
|
let typescript = options.typescript !== 'null' ? options.typescript : null;
|
|
29
|
-
let commonjs = options.esm === true ? false : options.commonjs !== 'null' ? options.commonjs : null;
|
|
30
27
|
let packageManager = options.packageManager !== 'null' ? options.packageManager : null;
|
|
31
28
|
let token = options.token ?? null;
|
|
32
29
|
let addons = Array.isArray(options.addons) ? options.addons : false;
|
|
33
30
|
let setup = false;
|
|
34
|
-
if (dir === null || typescript === null ||
|
|
31
|
+
if (dir === null || typescript === null || packageManager === null) {
|
|
35
32
|
setup = true;
|
|
36
33
|
intro(kleur.cyan().bold(`${packageJson.name} v${packageJson.version}`));
|
|
37
34
|
}
|
|
@@ -74,17 +71,6 @@ if (typescript === null) {
|
|
|
74
71
|
cancelPrompts();
|
|
75
72
|
typescript = isTypescript;
|
|
76
73
|
}
|
|
77
|
-
if (commonjs === null) {
|
|
78
|
-
const isESM = await confirm({
|
|
79
|
-
message: `Would you like to use ES Modules? (uses import() instead of require())`,
|
|
80
|
-
initialValue: true,
|
|
81
|
-
active: `Yes`,
|
|
82
|
-
inactive: `No`
|
|
83
|
-
});
|
|
84
|
-
if (isCancel(isESM))
|
|
85
|
-
cancelPrompts();
|
|
86
|
-
commonjs = !isESM;
|
|
87
|
-
}
|
|
88
74
|
if (addons && !addons.length) {
|
|
89
75
|
const selectedAddons = await multiselect({
|
|
90
76
|
message: `Select a addons from Reciple ${kleur.gray('(Press space to select, and enter to submit)')}`,
|
|
@@ -122,7 +108,7 @@ if (token === null) {
|
|
|
122
108
|
cancelPrompts();
|
|
123
109
|
token = newToken;
|
|
124
110
|
}
|
|
125
|
-
const template = templates.find(p => p.
|
|
111
|
+
const template = templates.find(p => p.language === (typescript ? 'Typescript' : 'Javascript'));
|
|
126
112
|
if (!template)
|
|
127
113
|
cancelPrompts({ reason: `Template not found` });
|
|
128
114
|
if (packageManager && !packageManagers.some(p => p.value === packageManager))
|
package/dist/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/addons.d.ts
CHANGED
package/dist/utils/addons.js
CHANGED
|
@@ -10,30 +10,24 @@ export const addonCreators = {
|
|
|
10
10
|
export function createAddonModuleFileContent(pkg, imports, classExport, type, params) {
|
|
11
11
|
let importStatement;
|
|
12
12
|
let exportStatement;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
exportStatement = `module.exports = new ${classExport}(${params ?? ''});`;
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
importStatement = `import ${typeof imports === 'string' ? imports : ('{ ' + imports.join(', ') + ' }')} from '${pkg}';`;
|
|
19
|
-
exportStatement = `export default new ${classExport}(${params ?? ''});`;
|
|
20
|
-
}
|
|
13
|
+
importStatement = `import ${typeof imports === 'string' ? imports : ('{ ' + imports.join(', ') + ' }')} from '${pkg}';`;
|
|
14
|
+
exportStatement = `export default new ${classExport}(${params ?? ''});`;
|
|
21
15
|
return importStatement + '\n\n' + exportStatement;
|
|
22
16
|
}
|
|
23
17
|
export async function addRecipleInteractionEvents(dir, type) {
|
|
24
|
-
await writeFile(path.join(dir, type
|
|
18
|
+
await writeFile(path.join(dir, type === 'js' ? 'modules' : 'src', `RecipleInteractionEvents.${type}`), createAddonModuleFileContent('reciple-interaction-events', ['InteractionEventManager'], 'InteractionEventManager', type));
|
|
25
19
|
}
|
|
26
20
|
export async function addRecipleAnticrash(dir, type) {
|
|
27
|
-
await writeFile(path.join(dir, type
|
|
21
|
+
await writeFile(path.join(dir, type === 'js' ? 'modules' : 'src', `RecipleAnticrash.${type}`), createAddonModuleFileContent('reciple-anticrash', ['RecipleAnticrash'], 'RecipleAnticrash', type));
|
|
28
22
|
}
|
|
29
23
|
export async function addRecipleDevCommands(dir, type) {
|
|
30
|
-
await writeFile(path.join(dir, type
|
|
24
|
+
await writeFile(path.join(dir, type === 'js' ? 'modules' : 'src', `RecipleDevCommands.${type}`), createAddonModuleFileContent('reciple-dev-commands', ['DevCommandManager'], 'DevCommandManager', type, `{\n devGuilds: [],\n devUsers: []\n}`));
|
|
31
25
|
}
|
|
32
26
|
export async function addRecipleRegistryCache(dir, type) {
|
|
33
|
-
await writeFile(path.join(dir, type
|
|
27
|
+
await writeFile(path.join(dir, type === 'js' ? 'modules' : 'src', `RecipleRegistryCache.${type}`), createAddonModuleFileContent('reciple-registry-cache', ['RegistryCacheManager'], 'RegistryCacheManager', type));
|
|
34
28
|
}
|
|
35
29
|
export async function installAddons(dir, type, addons, installPackage) {
|
|
36
|
-
await runScript((installPackage ?? 'npm i') + ' ' + addons.map(a => a + '@
|
|
30
|
+
await runScript((installPackage ?? 'npm i') + ' ' + addons.map(a => a + '@3').join(' '), dir);
|
|
37
31
|
for (const addon of addons) {
|
|
38
32
|
await addonCreators[addon](dir, type);
|
|
39
33
|
}
|
package/dist/utils/addons.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addons.js","sourceRoot":"","sources":["../../src/utils/addons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,4BAA4B,EAAE,2BAA2B;IACzD,mBAAmB,EAAE,mBAAmB;IACxC,sBAAsB,EAAE,qBAAqB;IAC7C,wBAAwB,EAAE,uBAAuB;CACpD,CAAC;AAEF,MAAM,UAAU,4BAA4B,CAAC,GAAW,EAAE,OAAwB,EAAE,WAAmB,EAAE,IAAqB,EAAE,MAAe;IAC3I,IAAI,eAAuB,CAAC;IAC5B,IAAI,eAAuB,CAAC;IAE5B,
|
|
1
|
+
{"version":3,"file":"addons.js","sourceRoot":"","sources":["../../src/utils/addons.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { readFile } from 'node:fs/promises';
|
|
1
2
|
import { fileURLToPath } from 'node:url';
|
|
2
3
|
import path from 'node:path';
|
|
3
|
-
import { readFile } from 'node:fs/promises';
|
|
4
4
|
export const root = path.join(path.dirname(fileURLToPath(import.meta.url)), '../../');
|
|
5
5
|
export const templatesFolder = path.join(root, 'templates');
|
|
6
6
|
export const packageJson = JSON.parse(await readFile(path.join(root, 'package.json'), 'utf-8'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AACtF,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,WAAW,GAAgB,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAE7G,MAAM,CAAC,MAAM,eAAe,GAAuE;IAC/F;QACI,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,6BAA6B;QACnC,KAAK,EAAE,KAAK;KACf;IACD;QACI,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,8BAA8B;QACpC,KAAK,EAAE,MAAM;KAChB;IACD;QACI,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,8BAA8B;QACpC,KAAK,EAAE,MAAM;KAChB;IACD;QACI,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,6BAA6B;QACnC,KAAK,EAAE,MAAM;KAChB;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG;IACpB,YAAY,EAAE,WAAW,CAAC,eAAgB,CAAC,aAAa,CAAC;IACzD,cAAc,EAAE,WAAW,CAAC,eAAgB,CAAC,eAAe,CAAC;IAC7D,YAAY,EAAE,WAAW,CAAC,eAAgB,CAAC,YAAY,CAAC;IACxD,QAAQ,EAAE,WAAW,CAAC,eAAgB,CAAC,QAAQ,CAAC;IAChD,SAAS,EAAE,WAAW,CAAC,eAAgB,CAAC,SAAS,CAAC;IAClD,WAAW,EAAE,WAAW,CAAC,eAAgB,CAAC,YAAY,CAAC;IACvD,SAAS,EAAE,WAAW,CAAC,eAAgB,CAAC,SAAS,CAAC;CACrD,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACtC,KAAK,EAAE;QACH,YAAY,EAAE,SAAS;QACvB,UAAU,EAAE,KAAK;QACjB,aAAa,EAAE,aAAa;QAC5B,aAAa,EAAE,aAAa;QAC5B,eAAe,EAAE,eAAe;KACnC;IACD,MAAM,EAAE;QACJ,YAAY,EAAE,UAAU;QACxB,UAAU,EAAE,WAAW;QACvB,aAAa,EAAE,cAAc;QAC7B,aAAa,EAAE,UAAU;QACzB,eAAe,EAAE,aAAa;KACjC;IACD,MAAM,EAAE;QACJ,YAAY,EAAE,UAAU;QACxB,UAAU,EAAE,WAAW;QACvB,aAAa,EAAE,MAAM;QACrB,aAAa,EAAE,UAAU;QACzB,eAAe,EAAE,aAAa;KACjC;CACJ,CAAC"}
|
package/dist/utils/helpers.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TemplateMetadata } from './types.js';
|
|
2
1
|
import { PackageManager } from '@reciple/utils';
|
|
2
|
+
import { TemplateMetadata } from './types.js';
|
|
3
3
|
export declare function getTemplates(dir: string): Promise<TemplateMetadata[]>;
|
|
4
4
|
export declare function cancelPrompts(options?: {
|
|
5
5
|
reason?: string;
|
package/dist/utils/helpers.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { copyFile, mkdir, readFile, readdir, stat, writeFile } from 'node:fs/promises';
|
|
2
|
-
import { kleur } from 'fallout-utility/strings';
|
|
3
|
-
import path from 'node:path';
|
|
4
|
-
import { cancel } from '@clack/prompts';
|
|
5
|
-
import { exit } from 'node:process';
|
|
6
2
|
import { packageManagerPlaceholders, packages, root } from './constants.js';
|
|
7
3
|
import { existsAsync } from '@reciple/utils';
|
|
4
|
+
import { kleur } from 'fallout-utility/strings';
|
|
8
5
|
import { execSync } from 'node:child_process';
|
|
9
6
|
import { installAddons } from './addons.js';
|
|
7
|
+
import { cancel } from '@clack/prompts';
|
|
8
|
+
import { exit } from 'node:process';
|
|
9
|
+
import path from 'node:path';
|
|
10
10
|
export async function getTemplates(dir) {
|
|
11
11
|
if (!await existsAsync(dir)) {
|
|
12
12
|
await mkdir(dir, { recursive: true });
|
|
@@ -23,12 +23,10 @@ export async function getTemplates(dir) {
|
|
|
23
23
|
if (!files.includes(path.join(file, 'template.json')) || !files.includes(path.join(file, 'package.json')))
|
|
24
24
|
continue;
|
|
25
25
|
const metadata = JSON.parse(await readFile(path.join(file, 'template.json'), 'utf-8'));
|
|
26
|
-
const packageJson = JSON.parse(await readFile(path.join(file, 'package.json'), 'utf-8'));
|
|
27
26
|
const data = {
|
|
28
27
|
id,
|
|
29
28
|
name: metadata.name,
|
|
30
29
|
language: metadata.language,
|
|
31
|
-
type: packageJson.type ?? "commonjs",
|
|
32
30
|
files: files.filter(f => !f.endsWith('template.json')),
|
|
33
31
|
path: file
|
|
34
32
|
};
|
|
@@ -70,16 +68,10 @@ export async function create(template, dir, packageManager, addons, token) {
|
|
|
70
68
|
await writeFile(path.join(dir, 'package.json'), packageJsonData);
|
|
71
69
|
if (packageManager)
|
|
72
70
|
await runScript(placeholders['INSTALL_ALL'], dir);
|
|
73
|
-
await runScript(`${packageManagerPlaceholders['npm']['BIN_EXEC']} reciple@${packages['RECIPLE']?.substring(1)} "${dir}" --setup -c reciple
|
|
71
|
+
await runScript(`${packageManagerPlaceholders['npm']['BIN_EXEC']} reciple@${packages['RECIPLE']?.substring(1)} "${dir}" --setup -c reciple.js`, dir);
|
|
74
72
|
await createDotEnv(dir, token);
|
|
75
73
|
if (addons?.length)
|
|
76
|
-
await installAddons(dir, template.
|
|
77
|
-
? template.language === 'Javascript'
|
|
78
|
-
? 'cjs'
|
|
79
|
-
: 'cts'
|
|
80
|
-
: template.language === 'Typescript'
|
|
81
|
-
? 'mts'
|
|
82
|
-
: 'mjs', addons, placeholders['INSTALL_PKG']);
|
|
74
|
+
await installAddons(dir, template.language === 'Typescript' ? 'ts' : 'js', addons, placeholders['INSTALL_PKG']);
|
|
83
75
|
console.log(`${kleur.bold(kleur.green('✔') + ' Your project is ready!')}`);
|
|
84
76
|
console.log(`\nStart developing:`);
|
|
85
77
|
if (path.relative(process.cwd(), dir) !== '') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PackageManager } from '@reciple/utils';
|
|
2
2
|
export interface CliOptions {
|
|
3
3
|
force: boolean;
|
|
4
4
|
typescript: boolean | 'null';
|
|
@@ -11,7 +11,6 @@ export interface CliOptions {
|
|
|
11
11
|
}
|
|
12
12
|
export interface TemplateMetadata extends TemplateJson {
|
|
13
13
|
id: string;
|
|
14
|
-
type: ModuleType;
|
|
15
14
|
path: string;
|
|
16
15
|
files: string[];
|
|
17
16
|
}
|
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": "
|
|
5
|
+
"version": "9.0.0-dev.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
8
8
|
"module": "./dist/index.js",
|
|
@@ -31,18 +31,18 @@
|
|
|
31
31
|
],
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@clack/prompts": "^0.7.0",
|
|
34
|
-
"@reciple/utils": "^
|
|
35
|
-
"commander": "^12.
|
|
36
|
-
"fallout-utility": "^2.
|
|
34
|
+
"@reciple/utils": "^9.0.0-dev.0",
|
|
35
|
+
"commander": "^12.1.0",
|
|
36
|
+
"fallout-utility": "^2.9.1"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@reciple/core": "^
|
|
40
|
-
"@types/node": "^20.12.
|
|
39
|
+
"@reciple/core": "^9.0.0-dev.0",
|
|
40
|
+
"@types/node": "^20.12.12",
|
|
41
41
|
"discord.js": "^14.15.2",
|
|
42
|
-
"nodemon": "^3.1.
|
|
43
|
-
"reciple": "^
|
|
44
|
-
"rimraf": "^5.0.
|
|
42
|
+
"nodemon": "^3.1.2",
|
|
43
|
+
"reciple": "^9.0.0-dev.0",
|
|
44
|
+
"rimraf": "^5.0.7",
|
|
45
45
|
"typescript": "^5.4.5"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "a62634babaace06a534ea572812af8bceff55715"
|
|
48
48
|
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
const { SlashCommandBuilder, ContextMenuCommandBuilder, MessageCommandBuilder } = require('reciple');
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @type {import('reciple').RecipleModuleData}
|
|
5
|
-
*/
|
|
6
|
-
const data = {
|
|
7
|
-
// Supported client versions
|
|
8
|
-
versions: ['^8'],
|
|
9
|
-
|
|
10
|
-
// Module commands
|
|
11
|
-
commands: [
|
|
12
|
-
new ContextMenuCommandBuilder()
|
|
13
|
-
.setName('test')
|
|
14
|
-
.setType('Message')
|
|
15
|
-
.setExecute(async ({ interaction }) => {
|
|
16
|
-
await interaction.reply(`Hello, world!`);
|
|
17
|
-
}),
|
|
18
|
-
new MessageCommandBuilder()
|
|
19
|
-
.setName('test')
|
|
20
|
-
.setDescription('A test command')
|
|
21
|
-
.setExecute(async ({ message }) => {
|
|
22
|
-
await message.reply(`Hello, world!`);
|
|
23
|
-
}),
|
|
24
|
-
new SlashCommandBuilder()
|
|
25
|
-
.setName('test')
|
|
26
|
-
.setDescription('A test command')
|
|
27
|
-
.setExecute(async ({ interaction }) => {
|
|
28
|
-
await interaction.reply(`Hello, world!`);
|
|
29
|
-
})
|
|
30
|
-
],
|
|
31
|
-
|
|
32
|
-
// Executed when module is started (Bot is not logged in)
|
|
33
|
-
onStart: ({ client }) => {
|
|
34
|
-
return true; // Return true when the module is loaded, false if not
|
|
35
|
-
},
|
|
36
|
-
|
|
37
|
-
// Executed when module is loaded (Bot is logged in)
|
|
38
|
-
onLoad: ({ client }) => {
|
|
39
|
-
// Return/throw a string or error on load fail
|
|
40
|
-
},
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
// Executed when module is unloaded
|
|
44
|
-
onUnload: ({ client }) => {
|
|
45
|
-
// Return/throw a string or error on unload fail
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
module.exports = data;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "reciple-app",
|
|
3
|
-
"type": "commonjs",
|
|
4
|
-
"private": true,
|
|
5
|
-
"scripts": {
|
|
6
|
-
"start": "reciple -c reciple.cjs",
|
|
7
|
-
"dev": "nodemon --ext js,mjs,cjs,json --exec \"reciple -c reciple.cjs\" --signal SIGHUP"
|
|
8
|
-
},
|
|
9
|
-
"dependencies": {
|
|
10
|
-
"@reciple/core": "RECIPLE_CORE",
|
|
11
|
-
"discord.js": "DISCORDJS",
|
|
12
|
-
"reciple": "RECIPLE"
|
|
13
|
-
},
|
|
14
|
-
"devDependencies": {
|
|
15
|
-
"@types/node": "TYPES_NODE",
|
|
16
|
-
"nodemon": "NODEMON"
|
|
17
|
-
}
|
|
18
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "reciple-app",
|
|
3
|
-
"type": "commonjs",
|
|
4
|
-
"private": true,
|
|
5
|
-
"scripts": {
|
|
6
|
-
"build": "rimraf ./modules && tsc",
|
|
7
|
-
"start": "reciple -c reciple.cjs",
|
|
8
|
-
"build:start": "SCRIPT_RUN build && reciple -c reciple.cjs",
|
|
9
|
-
"dev": "nodemon --ext ts,mts,cts,json --ignore ./modules --exec \"SCRIPT_RUN build && reciple -c reciple.cjs\" --signal SIGHUP"
|
|
10
|
-
},
|
|
11
|
-
"dependencies": {
|
|
12
|
-
"@reciple/core": "RECIPLE_CORE",
|
|
13
|
-
"discord.js": "DISCORDJS",
|
|
14
|
-
"reciple": "RECIPLE"
|
|
15
|
-
},
|
|
16
|
-
"devDependencies": {
|
|
17
|
-
"@types/node": "TYPES_NODE",
|
|
18
|
-
"nodemon": "NODEMON",
|
|
19
|
-
"typescript": "TYPESCRIPT",
|
|
20
|
-
"rimraf": "RIMRAF"
|
|
21
|
-
}
|
|
22
|
-
}
|
|
@@ -1,130 +0,0 @@
|
|
|
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.*
|
|
@@ -1,133 +0,0 @@
|
|
|
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
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { SlashCommandBuilder, ContextMenuCommandBuilder, MessageCommandBuilder, RecipleModuleData } from 'reciple';
|
|
2
|
-
|
|
3
|
-
export default {
|
|
4
|
-
// Supported client versions
|
|
5
|
-
versions: ['^8'],
|
|
6
|
-
|
|
7
|
-
// Module commands
|
|
8
|
-
commands: [
|
|
9
|
-
new ContextMenuCommandBuilder()
|
|
10
|
-
.setName('test')
|
|
11
|
-
.setType('Message')
|
|
12
|
-
.setExecute(async ({ interaction }) => {
|
|
13
|
-
await interaction.reply(`Hello, world!`);
|
|
14
|
-
}),
|
|
15
|
-
new MessageCommandBuilder()
|
|
16
|
-
.setName('test')
|
|
17
|
-
.setDescription('A test command')
|
|
18
|
-
.setExecute(async ({ message }) => {
|
|
19
|
-
await message.reply(`Hello, world!`);
|
|
20
|
-
}),
|
|
21
|
-
new SlashCommandBuilder()
|
|
22
|
-
.setName('test')
|
|
23
|
-
.setDescription('A test command')
|
|
24
|
-
.setExecute(async ({ interaction }) => {
|
|
25
|
-
await interaction.reply(`Hello, world!`);
|
|
26
|
-
})
|
|
27
|
-
],
|
|
28
|
-
|
|
29
|
-
// Executed when module is started (Bot is not logged in)
|
|
30
|
-
onStart: ({ client }) => {
|
|
31
|
-
return true; // Return true when the module is loaded, false if not
|
|
32
|
-
},
|
|
33
|
-
|
|
34
|
-
// Executed when module is loaded (Bot is logged in)
|
|
35
|
-
onLoad: ({ client }) => {
|
|
36
|
-
// Return/throw a string or error on load fail
|
|
37
|
-
},
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
// Executed when module is unloaded
|
|
41
|
-
onUnload: ({ client }) => {
|
|
42
|
-
// Return/throw a string or error on unload fail
|
|
43
|
-
}
|
|
44
|
-
} satisfies RecipleModuleData;
|
|
@@ -1,14 +0,0 @@
|
|
|
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
|
-
}
|
|
14
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|