@alemonjs/kook 0.2.1 → 0.2.2
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/lib/index.d.ts +7 -7
- package/lib/index.js +284 -285
- package/lib/sdk/core/config.js +39 -40
- package/lib/sdk/core/utils/from.js +25 -32
- package/lib/sdk/platform/kook/sdk/api.d.ts +279 -267
- package/lib/sdk/platform/kook/sdk/api.js +262 -265
- package/lib/sdk/platform/kook/sdk/config.js +4 -4
- package/lib/sdk/platform/kook/sdk/conversation.js +108 -116
- package/lib/sdk/platform/kook/sdk/message/INTERACTION.d.ts +3 -3
- package/lib/sdk/platform/kook/sdk/message/MEMBER_ADD.d.ts +3 -3
- package/lib/sdk/platform/kook/sdk/message/MEMBER_REMOVE.d.ts +3 -3
- package/lib/sdk/platform/kook/sdk/message/MESSAGES_DIRECT.d.ts +3 -3
- package/lib/sdk/platform/kook/sdk/message/MESSAGES_PUBLIC.d.ts +3 -3
- package/lib/sdk/platform/kook/sdk/message/REACTIONS.d.ts +3 -3
- package/lib/sdk/platform/kook/sdk/message.d.ts +15 -15
- package/lib/sdk/platform/kook/sdk/message.js +16 -16
- package/lib/sdk/platform/kook/sdk/typings.d.ts +167 -138
- package/lib/sdk/platform/kook/sdk/typings.js +164 -164
- package/lib/sdk/platform/kook/sdk/wss.d.ts +22 -22
- package/lib/sdk/platform/kook/sdk/wss.js +138 -145
- package/lib/sdk/platform/kook/sdk/wss.types.d.ts +5 -5
- package/package.json +1 -1
|
@@ -1,272 +1,269 @@
|
|
|
1
|
-
import axios from 'axios'
|
|
2
|
-
import FormData from 'form-data'
|
|
3
|
-
import { ApiEnum } from './typings.js'
|
|
4
|
-
import { config } from './config.js'
|
|
5
|
-
import 'fs'
|
|
6
|
-
import 'path'
|
|
7
|
-
import 'qrcode'
|
|
8
|
-
import 'public-ip'
|
|
9
|
-
import { createPicFrom } from '../../../core/utils/from.js'
|
|
1
|
+
import axios from 'axios'
|
|
2
|
+
import FormData from 'form-data'
|
|
3
|
+
import { ApiEnum } from './typings.js'
|
|
4
|
+
import { config } from './config.js'
|
|
5
|
+
import 'fs'
|
|
6
|
+
import 'path'
|
|
7
|
+
import 'qrcode'
|
|
8
|
+
import 'public-ip'
|
|
9
|
+
import { createPicFrom } from '../../../core/utils/from.js'
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* api接口
|
|
13
13
|
*/
|
|
14
14
|
class KOOKAPI {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
}
|
|
268
|
-
}).then(res => res?.data);
|
|
269
|
-
}
|
|
15
|
+
API_URL = 'https://www.kookapp.cn'
|
|
16
|
+
/**
|
|
17
|
+
* KOOK服务
|
|
18
|
+
* @param config
|
|
19
|
+
* @returns
|
|
20
|
+
*/
|
|
21
|
+
kookService(opstoin) {
|
|
22
|
+
const token = config.get('token')
|
|
23
|
+
const service = axios.create({
|
|
24
|
+
baseURL: this.API_URL,
|
|
25
|
+
timeout: 30000,
|
|
26
|
+
headers: {
|
|
27
|
+
Authorization: `Bot ${token}`
|
|
28
|
+
}
|
|
29
|
+
})
|
|
30
|
+
return service(opstoin)
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
*
|
|
34
|
+
* @returns
|
|
35
|
+
*/
|
|
36
|
+
async gateway() {
|
|
37
|
+
return this.kookService({
|
|
38
|
+
baseURL: 'https://www.kookapp.cn/api/v3/gateway/index',
|
|
39
|
+
method: 'get',
|
|
40
|
+
params: {
|
|
41
|
+
compress: 0
|
|
42
|
+
}
|
|
43
|
+
}).then(res => res.data)
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* ************
|
|
47
|
+
* 资源床单
|
|
48
|
+
* ***********
|
|
49
|
+
*/
|
|
50
|
+
/**
|
|
51
|
+
* 发送buffer资源
|
|
52
|
+
* @param id 私信传频道id,公信传子频道id
|
|
53
|
+
* @param message {消息编号,图片,内容}
|
|
54
|
+
* @returns
|
|
55
|
+
*/
|
|
56
|
+
async postImage(file, Name = 'image.jpg') {
|
|
57
|
+
const from = await createPicFrom(file, Name)
|
|
58
|
+
if (!from) return false
|
|
59
|
+
const { picData, name } = from
|
|
60
|
+
const formdata = new FormData()
|
|
61
|
+
formdata.append('file', picData, name)
|
|
62
|
+
const url = await this.createUrl(formdata)
|
|
63
|
+
if (url) return url
|
|
64
|
+
return false
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* 发送buffer资源
|
|
68
|
+
* @param id 私信传频道id,公信传子频道id
|
|
69
|
+
* @param message {消息编号,图片,内容}
|
|
70
|
+
* @returns
|
|
71
|
+
*/
|
|
72
|
+
async postFile(file, Name = 'image.jpg') {
|
|
73
|
+
const formdata = new FormData()
|
|
74
|
+
formdata.append('file', [file], Name)
|
|
75
|
+
const url = await this.createUrl(formdata)
|
|
76
|
+
if (url) return url
|
|
77
|
+
return false
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* 转存
|
|
81
|
+
* @param formdata
|
|
82
|
+
* @returns
|
|
83
|
+
*/
|
|
84
|
+
async createUrl(formdata) {
|
|
85
|
+
return await this.kookService({
|
|
86
|
+
method: 'post',
|
|
87
|
+
url: ApiEnum.AssetCreate,
|
|
88
|
+
data: formdata,
|
|
89
|
+
headers: formdata.getHeaders()
|
|
90
|
+
}).then(res => res?.data)
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* *********
|
|
94
|
+
* 消息api
|
|
95
|
+
* *********
|
|
96
|
+
*/
|
|
97
|
+
/**
|
|
98
|
+
* 创建消息
|
|
99
|
+
* @param data
|
|
100
|
+
* @returns
|
|
101
|
+
*/
|
|
102
|
+
async createMessage(data) {
|
|
103
|
+
return await this.kookService({
|
|
104
|
+
method: 'post',
|
|
105
|
+
url: ApiEnum.MessageCreate,
|
|
106
|
+
data
|
|
107
|
+
}).then(res => res?.data)
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* 创建私聊消息
|
|
111
|
+
*/
|
|
112
|
+
/**
|
|
113
|
+
* 创建消息
|
|
114
|
+
* @param target_id
|
|
115
|
+
* @returns
|
|
116
|
+
*/
|
|
117
|
+
async userChatCreate(target_id) {
|
|
118
|
+
return this.kookService({
|
|
119
|
+
method: 'post',
|
|
120
|
+
url: ApiEnum.UserChatCreate,
|
|
121
|
+
data: {
|
|
122
|
+
target_id
|
|
123
|
+
}
|
|
124
|
+
}).then(res => res?.data)
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* 创建消息
|
|
128
|
+
* @param data
|
|
129
|
+
* @returns
|
|
130
|
+
*/
|
|
131
|
+
async createDirectMessage(data) {
|
|
132
|
+
return this.kookService({
|
|
133
|
+
method: 'post',
|
|
134
|
+
url: ApiEnum.DirectMessageCreate,
|
|
135
|
+
data
|
|
136
|
+
}).then(res => res?.data)
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* 删除指定消息
|
|
140
|
+
* @param msg_id
|
|
141
|
+
* @returns
|
|
142
|
+
*/
|
|
143
|
+
async messageDelete(msg_id) {
|
|
144
|
+
return this.kookService({
|
|
145
|
+
method: 'post',
|
|
146
|
+
url: ApiEnum.MessageDelete,
|
|
147
|
+
data: {
|
|
148
|
+
msg_id
|
|
149
|
+
}
|
|
150
|
+
}).then(res => res?.data)
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* 重编辑指定消息
|
|
154
|
+
* @param data
|
|
155
|
+
* @returns
|
|
156
|
+
*/
|
|
157
|
+
async messageUpdate(data) {
|
|
158
|
+
return this.kookService({
|
|
159
|
+
method: 'post',
|
|
160
|
+
url: ApiEnum.MessageUpdate,
|
|
161
|
+
data
|
|
162
|
+
}).then(res => res?.data)
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* 删回应
|
|
166
|
+
* @param data
|
|
167
|
+
* @returns
|
|
168
|
+
*/
|
|
169
|
+
async messageDeleteReaction(data) {
|
|
170
|
+
return this.kookService({
|
|
171
|
+
method: 'post',
|
|
172
|
+
url: ApiEnum.MessageDeleteReaction,
|
|
173
|
+
data
|
|
174
|
+
}).then(res => res?.data)
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* 发回应
|
|
178
|
+
* @param data
|
|
179
|
+
* @returns
|
|
180
|
+
*/
|
|
181
|
+
async messageAddReaction(data) {
|
|
182
|
+
return this.kookService({
|
|
183
|
+
method: 'post',
|
|
184
|
+
url: ApiEnum.MessageAddReaction,
|
|
185
|
+
data
|
|
186
|
+
}).then(res => res?.data)
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* 某个回应的所有用户
|
|
190
|
+
* @param data
|
|
191
|
+
* @returns
|
|
192
|
+
*/
|
|
193
|
+
async messageReactionList(params) {
|
|
194
|
+
return this.kookService({
|
|
195
|
+
method: 'get',
|
|
196
|
+
url: ApiEnum.MessageReactionList,
|
|
197
|
+
params
|
|
198
|
+
}).then(res => res?.data)
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* **********
|
|
202
|
+
* user
|
|
203
|
+
* *********
|
|
204
|
+
*/
|
|
205
|
+
/**
|
|
206
|
+
* 得到当前信息
|
|
207
|
+
* @param guild_id
|
|
208
|
+
* @param user_id
|
|
209
|
+
* @returns
|
|
210
|
+
*/
|
|
211
|
+
async userMe() {
|
|
212
|
+
return this.kookService({
|
|
213
|
+
method: 'get',
|
|
214
|
+
url: ApiEnum.UserMe
|
|
215
|
+
}).then(res => res?.data)
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* 得到用户信息
|
|
219
|
+
* @param guild_id
|
|
220
|
+
* @param user_id
|
|
221
|
+
* @returns
|
|
222
|
+
*/
|
|
223
|
+
async userView(guild_id, user_id) {
|
|
224
|
+
return this.kookService({
|
|
225
|
+
method: 'get',
|
|
226
|
+
url: ApiEnum.UserView,
|
|
227
|
+
params: {
|
|
228
|
+
guild_id,
|
|
229
|
+
user_id
|
|
230
|
+
}
|
|
231
|
+
}).then(res => res?.data)
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* 踢出
|
|
235
|
+
* @param guild_id
|
|
236
|
+
* @param user_id
|
|
237
|
+
* @returns
|
|
238
|
+
*/
|
|
239
|
+
async guildKickout(guild_id, user_id) {
|
|
240
|
+
return this.kookService({
|
|
241
|
+
method: 'post',
|
|
242
|
+
url: ApiEnum.GuildKickout,
|
|
243
|
+
data: {
|
|
244
|
+
guild_id,
|
|
245
|
+
target_id: user_id
|
|
246
|
+
}
|
|
247
|
+
}).then(res => res?.data)
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* 创建角色
|
|
251
|
+
* @param channel_id
|
|
252
|
+
* @param type
|
|
253
|
+
* @param value
|
|
254
|
+
* @returns
|
|
255
|
+
*/
|
|
256
|
+
async channelRoleCreate(channel_id, type, value) {
|
|
257
|
+
return this.kookService({
|
|
258
|
+
method: 'post',
|
|
259
|
+
url: ApiEnum.ChannelRoleCreate,
|
|
260
|
+
data: {
|
|
261
|
+
channel_id,
|
|
262
|
+
type,
|
|
263
|
+
value
|
|
264
|
+
}
|
|
265
|
+
}).then(res => res?.data)
|
|
266
|
+
}
|
|
270
267
|
}
|
|
271
268
|
|
|
272
|
-
export { KOOKAPI }
|
|
269
|
+
export { KOOKAPI }
|