@pikokr/command.ts 4.0.6 → 5.0.0-dev.84d717c

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 (78) hide show
  1. package/.github/workflows/codeql-analysis.yml +70 -0
  2. package/.github/workflows/publish.stable.yml +1 -1
  3. package/.github/workflows/publish.yml +1 -1
  4. package/.vscode/settings.json +10 -0
  5. package/.vscode/templates/ts.lict +5 -0
  6. package/dist/index.d.ts +41 -307
  7. package/dist/index.js +1 -1
  8. package/dist/index.js.map +1 -1
  9. package/package.json +13 -10
  10. package/publish-version.js +10 -0
  11. package/scripts/docs.ts +8 -4
  12. package/src/applicationCommand/ApplicationCommand.ts +17 -0
  13. package/src/applicationCommand/ApplicationCommandOption.ts +9 -0
  14. package/src/applicationCommand/index.ts +2 -6
  15. package/src/core/components/BaseComponent.ts +32 -0
  16. package/src/core/components/ComponentArgument.ts +7 -0
  17. package/src/core/components/ComponentArgumentDecorator.ts +17 -0
  18. package/src/core/components/decoratorCreator.ts +68 -0
  19. package/src/core/components/index.ts +3 -0
  20. package/src/core/hooks/index.ts +1 -0
  21. package/src/core/hooks/moduleHook.ts +31 -0
  22. package/src/core/index.ts +3 -0
  23. package/src/core/structures/Registry.ts +30 -0
  24. package/src/core/structures/index.ts +1 -0
  25. package/src/core/symbols.ts +3 -0
  26. package/src/index.ts +10 -16
  27. package/test/index.ts +46 -23
  28. package/tsconfig.json +1 -1
  29. package/tsconfig.prod.json +4 -0
  30. package/tsup.config.ts +8 -4
  31. package/src/applicationCommand/AppCommand.ts +0 -32
  32. package/src/applicationCommand/decorator.ts +0 -62
  33. package/src/builtinModules/BuiltInModule.ts +0 -13
  34. package/src/builtinModules/BuiltinApplicationCommandConverters.ts +0 -16
  35. package/src/builtinModules/BuiltinCommandConverters.ts +0 -87
  36. package/src/builtinModules/CommandHandler.ts +0 -363
  37. package/src/builtinModules/index.ts +0 -7
  38. package/src/command/ArgumentConverter.ts +0 -22
  39. package/src/command/Command.ts +0 -35
  40. package/src/command/cooldown/adapter.ts +0 -22
  41. package/src/command/cooldown/decorator.ts +0 -67
  42. package/src/command/cooldown/error.ts +0 -9
  43. package/src/command/cooldown/index.ts +0 -9
  44. package/src/command/cooldown/type.ts +0 -12
  45. package/src/command/decorator.ts +0 -185
  46. package/src/command/index.ts +0 -9
  47. package/src/command/utils.ts +0 -33
  48. package/src/constants.ts +0 -31
  49. package/src/error/ArgumentConverterNotFound.ts +0 -18
  50. package/src/error/ArgumentNotProvided.ts +0 -12
  51. package/src/error/CommandCheckFailed.ts +0 -19
  52. package/src/error/CommandNotFound.ts +0 -11
  53. package/src/error/InvalidTargetError.ts +0 -9
  54. package/src/error/ModuleError.ts +0 -11
  55. package/src/error/PermissionRequired.ts +0 -17
  56. package/src/error/checks/DMOnlyCommand.ts +0 -9
  57. package/src/error/checks/GuildOnlyCommand.ts +0 -9
  58. package/src/error/checks/OwnerOnlyCommand.ts +0 -9
  59. package/src/error/checks/SlashCommandGlobalCheckError.ts +0 -11
  60. package/src/error/checks/index.ts +0 -8
  61. package/src/error/index.ts +0 -12
  62. package/src/interface/index.ts +0 -7
  63. package/src/listener/Listener.ts +0 -7
  64. package/src/listener/decorator.ts +0 -29
  65. package/src/listener/index.ts +0 -6
  66. package/src/messageComponents/base.ts +0 -16
  67. package/src/messageComponents/button.ts +0 -30
  68. package/src/messageComponents/index.ts +0 -6
  69. package/src/messageComponents/selectMenu.ts +0 -30
  70. package/src/structures/CommandClient.ts +0 -103
  71. package/src/structures/Module.ts +0 -54
  72. package/src/structures/Registry.ts +0 -253
  73. package/src/structures/index.ts +0 -7
  74. package/src/typings.ts +0 -35
  75. package/src/utils.ts +0 -10
  76. package/test/config.example.json +0 -3
  77. package/test/modules/dev.ts +0 -45
  78. package/test/modules/test.ts +0 -148
