@koishijs/plugin-adapter-discord 2.1.2 → 3.1.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/lib/types.d.ts DELETED
@@ -1,354 +0,0 @@
1
- declare type WSEventType = 'READY' | 'RESUMED' | 'GUILD_CREATE' | 'GUILD_DELETE' | 'GUILD_UPDATE' | 'INVITE_CREATE' | 'INVITE_DELETE' | 'GUILD_MEMBER_ADD' | 'GUILD_MEMBER_REMOVE' | 'GUILD_MEMBER_UPDATE' | 'GUILD_MEMBERS_CHUNK' | 'GUILD_ROLE_CREATE' | 'GUILD_ROLE_DELETE' | 'GUILD_ROLE_UPDATE' | 'GUILD_BAN_ADD' | 'GUILD_BAN_REMOVE' | 'GUILD_EMOJIS_UPDATE' | 'GUILD_INTEGRATIONS_UPDATE' | 'CHANNEL_CREATE' | 'CHANNEL_DELETE' | 'CHANNEL_UPDATE' | 'CHANNEL_PINS_UPDATE' | 'MESSAGE_CREATE' | 'MESSAGE_DELETE' | 'MESSAGE_UPDATE' | 'MESSAGE_DELETE_BULK' | 'MESSAGE_REACTION_ADD' | 'MESSAGE_REACTION_REMOVE' | 'MESSAGE_REACTION_REMOVE_ALL' | 'MESSAGE_REACTION_REMOVE_EMOJI' | 'USER_UPDATE' | 'PRESENCE_UPDATE' | 'TYPING_START' | 'VOICE_STATE_UPDATE' | 'VOICE_SERVER_UPDATE' | 'WEBHOOKS_UPDATE';
2
- export declare type Payload = {
3
- op: Opcode;
4
- d?: any;
5
- t?: WSEventType;
6
- s?: number;
7
- };
8
- export declare type snowflake = string;
9
- /** https://discord.com/developers/docs/resources/emoji#emoji-object */
10
- export interface Emoji {
11
- id?: snowflake;
12
- name?: string;
13
- roles?: snowflake[];
14
- user?: User;
15
- require_colons?: boolean;
16
- managed?: boolean;
17
- animated?: boolean;
18
- available?: boolean;
19
- }
20
- /** https://discord.com/developers/docs/resources/channel#channel-object-channel-structure */
21
- export interface Channel {
22
- id: snowflake;
23
- type: number;
24
- guild_id?: string;
25
- position?: number;
26
- permission_overwrites?: Overwrite[];
27
- name?: string;
28
- topic?: string;
29
- nsfw?: boolean;
30
- last_message_id?: snowflake;
31
- bitrate?: number;
32
- user_limit?: number;
33
- rate_limit_per_user?: number;
34
- recipients?: User[];
35
- icon?: string;
36
- owner_id?: snowflake;
37
- application_id?: snowflake;
38
- parent_id?: snowflake;
39
- last_pin_timestamp?: ISO8601;
40
- }
41
- declare type ChannelModifyProps = 'name' | 'type' | 'position' | 'topic' | 'nsfw' | 'rate_limit_per_user' | 'bitrate' | 'user_limit' | 'permission_overwrites' | 'parent_id';
42
- export declare type ModifyChannel = Partial<Pick<Channel, ChannelModifyProps>>;
43
- /** https://discord.com/developers/docs/resources/guild#guild-object-guild-structure */
44
- export interface Guild {
45
- id: snowflake;
46
- name: string;
47
- icon?: string;
48
- icon_hash?: string;
49
- splash?: string;
50
- discovery_splash?: string;
51
- owner?: boolean;
52
- owner_id: snowflake;
53
- permissions?: string;
54
- region: string;
55
- afk_channel_id: snowflake;
56
- afk_timeout: number;
57
- widget_enabled?: boolean;
58
- widget_channel_id?: snowflake;
59
- verification_level: number;
60
- default_message_notifications: number;
61
- explicit_content_filter: number;
62
- roles: Role[];
63
- emojis: Emoji[];
64
- features: string[];
65
- mfa_level: number;
66
- application_id: snowflake;
67
- system_channel_id: snowflake;
68
- system_channel_flags: number;
69
- rules_channel_id: snowflake;
70
- joined_at?: string;
71
- large?: boolean;
72
- unavailable?: boolean;
73
- member_count?: number;
74
- voice_states?: any[];
75
- members?: GuildMember[];
76
- channels?: Channel[];
77
- presences?: any[];
78
- max_presences?: number;
79
- max_members?: number;
80
- vanity_url_code?: string;
81
- description?: string;
82
- banner?: string;
83
- premium_tier: number;
84
- premium_subscription_count?: number;
85
- preferred_locale: string;
86
- public_updates_channel_id?: snowflake;
87
- max_video_channel_users?: number;
88
- approximate_member_count?: number;
89
- approximate_presence_count?: number;
90
- welcome_screen?: any;
91
- }
92
- declare type GuildModifyProps = 'name' | 'region' | 'verification_level' | 'default_message_notifications' | 'explicit_content_filter' | 'afk_channel_id' | 'afk_timeout' | 'icon' | 'owner_id' | 'splash' | 'banner' | 'system_channel_id' | 'rules_channel_id' | 'public_updates_channel_id' | 'preferred_locale';
93
- export declare type GuildModify = Partial<Pick<Guild, GuildModifyProps>>;
94
- /** https://discord.com/developers/docs/resources/user#user-object-user-structure */
95
- export interface User {
96
- id: snowflake;
97
- username: string;
98
- discriminator: string;
99
- avatar?: string;
100
- bot?: boolean;
101
- system?: boolean;
102
- mfa_enabled?: boolean;
103
- locale?: string;
104
- verified?: boolean;
105
- email?: string;
106
- flags: number;
107
- premium_type?: number;
108
- public_flags?: number;
109
- }
110
- export declare type ISO8601 = string;
111
- /** https://discord.com/developers/docs/resources/channel#channel-mention-object-channel-mention-structure */
112
- export interface ChannelMention {
113
- id: snowflake;
114
- guild_id: snowflake;
115
- type: number;
116
- name: string;
117
- }
118
- /** https://discord.com/developers/docs/resources/channel#reaction-object-reaction-structure */
119
- export interface Reaction {
120
- count: number;
121
- me: boolean;
122
- emoji: Partial<Emoji>;
123
- }
124
- /** https://discord.com/developers/docs/resources/channel#message-object-message-activity-structure */
125
- export interface MessageActivity {
126
- type: number;
127
- party_id?: string;
128
- }
129
- /** https://discord.com/developers/docs/resources/channel#message-object-message-application-structure */
130
- export interface MessageApplication {
131
- id: snowflake;
132
- cover_image?: string;
133
- description: string;
134
- icon?: string;
135
- name: string;
136
- }
137
- /** https://discord.com/developers/docs/resources/channel#message-object-message-sticker-structure */
138
- export interface Sticker {
139
- id: snowflake;
140
- pack_id: snowflake;
141
- name: string;
142
- description: string;
143
- tags?: string;
144
- asset: string;
145
- preview_asset?: string;
146
- format_type: number;
147
- }
148
- /** https://discord.com/developers/docs/interactions/slash-commands#messageinteraction */
149
- export interface MessageInteraction {
150
- id: snowflake;
151
- type: number;
152
- name: string;
153
- user: User;
154
- }
155
- /** https://discord.com/developers/docs/resources/channel#message-object-message-structure */
156
- export interface Message {
157
- id: snowflake;
158
- channel_id: snowflake;
159
- guild_id?: snowflake;
160
- author: User;
161
- member?: Partial<GuildMember>;
162
- content: string;
163
- timestamp: ISO8601;
164
- edited_timestamp: ISO8601;
165
- tts: boolean;
166
- mention_everyone: boolean;
167
- mentions: User[];
168
- mention_roles: snowflake[];
169
- mention_channels: ChannelMention[];
170
- attachments: Attachment[];
171
- embeds: Embed[];
172
- reactions?: Reaction[];
173
- nonce?: string | number;
174
- pinned: boolean;
175
- webhook_id?: snowflake;
176
- type: number;
177
- activity?: MessageActivity;
178
- application?: MessageApplication;
179
- message_reference?: MessageReference;
180
- flags?: number;
181
- stickers?: Sticker[];
182
- referenced_message?: Message;
183
- interaction?: MessageInteraction;
184
- }
185
- /** https://discord.com/developers/docs/resources/channel#message-object-message-reference-structure */
186
- export interface MessageReference {
187
- message_id?: snowflake;
188
- channel_id?: snowflake;
189
- guild_id?: snowflake;
190
- fail_if_not_exists?: boolean;
191
- }
192
- /** https://discord.com/developers/docs/resources/channel#embed-object-embed-structure */
193
- export interface Embed {
194
- title?: string;
195
- type?: 'rich' | 'image' | 'video' | 'gifv' | 'article' | 'link';
196
- description?: string;
197
- url?: string;
198
- timestamp?: string;
199
- color?: number;
200
- video?: {
201
- url?: string;
202
- proxy_url?: string;
203
- height?: number;
204
- width?: number;
205
- };
206
- image?: {
207
- url?: string;
208
- proxy_url?: string;
209
- height?: number;
210
- width?: number;
211
- };
212
- thumbnail?: {
213
- url?: string;
214
- proxy_url?: string;
215
- height?: number;
216
- width?: number;
217
- };
218
- footer?: {
219
- text: string;
220
- icon_url?: string;
221
- proxy_icon_url?: string;
222
- };
223
- author?: {
224
- name?: string;
225
- url?: string;
226
- icon_url?: string;
227
- proxy_icon_url?: string;
228
- };
229
- provider?: {
230
- name?: string;
231
- url?: string;
232
- };
233
- fields?: {
234
- name: string;
235
- value: string;
236
- inline?: boolean;
237
- }[];
238
- }
239
- /** https://discord.com/developers/docs/resources/channel#attachment-object-attachment-structure */
240
- export interface Attachment {
241
- id: snowflake;
242
- filename: string;
243
- size: number;
244
- url: string;
245
- proxy_url: string;
246
- height?: number;
247
- width?: number;
248
- content_type?: string;
249
- }
250
- /** https://discord.com/developers/docs/resources/user#user-object-user-structure */
251
- export interface DiscordUser {
252
- id: snowflake;
253
- username: string;
254
- discriminator: string;
255
- bot?: boolean;
256
- avatar?: string;
257
- system?: boolean;
258
- mfa_enabled?: boolean;
259
- locale?: string;
260
- verfied?: boolean;
261
- email?: string;
262
- premium_type?: number;
263
- public_flags?: number;
264
- }
265
- /** https://discord.com/developers/docs/topics/opcodes-and-status-codes */
266
- export declare enum Opcode {
267
- Hello = 10,
268
- Identify = 2,
269
- Dispatch = 0,
270
- HeartbeatACK = 11,
271
- Heartbeat = 1,
272
- Resume = 6,
273
- Reconnect = 7
274
- }
275
- /** https://discord.com/developers/docs/resources/user#get-current-user-guilds-example-partial-guild */
276
- export interface PartialGuild extends Pick<Guild, 'id' | 'name' | 'icon' | 'owner' | 'permissions' | 'features'> {
277
- }
278
- /** https://discord.com/developers/docs/resources/guild#guild-member-object-guild-member-structure */
279
- export interface GuildMember {
280
- user?: DiscordUser;
281
- nick?: string;
282
- roles: snowflake[];
283
- joined_at: string;
284
- premium_since?: string;
285
- deaf: boolean;
286
- mute: boolean;
287
- pending?: boolean;
288
- permissions?: string;
289
- }
290
- export interface ModifyGuildMember extends Pick<GuildMember, 'nick' | 'roles' | 'mute' | 'deaf'> {
291
- channel_id: snowflake;
292
- }
293
- export declare type AllowedMentionType = 'roles' | 'users' | 'everyone';
294
- /** https://discord.com/developers/docs/resources/channel#allowed-mentions-object */
295
- export interface AllowedMention {
296
- parse?: AllowedMentionType[];
297
- roles?: snowflake[];
298
- users?: snowflake[];
299
- replied_user?: boolean;
300
- }
301
- /** https://discord.com/developers/docs/resources/webhook#execute-webhook-jsonform-params */
302
- export interface ExecuteWebhookBody {
303
- content: string;
304
- username?: string;
305
- avatar_url?: string;
306
- tts?: boolean;
307
- embeds?: Embed[];
308
- common_embeds?: Embed[];
309
- allowed_mentions?: AllowedMention[];
310
- }
311
- /** https://discord.com/developers/docs/resources/channel#overwrite-object-overwrite-structure */
312
- export interface Overwrite {
313
- id: snowflake;
314
- type: 0 | 1;
315
- allow: string;
316
- deny: string;
317
- }
318
- /** https://discord.com/developers/docs/topics/permissions#role-object-role-structure */
319
- export interface Role {
320
- id: snowflake;
321
- name: string;
322
- color: number;
323
- hoist: boolean;
324
- position: number;
325
- permissions: string;
326
- managed: boolean;
327
- mentionable: boolean;
328
- tags?: {
329
- bot_id: snowflake;
330
- integration_id: snowflake;
331
- premium_subscriber: null;
332
- };
333
- }
334
- /** https://discord.com/developers/docs/resources/guild#create-guild-role-json-params */
335
- export interface GuildRoleBody {
336
- name: string;
337
- permissions: string;
338
- color: number;
339
- hoist: boolean;
340
- mentionable: boolean;
341
- }
342
- /** https://discord.com/developers/docs/resources/webhook#webhook-object-webhook-structure */
343
- export interface Webhook {
344
- id: snowflake;
345
- type: number;
346
- guild_id?: snowflake;
347
- channel_id: snowflake;
348
- user?: User;
349
- name?: string;
350
- avatar?: string;
351
- token?: string;
352
- application_id: snowflake;
353
- }
354
- export {};
package/lib/utils.d.ts DELETED
@@ -1,15 +0,0 @@
1
- import { Adapter, Bot, Schema, Session } from 'koishi';
2
- import { Sender } from './sender';
3
- import { DiscordBot } from './bot';
4
- import * as DC from './types';
5
- export interface AdapterConfig extends Sender.Config, Adapter.WebSocketClient.Config {
6
- }
7
- export declare const AdapterConfig: Schema<AdapterConfig>;
8
- export declare const adaptUser: (user: DC.User) => Bot.User;
9
- export declare function adaptGroup(data: DC.Guild): Bot.Guild;
10
- export declare function adaptChannel(data: DC.Channel): Bot.Channel;
11
- export declare const adaptAuthor: (author: DC.User) => Bot.Author;
12
- export declare function adaptMessage(meta: DC.Message, session?: Partial<Session>): Bot.Message;
13
- export declare function adaptMessageSession(meta: DC.Message, session?: Partial<Session>): Partial<Session<never, never>>;
14
- export declare function prepareMessageSession(session: Partial<Session>, data: Partial<DC.Message>): void;
15
- export declare function adaptSession(bot: DiscordBot, input: DC.GatewayPayload): Promise<Session<never, never>>;
package/lib/ws.d.ts DELETED
@@ -1,26 +0,0 @@
1
- /// <reference types="ws" />
2
- import { Adapter } from 'koishi';
3
- import { AdapterConfig } from './utils';
4
- import { BotConfig, DiscordBot } from './bot';
5
- export default class WebSocketClient extends Adapter.WebSocketClient<BotConfig, AdapterConfig> {
6
- static schema: import("schemastery")<import("koishi").Quester.Config & {
7
- gateway?: string;
8
- intents?: {
9
- members?: boolean;
10
- presence?: boolean;
11
- } & import("koishi").Dict<any, string>;
12
- } & import("koishi").Dict<any, string> & {
13
- token?: string;
14
- }, import("koishi").Quester.Config & {
15
- gateway: string;
16
- intents: {
17
- members: boolean;
18
- presence: boolean;
19
- } & import("koishi").Dict<any, string>;
20
- } & import("koishi").Dict<any, string> & {
21
- token: string;
22
- }>;
23
- prepare(bot: DiscordBot): import("ws");
24
- heartbeat(bot: DiscordBot): void;
25
- accept(bot: DiscordBot): void;
26
- }