/[sudobot]/trunk/.vscode/sudobot.code-snippets
ViewVC logotype

Annotation of /trunk/.vscode/sudobot.code-snippets

Parent Directory Parent Directory | Revision Log Revision Log


Revision 575 - (hide annotations)
Mon Jul 29 17:59:26 2024 UTC (8 months ago) by rakinar2
File size: 3218 byte(s)
chore: add trunk
1 rakinar2 575 {
2     "SudoBot Command Class": {
3     "scope": "typescript",
4     "prefix": "command",
5     "body": [
6     "import { TakesArgument } from \"@framework/arguments/ArgumentTypes\";",
7     "import type { Buildable } from \"@framework/commands/Command\";",
8     "import { Command } from \"@framework/commands/Command\";",
9     "import type Context from \"@framework/commands/Context\";",
10     "",
11     "type ${1:${TM_FILENAME_BASE/(.*?)\\..*/$1/}}Args = {",
12     "\targ: string;",
13     "};",
14     "",
15     "@TakesArgument<${1:${TM_FILENAME_BASE/(.*?)\\..*/$1/}}Args>({",
16     "\tnames: [],",
17     "\ttypes: [],",
18     "\toptional: false,",
19     "\terrorMessages: [],",
20     "})",
21     "class ${1:${TM_FILENAME_BASE/(.*?)\\..*/$1/}} extends Command {",
22     "\tpublic override readonly name = \"custom\";",
23     "\tpublic override readonly description: string = \"Custom command.\";",
24     "\tpublic override readonly detailedDescription: string = \"Custom command.\";",
25     "\tpublic override readonly defer = true;",
26     "\tpublic override readonly usage = [\"\"];",
27     "\tpublic override readonly systemPermissions = [];",
28     "",
29     "\tpublic override build(): Buildable[] {",
30     "\t\treturn [this.buildChatInput()];",
31     "\t}",
32     "",
33     "\tpublic override async execute(context: Context, args: ${1:${TM_FILENAME_BASE/(.*?)\\..*/$1/}}Args): Promise<void> {",
34     "\t\t// Add your custom command logic here",
35     "\t}",
36     "}",
37     "",
38     "export default ${1:${TM_FILENAME_BASE/(.*?)\\..*/$1/}};"
39     ]
40     },
41     "SudoBot Service Class": {
42     "scope": "typescript",
43     "prefix": "service",
44     "body": [
45     "import { Name } from \"@framework/services/Name\";",
46     "import { Service } from \"@framework/services/Service\";",
47     "",
48     "@Name(\"${1:${TM_FILENAME_BASE/(.*?)\\..*/$1/}}\")",
49     "class ${1:${TM_FILENAME_BASE/(.*?)\\..*/$1/}} extends Service {",
50     "\t// TODO: Implement service",
51     "}",
52     "",
53     "export default ${1:${TM_FILENAME_BASE/(.*?)\\..*/$1/}};"
54     ]
55     },
56     "SudoBot Queue Class": {
57     "scope": "typescript",
58     "prefix": "queue",
59     "body": [
60     "import Queue from \"@framework/queues/Queue\";",
61     "",
62     "type ${1:${TM_FILENAME_BASE/(.*?)\\..*/$1/}}Payload = {",
63     "\t// TODO: Add payload properties",
64     "};",
65     "",
66     "class ${1:${TM_FILENAME_BASE/(.*?)\\..*/$1/}} extends Queue<${1:${TM_FILENAME_BASE/(.*?)\\..*/$1/}}Payload> {",
67     "\tpublic static override readonly uniqueName = \"${1:${TM_FILENAME_BASE/(.*?)\\..*/$1/}}\";",
68     "",
69     "\tpublic async execute(payload: ${1:${TM_FILENAME_BASE/(.*?)\\..*/$1/}}Payload) {",
70     "\t\t// TODO: Implement queue logic",
71     "\t}",
72     "}",
73     "",
74     "export default ${1:${TM_FILENAME_BASE/(.*?)\\..*/$1/}};"
75     ]
76     }
77     }

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26