@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 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, emoji: string): Promise<void>;
44
- deleteReaction(channelId: string, messageId: string, emoji: string, userId?: string): Promise<void>;
45
- clearReaction(channelId: string, messageId: string, emoji?: string): Promise<void>;
46
- getReactionList(channelId: string, messageId: string, emoji: string, after?: string): Promise<{
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, emoji) {
2248
- return this.internal.createReaction(channelId, messageId, emoji);
2288
+ createReaction(channelId, messageId, emojiId) {
2289
+ return this.internal.createReaction(channelId, messageId, emojiId);
2249
2290
  }
2250
- deleteReaction(channelId, messageId, emoji, userId) {
2291
+ deleteReaction(channelId, messageId, emojiId, userId) {
2251
2292
  if (!userId) {
2252
- return this.internal.deleteOwnReaction(channelId, messageId, emoji);
2293
+ return this.internal.deleteOwnReaction(channelId, messageId, emojiId);
2253
2294
  } else {
2254
- return this.internal.deleteUserReaction(channelId, messageId, emoji, userId);
2295
+ return this.internal.deleteUserReaction(channelId, messageId, emojiId, userId);
2255
2296
  }
2256
2297
  }
2257
- clearReaction(channelId, messageId, emoji) {
2258
- if (!emoji) {
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, emoji);
2302
+ return this.internal.deleteAllReactionsForEmoji(channelId, messageId, emojiId);
2262
2303
  }
2263
2304
  }
2264
- async getReactionList(channelId, messageId, emoji, after) {
2265
- const data = await this.internal.getReactions(channelId, messageId, emoji, { after, limit: 100 });
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.5.11",
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.5.2",
36
+ "@satorijs/core": "^4.6.0",
37
37
  "cordis": "^3.18.1"
38
38
  },
39
39
  "peerDependencies": {
40
- "@satorijs/core": "^4.5.2"
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, emoji: string) {
159
- return this.internal.createReaction(channelId, messageId, emoji)
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, emoji: string, userId?: string) {
162
+ deleteReaction(channelId: string, messageId: string, emojiId: string, userId?: string) {
163
163
  if (!userId) {
164
- return this.internal.deleteOwnReaction(channelId, messageId, emoji)
164
+ return this.internal.deleteOwnReaction(channelId, messageId, emojiId)
165
165
  } else {
166
- return this.internal.deleteUserReaction(channelId, messageId, emoji, userId)
166
+ return this.internal.deleteUserReaction(channelId, messageId, emojiId, userId)
167
167
  }
168
168
  }
169
169
 
170
- clearReaction(channelId: string, messageId: string, emoji?: string) {
171
- if (!emoji) {
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, emoji)
174
+ return this.internal.deleteAllReactionsForEmoji(channelId, messageId, emojiId)
175
175
  }
176
176
  }
177
177
 
178
- async getReactionList(channelId: string, messageId: string, emoji: string, after?: string) {
179
- const data = await this.internal.getReactions(channelId, messageId, emoji, { after, limit: 100 })
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
  }