@satorijs/adapter-discord 4.5.11 → 4.6.1
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 +4 -4
- package/lib/index.cjs +53 -12
- package/package.json +3 -3
- package/src/bot.ts +10 -10
- package/src/utils.ts +41 -2
package/lib/bot.d.ts
CHANGED
|
@@ -40,10 +40,10 @@ export declare class DiscordBot<C extends Context = Context> extends Bot<C, Disc
|
|
|
40
40
|
getChannelList(guildId: string): Promise<{
|
|
41
41
|
data: Universal.Channel[];
|
|
42
42
|
}>;
|
|
43
|
-
createReaction(channelId: string, messageId: string,
|
|
44
|
-
deleteReaction(channelId: string, messageId: string,
|
|
45
|
-
clearReaction(channelId: string, messageId: string,
|
|
46
|
-
getReactionList(channelId: string, messageId: string,
|
|
43
|
+
createReaction(channelId: string, messageId: string, emojiId: string): Promise<void>;
|
|
44
|
+
deleteReaction(channelId: string, messageId: string, emojiId: string, userId?: string): Promise<void>;
|
|
45
|
+
clearReaction(channelId: string, messageId: string, emojiId?: string): Promise<void>;
|
|
46
|
+
getReactionList(channelId: string, messageId: string, emojiId: string, after?: string): Promise<{
|
|
47
47
|
data: Universal.User[];
|
|
48
48
|
next: string;
|
|
49
49
|
}>;
|
package/lib/index.cjs
CHANGED
|
@@ -90,6 +90,7 @@ var Internal = class _Internal {
|
|
|
90
90
|
constructor(bot) {
|
|
91
91
|
this.bot = bot;
|
|
92
92
|
}
|
|
93
|
+
bot;
|
|
93
94
|
static {
|
|
94
95
|
__name(this, "Internal");
|
|
95
96
|
}
|
|
@@ -1230,7 +1231,7 @@ var decodeUser = /* @__PURE__ */ __name((user) => ({
|
|
|
1230
1231
|
var decodeGuildMember = /* @__PURE__ */ __name((member) => ({
|
|
1231
1232
|
user: member.user && decodeUser(member.user),
|
|
1232
1233
|
nick: member.nick,
|
|
1233
|
-
roles: member.roles,
|
|
1234
|
+
roles: member.roles?.map((id) => ({ id })),
|
|
1234
1235
|
joinedAt: member.joined_at ? new Date(member.joined_at).valueOf() : void 0
|
|
1235
1236
|
}), "decodeGuildMember");
|
|
1236
1237
|
var decodeGuild = /* @__PURE__ */ __name((data) => ({
|
|
@@ -1426,6 +1427,35 @@ async function adaptSession(bot, input) {
|
|
|
1426
1427
|
session.type = "guild-role-added";
|
|
1427
1428
|
session.guildId = input.d.guild_id;
|
|
1428
1429
|
session.roleId = input.d.role_id;
|
|
1430
|
+
} else if (input.t === "GUILD_MEMBER_ADD") {
|
|
1431
|
+
session.type = "guild-member-added";
|
|
1432
|
+
session.guildId = input.d.guild_id;
|
|
1433
|
+
session.userId = input.d.user?.id;
|
|
1434
|
+
session.event.member = decodeGuildMember(input.d);
|
|
1435
|
+
if (session.event.member.user) {
|
|
1436
|
+
session.event.user = session.event.member.user;
|
|
1437
|
+
delete session.event.member.user;
|
|
1438
|
+
}
|
|
1439
|
+
session.timestamp = input.d.joined_at ? new Date(input.d.joined_at).valueOf() : Date.now();
|
|
1440
|
+
} else if (input.t === "GUILD_MEMBER_REMOVE") {
|
|
1441
|
+
session.type = "guild-member-removed";
|
|
1442
|
+
session.guildId = input.d.guild_id;
|
|
1443
|
+
session.userId = input.d.user.id;
|
|
1444
|
+
session.event.user = decodeUser(input.d.user);
|
|
1445
|
+
} else if (input.t === "GUILD_MEMBER_UPDATE") {
|
|
1446
|
+
session.type = "guild-member-updated";
|
|
1447
|
+
session.guildId = input.d.guild_id;
|
|
1448
|
+
session.userId = input.d.user?.id;
|
|
1449
|
+
session.event.member = decodeGuildMember({
|
|
1450
|
+
user: input.d.user,
|
|
1451
|
+
nick: input.d.nick,
|
|
1452
|
+
roles: input.d.roles,
|
|
1453
|
+
joined_at: input.d.joined_at
|
|
1454
|
+
});
|
|
1455
|
+
if (session.event.member.user) {
|
|
1456
|
+
session.event.user = session.event.member.user;
|
|
1457
|
+
delete session.event.member.user;
|
|
1458
|
+
}
|
|
1429
1459
|
} else if (input.t === "INTERACTION_CREATE" && input.d.type === Interaction.Type.APPLICATION_COMMAND) {
|
|
1430
1460
|
const data = input.d.data;
|
|
1431
1461
|
const command = bot.commands.find((cmd) => cmd.name === data.name);
|
|
@@ -1492,11 +1522,21 @@ async function adaptSession(bot, input) {
|
|
|
1492
1522
|
session.event.button = {
|
|
1493
1523
|
id
|
|
1494
1524
|
};
|
|
1525
|
+
} else if (input.t === "CHANNEL_CREATE") {
|
|
1526
|
+
session.type = "channel-added";
|
|
1527
|
+
session.guildId = input.d.guild_id;
|
|
1528
|
+
session.channelId = input.d.id;
|
|
1529
|
+
session.event.channel = decodeChannel(input.d);
|
|
1495
1530
|
} else if (input.t === "CHANNEL_UPDATE") {
|
|
1496
1531
|
session.type = "channel-updated";
|
|
1497
1532
|
session.guildId = input.d.guild_id;
|
|
1498
|
-
session.subtype = input.d.guild_id ? "group" : "private";
|
|
1499
1533
|
session.channelId = input.d.id;
|
|
1534
|
+
session.event.channel = decodeChannel(input.d);
|
|
1535
|
+
} else if (input.t === "CHANNEL_DELETE") {
|
|
1536
|
+
session.type = "channel-removed";
|
|
1537
|
+
session.guildId = input.d.guild_id;
|
|
1538
|
+
session.channelId = input.d.id;
|
|
1539
|
+
session.event.channel = decodeChannel(input.d);
|
|
1500
1540
|
} else {
|
|
1501
1541
|
return;
|
|
1502
1542
|
}
|
|
@@ -1592,6 +1632,7 @@ var State = class {
|
|
|
1592
1632
|
constructor(type) {
|
|
1593
1633
|
this.type = type;
|
|
1594
1634
|
}
|
|
1635
|
+
type;
|
|
1595
1636
|
static {
|
|
1596
1637
|
__name(this, "State");
|
|
1597
1638
|
}
|
|
@@ -2244,25 +2285,25 @@ var DiscordBot = class extends import_core5.Bot {
|
|
|
2244
2285
|
const channels = await this.internal.getGuildChannels(guildId);
|
|
2245
2286
|
return { data: channels.map(decodeChannel) };
|
|
2246
2287
|
}
|
|
2247
|
-
createReaction(channelId, messageId,
|
|
2248
|
-
return this.internal.createReaction(channelId, messageId,
|
|
2288
|
+
createReaction(channelId, messageId, emojiId) {
|
|
2289
|
+
return this.internal.createReaction(channelId, messageId, emojiId);
|
|
2249
2290
|
}
|
|
2250
|
-
deleteReaction(channelId, messageId,
|
|
2291
|
+
deleteReaction(channelId, messageId, emojiId, userId) {
|
|
2251
2292
|
if (!userId) {
|
|
2252
|
-
return this.internal.deleteOwnReaction(channelId, messageId,
|
|
2293
|
+
return this.internal.deleteOwnReaction(channelId, messageId, emojiId);
|
|
2253
2294
|
} else {
|
|
2254
|
-
return this.internal.deleteUserReaction(channelId, messageId,
|
|
2295
|
+
return this.internal.deleteUserReaction(channelId, messageId, emojiId, userId);
|
|
2255
2296
|
}
|
|
2256
2297
|
}
|
|
2257
|
-
clearReaction(channelId, messageId,
|
|
2258
|
-
if (!
|
|
2298
|
+
clearReaction(channelId, messageId, emojiId) {
|
|
2299
|
+
if (!emojiId) {
|
|
2259
2300
|
return this.internal.deleteAllReactions(channelId, messageId);
|
|
2260
2301
|
} else {
|
|
2261
|
-
return this.internal.deleteAllReactionsForEmoji(channelId, messageId,
|
|
2302
|
+
return this.internal.deleteAllReactionsForEmoji(channelId, messageId, emojiId);
|
|
2262
2303
|
}
|
|
2263
2304
|
}
|
|
2264
|
-
async getReactionList(channelId, messageId,
|
|
2265
|
-
const data = await this.internal.getReactions(channelId, messageId,
|
|
2305
|
+
async getReactionList(channelId, messageId, emojiId, after) {
|
|
2306
|
+
const data = await this.internal.getReactions(channelId, messageId, emojiId, { after, limit: 100 });
|
|
2266
2307
|
return { data: data.map(decodeUser), next: data[99]?.id };
|
|
2267
2308
|
}
|
|
2268
2309
|
setGuildMemberRole(guildId, userId, roleId) {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@satorijs/adapter-discord",
|
|
3
3
|
"description": "Discord Adapter for Satorijs",
|
|
4
|
-
"version": "4.
|
|
4
|
+
"version": "4.6.1",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.cjs",
|
|
7
7
|
"typings": "lib/index.d.ts",
|
|
@@ -33,10 +33,10 @@
|
|
|
33
33
|
"chat"
|
|
34
34
|
],
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@satorijs/core": "^4.
|
|
36
|
+
"@satorijs/core": "^4.6.0",
|
|
37
37
|
"cordis": "^3.18.1"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
40
|
-
"@satorijs/core": "^4.
|
|
40
|
+
"@satorijs/core": "^4.6.0"
|
|
41
41
|
}
|
|
42
42
|
}
|
package/src/bot.ts
CHANGED
|
@@ -155,28 +155,28 @@ export class DiscordBot<C extends Context = Context> extends Bot<C, DiscordBot.C
|
|
|
155
155
|
return { data: channels.map(Discord.decodeChannel) }
|
|
156
156
|
}
|
|
157
157
|
|
|
158
|
-
createReaction(channelId: string, messageId: string,
|
|
159
|
-
return this.internal.createReaction(channelId, messageId,
|
|
158
|
+
createReaction(channelId: string, messageId: string, emojiId: string) {
|
|
159
|
+
return this.internal.createReaction(channelId, messageId, emojiId)
|
|
160
160
|
}
|
|
161
161
|
|
|
162
|
-
deleteReaction(channelId: string, messageId: string,
|
|
162
|
+
deleteReaction(channelId: string, messageId: string, emojiId: string, userId?: string) {
|
|
163
163
|
if (!userId) {
|
|
164
|
-
return this.internal.deleteOwnReaction(channelId, messageId,
|
|
164
|
+
return this.internal.deleteOwnReaction(channelId, messageId, emojiId)
|
|
165
165
|
} else {
|
|
166
|
-
return this.internal.deleteUserReaction(channelId, messageId,
|
|
166
|
+
return this.internal.deleteUserReaction(channelId, messageId, emojiId, userId)
|
|
167
167
|
}
|
|
168
168
|
}
|
|
169
169
|
|
|
170
|
-
clearReaction(channelId: string, messageId: string,
|
|
171
|
-
if (!
|
|
170
|
+
clearReaction(channelId: string, messageId: string, emojiId?: string) {
|
|
171
|
+
if (!emojiId) {
|
|
172
172
|
return this.internal.deleteAllReactions(channelId, messageId)
|
|
173
173
|
} else {
|
|
174
|
-
return this.internal.deleteAllReactionsForEmoji(channelId, messageId,
|
|
174
|
+
return this.internal.deleteAllReactionsForEmoji(channelId, messageId, emojiId)
|
|
175
175
|
}
|
|
176
176
|
}
|
|
177
177
|
|
|
178
|
-
async getReactionList(channelId: string, messageId: string,
|
|
179
|
-
const data = await this.internal.getReactions(channelId, messageId,
|
|
178
|
+
async getReactionList(channelId: string, messageId: string, emojiId: string, after?: string) {
|
|
179
|
+
const data = await this.internal.getReactions(channelId, messageId, emojiId, { after, limit: 100 })
|
|
180
180
|
return { data: data.map(Discord.decodeUser), next: data[99]?.id }
|
|
181
181
|
}
|
|
182
182
|
|
package/src/utils.ts
CHANGED
|
@@ -28,7 +28,7 @@ export const decodeUser = (user: Discord.User): Universal.User => ({
|
|
|
28
28
|
export const decodeGuildMember = (member: Partial<Discord.GuildMember>): Universal.GuildMember => ({
|
|
29
29
|
user: member.user && decodeUser(member.user),
|
|
30
30
|
nick: member.nick,
|
|
31
|
-
roles: member.roles,
|
|
31
|
+
roles: member.roles?.map(id => ({ id })),
|
|
32
32
|
joinedAt: member.joined_at ? new Date(member.joined_at).valueOf() : undefined,
|
|
33
33
|
})
|
|
34
34
|
|
|
@@ -267,6 +267,35 @@ export async function adaptSession<C extends Context>(bot: DiscordBot<C>, input:
|
|
|
267
267
|
session.type = 'guild-role-added'
|
|
268
268
|
session.guildId = input.d.guild_id
|
|
269
269
|
session.roleId = input.d.role_id
|
|
270
|
+
} else if (input.t === 'GUILD_MEMBER_ADD') {
|
|
271
|
+
session.type = 'guild-member-added'
|
|
272
|
+
session.guildId = input.d.guild_id
|
|
273
|
+
session.userId = input.d.user?.id
|
|
274
|
+
session.event.member = decodeGuildMember(input.d)
|
|
275
|
+
if (session.event.member.user) {
|
|
276
|
+
session.event.user = session.event.member.user
|
|
277
|
+
delete session.event.member.user
|
|
278
|
+
}
|
|
279
|
+
session.timestamp = input.d.joined_at ? new Date(input.d.joined_at).valueOf() : Date.now()
|
|
280
|
+
} else if (input.t === 'GUILD_MEMBER_REMOVE') {
|
|
281
|
+
session.type = 'guild-member-removed'
|
|
282
|
+
session.guildId = input.d.guild_id
|
|
283
|
+
session.userId = input.d.user.id
|
|
284
|
+
session.event.user = decodeUser(input.d.user)
|
|
285
|
+
} else if (input.t === 'GUILD_MEMBER_UPDATE') {
|
|
286
|
+
session.type = 'guild-member-updated'
|
|
287
|
+
session.guildId = input.d.guild_id
|
|
288
|
+
session.userId = input.d.user?.id
|
|
289
|
+
session.event.member = decodeGuildMember({
|
|
290
|
+
user: input.d.user,
|
|
291
|
+
nick: input.d.nick,
|
|
292
|
+
roles: input.d.roles,
|
|
293
|
+
joined_at: input.d.joined_at,
|
|
294
|
+
})
|
|
295
|
+
if (session.event.member.user) {
|
|
296
|
+
session.event.user = session.event.member.user
|
|
297
|
+
delete session.event.member.user
|
|
298
|
+
}
|
|
270
299
|
} else if (input.t === 'INTERACTION_CREATE' && input.d.type === Discord.Interaction.Type.APPLICATION_COMMAND) {
|
|
271
300
|
const data = input.d.data as Discord.InteractionData.ApplicationCommand
|
|
272
301
|
const command = bot.commands.find(cmd => cmd.name === data.name)
|
|
@@ -334,11 +363,21 @@ export async function adaptSession<C extends Context>(bot: DiscordBot<C>, input:
|
|
|
334
363
|
session.event.button = {
|
|
335
364
|
id,
|
|
336
365
|
}
|
|
366
|
+
} else if (input.t === 'CHANNEL_CREATE') {
|
|
367
|
+
session.type = 'channel-added'
|
|
368
|
+
session.guildId = input.d.guild_id
|
|
369
|
+
session.channelId = input.d.id
|
|
370
|
+
session.event.channel = decodeChannel(input.d)
|
|
337
371
|
} else if (input.t === 'CHANNEL_UPDATE') {
|
|
338
372
|
session.type = 'channel-updated'
|
|
339
373
|
session.guildId = input.d.guild_id
|
|
340
|
-
session.subtype = input.d.guild_id ? 'group' : 'private'
|
|
341
374
|
session.channelId = input.d.id
|
|
375
|
+
session.event.channel = decodeChannel(input.d)
|
|
376
|
+
} else if (input.t === 'CHANNEL_DELETE') {
|
|
377
|
+
session.type = 'channel-removed'
|
|
378
|
+
session.guildId = input.d.guild_id
|
|
379
|
+
session.channelId = input.d.id
|
|
380
|
+
session.event.channel = decodeChannel(input.d)
|
|
342
381
|
} else {
|
|
343
382
|
return
|
|
344
383
|
}
|