@koishijs/plugin-adapter-discord 2.0.9 → 2.1.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/bot.d.ts +18 -2
- package/lib/index.d.ts +1 -3
- package/lib/index.js +27 -10
- package/lib/index.js.map +2 -2
- package/lib/types/gateway.d.ts +1 -1
- package/lib/types/message.d.ts +4 -4
- package/lib/utils.d.ts +2 -1
- package/lib/ws.d.ts +17 -1
- package/package.json +15 -5
package/lib/bot.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="koishi/lib" />
|
|
2
1
|
/// <reference types="node" />
|
|
3
2
|
import { Adapter, Bot, Quester, Schema } from 'koishi';
|
|
4
3
|
import { AdapterConfig } from './utils';
|
|
@@ -12,7 +11,23 @@ export interface BotConfig extends Bot.BaseConfig, Quester.Config {
|
|
|
12
11
|
gateway?: string;
|
|
13
12
|
intents?: PrivilegedIntents;
|
|
14
13
|
}
|
|
15
|
-
export declare const BotConfig: Schema<
|
|
14
|
+
export declare const BotConfig: Schema<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
|
+
}, Quester.Config & {
|
|
23
|
+
gateway: string;
|
|
24
|
+
intents: {
|
|
25
|
+
members: boolean;
|
|
26
|
+
presence: boolean;
|
|
27
|
+
} & import("koishi").Dict<any, string>;
|
|
28
|
+
} & import("koishi").Dict<any, string> & {
|
|
29
|
+
token: string;
|
|
30
|
+
}>;
|
|
16
31
|
export declare class DiscordBot extends Bot<BotConfig> {
|
|
17
32
|
static schema: Schema<AdapterConfig, AdapterConfig>;
|
|
18
33
|
_d: number;
|
|
@@ -44,5 +59,6 @@ export declare class DiscordBot extends Bot<BotConfig> {
|
|
|
44
59
|
getGuild(guildId: string): Promise<Bot.Guild>;
|
|
45
60
|
getGuildList(): Promise<Bot.Guild[]>;
|
|
46
61
|
getChannelList(guildId: string): Promise<Bot.Channel[]>;
|
|
62
|
+
getChannelMessageHistory(channelId: string, before?: string): Promise<Bot.Message[]>;
|
|
47
63
|
}
|
|
48
64
|
export {};
|
package/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/// <reference path="index.d.ts" />
|
|
2
|
-
/// <reference types="koishi/lib" />
|
|
3
1
|
import { Adapter } from 'koishi';
|
|
4
2
|
import * as Discord from './types';
|
|
5
3
|
export { Discord };
|
|
@@ -12,5 +10,5 @@ declare module 'koishi' {
|
|
|
12
10
|
discord?: Discord.GatewayPayload & Discord.Internal;
|
|
13
11
|
}
|
|
14
12
|
}
|
|
15
|
-
declare const _default: import("koishi").Plugin.Object<Adapter.PluginConfig<import("./utils").AdapterConfig, import("./bot").BotConfig
|
|
13
|
+
declare const _default: import("koishi").Plugin.Object<Adapter.PluginConfig<import("./utils").AdapterConfig, import("./bot").BotConfig>, any>;
|
|
16
14
|
export default _default;
|
package/lib/index.js
CHANGED
|
@@ -51,9 +51,11 @@ __export(exports, {
|
|
|
51
51
|
adaptChannel: () => adaptChannel,
|
|
52
52
|
adaptGroup: () => adaptGroup,
|
|
53
53
|
adaptMessage: () => adaptMessage,
|
|
54
|
+
adaptMessageSession: () => adaptMessageSession,
|
|
54
55
|
adaptSession: () => adaptSession,
|
|
55
56
|
adaptUser: () => adaptUser,
|
|
56
|
-
default: () => src_default
|
|
57
|
+
default: () => src_default,
|
|
58
|
+
prepareMessageSession: () => prepareMessageSession
|
|
57
59
|
});
|
|
58
60
|
var import_koishi6 = __toModule(require("koishi"));
|
|
59
61
|
|
|
@@ -302,7 +304,7 @@ function adaptMessage(meta, session = {}) {
|
|
|
302
304
|
return session;
|
|
303
305
|
}
|
|
304
306
|
__name(adaptMessage, "adaptMessage");
|
|
305
|
-
function adaptMessageSession(
|
|
307
|
+
function adaptMessageSession(meta, session = {}) {
|
|
306
308
|
adaptMessage(meta, session);
|
|
307
309
|
session.messageId = meta.id;
|
|
308
310
|
session.timestamp = new Date(meta.timestamp).valueOf() || Date.now();
|
|
@@ -338,16 +340,12 @@ async function adaptSession(bot, input) {
|
|
|
338
340
|
if (input.t === "MESSAGE_CREATE") {
|
|
339
341
|
session.type = "message";
|
|
340
342
|
prepareMessageSession(session, input.d);
|
|
341
|
-
adaptMessageSession(
|
|
342
|
-
if (session.userId === bot.selfId)
|
|
343
|
-
return;
|
|
343
|
+
adaptMessageSession(input.d, session);
|
|
344
344
|
} else if (input.t === "MESSAGE_UPDATE") {
|
|
345
345
|
session.type = "message-updated";
|
|
346
346
|
prepareMessageSession(session, input.d);
|
|
347
347
|
const msg = await bot.internal.getChannelMessage(input.d.channel_id, input.d.id);
|
|
348
|
-
adaptMessageSession(
|
|
349
|
-
if (session.userId === bot.selfId)
|
|
350
|
-
return;
|
|
348
|
+
adaptMessageSession(msg, session);
|
|
351
349
|
} else if (input.t === "MESSAGE_DELETE") {
|
|
352
350
|
session.type = "message-deleted";
|
|
353
351
|
session.messageId = input.d.id;
|
|
@@ -367,6 +365,11 @@ async function adaptSession(bot, input) {
|
|
|
367
365
|
session.type = "reaction-deleted";
|
|
368
366
|
session.subtype = "emoji";
|
|
369
367
|
prepareReactionSession(session, input.d);
|
|
368
|
+
} else if (input.t === "CHANNEL_UPDATE") {
|
|
369
|
+
session.type = "channel-updated";
|
|
370
|
+
session.guildId = input.d.guild_id;
|
|
371
|
+
session.subtype = input.d.guild_id ? "group" : "private";
|
|
372
|
+
session.channelId = input.d.id;
|
|
370
373
|
} else {
|
|
371
374
|
return;
|
|
372
375
|
}
|
|
@@ -699,7 +702,7 @@ var GatewayOpcode;
|
|
|
699
702
|
})(GatewayOpcode || (GatewayOpcode = {}));
|
|
700
703
|
var GatewayIntent;
|
|
701
704
|
(function(GatewayIntent2) {
|
|
702
|
-
GatewayIntent2[GatewayIntent2["
|
|
705
|
+
GatewayIntent2[GatewayIntent2["GUILDS"] = 1] = "GUILDS";
|
|
703
706
|
GatewayIntent2[GatewayIntent2["GUILD_MEMBERS"] = 2] = "GUILD_MEMBERS";
|
|
704
707
|
GatewayIntent2[GatewayIntent2["GUILD_BANS"] = 4] = "GUILD_BANS";
|
|
705
708
|
GatewayIntent2[GatewayIntent2["GUILD_EMOJIS_AND_STICKERS"] = 8] = "GUILD_EMOJIS_AND_STICKERS";
|
|
@@ -1445,6 +1448,18 @@ var DiscordBot = class extends import_koishi4.Bot {
|
|
|
1445
1448
|
const data = await this.internal.getGuildChannels(guildId);
|
|
1446
1449
|
return data.map((v) => adaptChannel(v));
|
|
1447
1450
|
}
|
|
1451
|
+
async getChannelMessageHistory(channelId, before) {
|
|
1452
|
+
const data = (await this.internal.getChannelMessages(channelId, {
|
|
1453
|
+
before,
|
|
1454
|
+
limit: 50
|
|
1455
|
+
})).reverse();
|
|
1456
|
+
return data.map((v) => {
|
|
1457
|
+
const session = {};
|
|
1458
|
+
prepareMessageSession(session, v);
|
|
1459
|
+
adaptMessageSession(v, session);
|
|
1460
|
+
return session;
|
|
1461
|
+
});
|
|
1462
|
+
}
|
|
1448
1463
|
};
|
|
1449
1464
|
__name(DiscordBot, "DiscordBot");
|
|
1450
1465
|
DiscordBot.schema = AdapterConfig;
|
|
@@ -1537,7 +1552,9 @@ var src_default = import_koishi6.Adapter.define("discord", DiscordBot, WebSocket
|
|
|
1537
1552
|
adaptChannel,
|
|
1538
1553
|
adaptGroup,
|
|
1539
1554
|
adaptMessage,
|
|
1555
|
+
adaptMessageSession,
|
|
1540
1556
|
adaptSession,
|
|
1541
|
-
adaptUser
|
|
1557
|
+
adaptUser,
|
|
1558
|
+
prepareMessageSession
|
|
1542
1559
|
});
|
|
1543
1560
|
//# sourceMappingURL=index.js.map
|