@@ -1,148 +0,0 @@
1
- /*
2
- * Copyright (c) 2022 pikokr. Licensed under the MIT license
3
- */
4
-
5
- import { CommandClient, coolDown, CoolDownError, CoolDownType, listener, messageButton, messageSelectMenu, Module, option, applicationCommand } from '../../src'
6
- import {
7
- ButtonInteraction,
8
- CommandInteraction,
9
- ContextMenuInteraction,
10
- Message,
11
- MessageActionRow,
12
- MessageButton,
13
- MessageContextMenuInteraction,
14
- MessageSelectMenu,
15
- SelectMenuInteraction,
16
- UserContextMenuInteraction,
17
- } from 'discord.js'
18
-
19
- class Test extends Module {
20
- constructor(private client: CommandClient) {
21
- super()
22
- }
23
-
24
- // region lifetime method
25
- load() {
26
- console.log('load')
27
- }
28
-
29
- unload() {
30
- console.log('unload')
31
- }
32
-
33
- beforeReload() {
34
- console.log('before reload')
35
- }
36
-
37
- afterReload() {
38
- console.log('after reload')
39
- }
40
- // endregion
41
-
42
- @listener('ready')
43
- ready() {
44
- console.log(`Logged in as ${this.client.client.user!.tag}`)
45
- }
46
-
47
- @listener('commandError')
48
- error(err: Error, msg: Message) {
49
- if (err instanceof CoolDownError) {
50
- return msg.reply(`쿨다운: <t:${(err.endsAt.getTime() / 1000).toFixed(0)}:R>`)
51
- }
52
- console.error(err)
53
- }
54
- @listener('applicationCommandError')
55
- slashCommandError(err: Error, msg: CommandInteraction | ContextMenuInteraction) {
56
- if (err instanceof CoolDownError) {
57
- return msg.reply({
58
- content: `쿨다운: <t:${(err.endsAt.getTime() / 1000).toFixed(0)}:R>`,
59
- ephemeral: true,
60
- })
61
- }
62
- console.error(err)
63
- }
64
-
65
- @applicationCommand({
66
- command: {
67
- type: 'CHAT_INPUT',
68
- name: 'test',
69
- description: 'test',
70
- options: [
71
- {
72
- type: 'STRING',
73
- name: 'asdf',
74
- description: 'test',
75
- },
76
- ],
77
- },
78
- })
79
- @coolDown(CoolDownType.USER, 10)
80
- coolDownSlash(i: CommandInteraction, @option('asdf') asdf: string = 'wa sans') {
81
- i.reply({
82
- content: asdf,
83
- components: [
84
- new MessageActionRow().addComponents(new MessageButton().setLabel('test').setCustomId('testButton').setStyle('PRIMARY')),
85
- new MessageActionRow().addComponents(
86
- new MessageSelectMenu()
87
- .setCustomId('testSelectMenu')
88
- .setPlaceholder('test')
89
- .setMinValues(1)
90
- .setOptions(
91
- new Array(10).fill(1).map((_, i) => ({
92
- label: `${i}`,
93
- value: `${i}`,
94
- })),
95
- ),
96
- ),
97
- ],
98
- })
99
- }
100
-
101
- @applicationCommand({
102
- command: {
103
- type: 'MESSAGE',
104
- name: 'contextMenuTest',
105
- defaultPermission: true,
106
- },
107
- })
108
- @coolDown(CoolDownType.USER, 10)
109
- async contextMenuMessage(i: MessageContextMenuInteraction) {
110
- return i.reply({
111
- content: `message id: ${i.targetMessage.id}`,
112
- })
113
- }
114
-
115
- @applicationCommand({
116
- command: {
117
- type: 'USER',
118
- name: 'contextMenuTest',
119
- defaultPermission: true,
120
- },
121
- })
122
- @coolDown(CoolDownType.USER, 10)
123
- async contextMenuUser(i: UserContextMenuInteraction) {
124
- return i.reply({
125
- content: `user id: ${i.targetUser.id}`,
126
- })
127
- }
128
-
129
- @messageButton('testButton')
130
- async testButton(i: ButtonInteraction) {
131
- await i.update({
132
- content: 'test',
133
- components: [],
134
- })
135
- }
136
-
137
- @messageSelectMenu('testSelectMenu')
138
- async testSelectMenu(i: SelectMenuInteraction) {
139
- await i.update({
140
- content: i.values.join(', '),
141
- components: [],
142
- })
143
- }
144
- }
145
-
146
- export function install(client: CommandClient) {
147
- return new Test(client)
148
- }