sugar-djs 0.2.1 → 0.3.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/Readme.ja.md +29 -9
- package/Readme.md +5 -4
- package/dist/collection.d.ts +1 -1
- package/dist/collection.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/package.json +2 -2
package/Readme.ja.md
CHANGED
|
@@ -4,9 +4,10 @@ discord.jsをTypeScriptでもっと楽しく書くためのライブラリ!
|
|
|
4
4
|
|
|
5
5
|
## 対応バージョン
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
| package version | discord.js version |
|
|
8
|
+
|----|----|
|
|
9
|
+
| 0.3.0 | 14.24.0 |
|
|
10
|
+
| 0.2.1 | 14.23.2 |
|
|
10
11
|
|
|
11
12
|
## 使い方の例
|
|
12
13
|
|
|
@@ -27,21 +28,40 @@ export default wrapper
|
|
|
27
28
|
.addMiddleware(isCachedInteraction) // キャッシュされたインタラクションのみ許可
|
|
28
29
|
.setProcess(({ interaction }) => {
|
|
29
30
|
// interaction: ChatInputCommandInteraction<"cached">;
|
|
30
|
-
interaction.reply('
|
|
31
|
+
interaction.reply('Pong!');
|
|
31
32
|
});
|
|
32
33
|
```
|
|
33
34
|
|
|
34
35
|
## 特徴
|
|
35
36
|
|
|
36
|
-
`Sugar-DJS
|
|
37
|
+
`Sugar-DJS`を使うと、一部の型指定を省略したり、共通の処理を簡単に挿入できたりすることで、素早くボットを制作することができます。
|
|
37
38
|
|
|
38
39
|
### 適切なInteraction型を推論
|
|
39
40
|
|
|
40
|
-
`Sugar-DJS`は、渡された`Builder
|
|
41
|
+
`Sugar-DJS`は、渡された`Builder`からコマンドハンドラーの`interaction`の型を推論します。
|
|
42
|
+
|
|
43
|
+
```typescript
|
|
44
|
+
// 型を手動で指定する例
|
|
45
|
+
export const command = new SlashCommandBuilder().setName('ping')
|
|
46
|
+
export const execute = (interaction: ChatInputCommandInteraction) => {
|
|
47
|
+
interaction.reply('Pong!');
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
```typescript
|
|
52
|
+
// Sugar-DJSのコード
|
|
53
|
+
export default wrapper
|
|
54
|
+
.setCommand(
|
|
55
|
+
new SlashCommandBuilder().setName('ping')
|
|
56
|
+
)
|
|
57
|
+
.setProcess(({ interaction }) => { // 型が適切に推論されます
|
|
58
|
+
interaction.reply('Pong!');
|
|
59
|
+
});
|
|
60
|
+
```
|
|
41
61
|
|
|
42
62
|
### ミドルウェア概念の導入
|
|
43
63
|
|
|
44
|
-
コマンドやコンポーネントの処理の前に、ミドルウェアを追加することができます。ミドルウェアは、`Interaction
|
|
64
|
+
コマンドやコンポーネントの処理の前に、ミドルウェアを追加することができます。ミドルウェアは、`Interaction`を含むペイロードに対して処理を行い、追加のデータを返すことができます。また、ペイロードの形を絞る事もできます。
|
|
45
65
|
|
|
46
66
|
#### Interactionが'cached'であることを確認する例
|
|
47
67
|
```typescript
|
|
@@ -63,7 +83,7 @@ export const isCachedInteraction = <T extends AnyInteraction, U>({
|
|
|
63
83
|
|
|
64
84
|
### 1. sugardjs.tsの作成
|
|
65
85
|
|
|
66
|
-
コマンドやコンポーネントが格納されているディレクトリを指定して、`WrapperCollection
|
|
86
|
+
コマンドやコンポーネントが格納されているディレクトリを指定して、`WrapperCollection`のインスタンスを作成します。
|
|
67
87
|
|
|
68
88
|
```typescript
|
|
69
89
|
// sugardjs.ts
|
|
@@ -80,7 +100,7 @@ export default new WrapperCollection({
|
|
|
80
100
|
|
|
81
101
|
### 2.discord.jsに接続
|
|
82
102
|
|
|
83
|
-
手順1で作成した`WrapperCollection`の`interactionCreateHandler`をdiscord.jsの`InteractionCreate
|
|
103
|
+
手順1で作成した`WrapperCollection`の`interactionCreateHandler`をdiscord.jsの`InteractionCreate`イベントのハンドラーとして渡します。
|
|
84
104
|
|
|
85
105
|
```typescript
|
|
86
106
|
// index.ts
|
package/Readme.md
CHANGED
|
@@ -4,9 +4,10 @@ Library for writing discord.js in TypeScript for more fun!
|
|
|
4
4
|
|
|
5
5
|
## Supported Versions
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
| package version | discord.js version |
|
|
8
|
+
|----|----|
|
|
9
|
+
| 0.3.0 | 14.24.0 |
|
|
10
|
+
| 0.2.1 | 14.23.2 |
|
|
10
11
|
|
|
11
12
|
# Usege
|
|
12
13
|
|
|
@@ -23,7 +24,7 @@ export default wrapper
|
|
|
23
24
|
.setDescription('Send "Pong!"')
|
|
24
25
|
)
|
|
25
26
|
.setProcess(({ interaction }) => {
|
|
26
|
-
interaction.reply('
|
|
27
|
+
interaction.reply('Pong!');
|
|
27
28
|
});
|
|
28
29
|
```
|
|
29
30
|
|
package/dist/collection.d.ts
CHANGED
package/dist/collection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection.js","sourceRoot":"","sources":["../src/collection.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"collection.js","sourceRoot":"","sources":["../src/collection.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ButtonBuilder, ModalBuilder, StringSelectMenuBuilder, UserSelectMenuBuilder, RoleSelectMenuBuilder, MentionableSelectMenuBuilder, ChannelSelectMenuBuilder, CacheType, ButtonInteraction, ModalSubmitInteraction, StringSelectMenuInteraction, UserSelectMenuInteraction, RoleSelectMenuInteraction, MentionableSelectMenuInteraction, ChannelSelectMenuInteraction, PrimaryEntryPointCommandInteraction, SlashCommandBuilder as SCB, ChatInputCommandInteraction, ContextMenuCommandBuilder, ContextMenuCommandInteraction, SlashCommandSubcommandsOnlyBuilder, ApplicationCommandType, UserContextMenuCommandInteraction, MessageContextMenuCommandInteraction, SlashCommandOptionsOnlyBuilder } from 'discord.js';
|
|
1
|
+
import type { ButtonBuilder, ModalBuilder, StringSelectMenuBuilder, UserSelectMenuBuilder, RoleSelectMenuBuilder, MentionableSelectMenuBuilder, ChannelSelectMenuBuilder, CacheType, ButtonInteraction, ModalSubmitInteraction, StringSelectMenuInteraction, UserSelectMenuInteraction, RoleSelectMenuInteraction, MentionableSelectMenuInteraction, ChannelSelectMenuInteraction, PrimaryEntryPointCommandInteraction, SlashCommandBuilder as SCB, ChatInputCommandInteraction, ContextMenuCommandBuilder, ContextMenuCommandInteraction, SlashCommandSubcommandsOnlyBuilder, ApplicationCommandType, UserContextMenuCommandInteraction, MessageContextMenuCommandInteraction, SlashCommandOptionsOnlyBuilder } from 'discord.js';
|
|
2
2
|
export type UnwrapOrDefault<V, D> = V extends undefined ? D : Exclude<V, undefined>;
|
|
3
3
|
export type MaybePromise<T> = T | Promise<T>;
|
|
4
4
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sugar-djs",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Library for writing discord.js in TypeScript for more fun!",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"url": "git+https://github.com/n-soukun/sugar-djs.git"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"discord.js": "^14.
|
|
20
|
+
"discord.js": "^14.24.0",
|
|
21
21
|
"zod": "^4.1.12"
|
|
22
22
|
}
|
|
23
23
|
}
|