@satorijs/adapter-discord 4.6.0 → 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/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
  }
@@ -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);
@@ -1602,6 +1632,7 @@ var State = class {
1602
1632
  constructor(type) {
1603
1633
  this.type = type;
1604
1634
  }
1635
+ type;
1605
1636
  static {
1606
1637
  __name(this, "State");
1607
1638
  }
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.6.0",
4
+ "version": "4.6.1",
5
5
  "type": "module",
6
6
  "main": "lib/index.cjs",
7
7
  "typings": "lib/index.d.ts",
package/src/utils.ts CHANGED
@@ -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)