@discordeno/bot 19.0.0-next.cebe1f4 → 19.0.0-next.d0db342

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.
Files changed (104) hide show
  1. package/dist/bot.d.ts +4 -1
  2. package/dist/bot.d.ts.map +1 -1
  3. package/dist/bot.js +5 -0
  4. package/dist/bot.js.map +1 -1
  5. package/dist/handlers/channels/index.d.ts +1 -0
  6. package/dist/handlers/channels/index.d.ts.map +1 -1
  7. package/dist/handlers/channels/index.js +1 -0
  8. package/dist/handlers/channels/index.js.map +1 -1
  9. package/dist/handlers/guilds/GUILD_DELETE.d.ts.map +1 -1
  10. package/dist/handlers/guilds/GUILD_DELETE.js +4 -0
  11. package/dist/handlers/guilds/GUILD_DELETE.js.map +1 -1
  12. package/dist/handlers.js +1 -1
  13. package/dist/handlers.js.map +1 -1
  14. package/dist/helpers.d.ts +205 -0
  15. package/dist/helpers.d.ts.map +1 -0
  16. package/dist/helpers.js +553 -0
  17. package/dist/helpers.js.map +1 -0
  18. package/dist/index.d.ts +4 -0
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +4 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/transformers/activity.d.ts +15 -15
  23. package/dist/transformers/application.d.ts +4 -3
  24. package/dist/transformers/application.d.ts.map +1 -1
  25. package/dist/transformers/applicationCommand.d.ts +3 -3
  26. package/dist/transformers/applicationCommandPermission.d.ts +1 -1
  27. package/dist/transformers/attachment.d.ts +3 -3
  28. package/dist/transformers/auditLogEntry.d.ts +6 -6
  29. package/dist/transformers/automodActionExecution.d.ts +5 -5
  30. package/dist/transformers/channel.d.ts +3 -3
  31. package/dist/transformers/channel.d.ts.map +1 -1
  32. package/dist/transformers/channel.js +3 -2
  33. package/dist/transformers/channel.js.map +1 -1
  34. package/dist/transformers/component.d.ts +3 -1
  35. package/dist/transformers/component.d.ts.map +1 -1
  36. package/dist/transformers/component.js +1 -0
  37. package/dist/transformers/component.js.map +1 -1
  38. package/dist/transformers/embed.d.ts +3 -3
  39. package/dist/transformers/emoji.d.ts +5 -4
  40. package/dist/transformers/emoji.d.ts.map +1 -1
  41. package/dist/transformers/guild.d.ts +1 -1
  42. package/dist/transformers/guild.d.ts.map +1 -1
  43. package/dist/transformers/guild.js +4 -1
  44. package/dist/transformers/guild.js.map +1 -1
  45. package/dist/transformers/index.d.ts +2 -0
  46. package/dist/transformers/index.d.ts.map +1 -1
  47. package/dist/transformers/index.js +2 -0
  48. package/dist/transformers/index.js.map +1 -1
  49. package/dist/transformers/integration.d.ts +9 -7
  50. package/dist/transformers/integration.d.ts.map +1 -1
  51. package/dist/transformers/interaction.d.ts +18 -2
  52. package/dist/transformers/interaction.d.ts.map +1 -1
  53. package/dist/transformers/interaction.js +56 -1
  54. package/dist/transformers/interaction.js.map +1 -1
  55. package/dist/transformers/invite.d.ts +16 -13
  56. package/dist/transformers/invite.d.ts.map +1 -1
  57. package/dist/transformers/member.d.ts +2 -2
  58. package/dist/transformers/member.d.ts.map +1 -1
  59. package/dist/transformers/member.js +3 -3
  60. package/dist/transformers/member.js.map +1 -1
  61. package/dist/transformers/message.d.ts.map +1 -1
  62. package/dist/transformers/message.js +3 -4
  63. package/dist/transformers/message.js.map +1 -1
  64. package/dist/transformers/presence.d.ts +1 -1
  65. package/dist/transformers/reverse/component.d.ts.map +1 -1
  66. package/dist/transformers/reverse/component.js +1 -0
  67. package/dist/transformers/reverse/component.js.map +1 -1
  68. package/dist/transformers/reverse/index.d.ts +3 -0
  69. package/dist/transformers/reverse/index.d.ts.map +1 -1
  70. package/dist/transformers/reverse/index.js +3 -0
  71. package/dist/transformers/reverse/index.js.map +1 -1
  72. package/dist/transformers/reverse/member.d.ts.map +1 -1
  73. package/dist/transformers/reverse/member.js +1 -0
  74. package/dist/transformers/reverse/member.js.map +1 -1
  75. package/dist/transformers/role.d.ts +2 -2
  76. package/dist/transformers/role.d.ts.map +1 -1
  77. package/dist/transformers/role.js +2 -2
  78. package/dist/transformers/role.js.map +1 -1
  79. package/dist/transformers/scheduledEvent.d.ts +6 -5
  80. package/dist/transformers/scheduledEvent.d.ts.map +1 -1
  81. package/dist/transformers/sticker.d.ts +6 -5
  82. package/dist/transformers/sticker.d.ts.map +1 -1
  83. package/dist/transformers/template.d.ts +101 -95
  84. package/dist/transformers/template.d.ts.map +1 -1
  85. package/dist/transformers/toggles/index.d.ts +2 -0
  86. package/dist/transformers/toggles/index.d.ts.map +1 -1
  87. package/dist/transformers/toggles/index.js +2 -0
  88. package/dist/transformers/toggles/index.js.map +1 -1
  89. package/dist/transformers/user.d.ts +3 -1
  90. package/dist/transformers/user.d.ts.map +1 -1
  91. package/dist/transformers/user.js +2 -1
  92. package/dist/transformers/user.js.map +1 -1
  93. package/dist/transformers/voiceRegion.d.ts +1 -1
  94. package/dist/transformers/voiceState.d.ts +2 -2
  95. package/dist/transformers/webhook.d.ts +7 -6
  96. package/dist/transformers/webhook.d.ts.map +1 -1
  97. package/dist/transformers.d.ts +8 -3
  98. package/dist/transformers.d.ts.map +1 -1
  99. package/dist/transformers.js +13 -0
  100. package/dist/transformers.js.map +1 -1
  101. package/dist/typings.d.ts +4 -2
  102. package/dist/typings.d.ts.map +1 -1
  103. package/dist/typings.js.map +1 -1
  104. package/package.json +5 -5
@@ -3,6 +3,7 @@ import type { Bot } from '../index.js';
3
3
  export declare function transformInvite(bot: Bot, invite: DiscordInviteCreate): {
4
4
  guildId?: bigint | undefined;
5
5
  inviter?: {
6
+ locale?: string | undefined;
6
7
  flags?: {
7
8
  bitfield: number;
8
9
  contains: (bits: number) => boolean;
@@ -10,7 +11,6 @@ export declare function transformInvite(bot: Bot, invite: DiscordInviteCreate):
10
11
  remove: (bits: number) => import("./toggles/ToggleBitfield.js").ToggleBitfield;
11
12
  toJSON: () => number;
12
13
  } | undefined;
13
- locale?: string | undefined;
14
14
  avatar?: bigint | undefined;
15
15
  email?: string | undefined;
16
16
  banner?: bigint | undefined;
@@ -20,13 +20,14 @@ export declare function transformInvite(bot: Bot, invite: DiscordInviteCreate):
20
20
  verified: boolean;
21
21
  mfaEnabled: boolean;
22
22
  bitfield: number;
23
- has: (permissions: "bot" | "system" | "verified" | "mfaEnabled" | ("bot" | "system" | "verified" | "mfaEnabled")[]) => boolean;
24
23
  list: () => Record<"bot" | "system" | "verified" | "mfaEnabled", boolean>;
24
+ has: (permissions: "bot" | "system" | "verified" | "mfaEnabled" | ("bot" | "system" | "verified" | "mfaEnabled")[]) => boolean;
25
25
  contains: (bits: number) => boolean;
26
26
  add: (bits: number) => import("./toggles/user.js").UserToggles;
27
27
  remove: (bits: number) => import("./toggles/user.js").UserToggles;
28
28
  toJSON: () => number;
29
29
  } | undefined;
30
+ globalName?: string | undefined;
30
31
  premiumType?: import("@discordeno/types").PremiumTypes | undefined;
31
32
  publicFlags?: {
32
33
  bitfield: number;
@@ -36,8 +37,8 @@ export declare function transformInvite(bot: Bot, invite: DiscordInviteCreate):
36
37
  toJSON: () => number;
37
38
  } | undefined;
38
39
  accentColor?: number | undefined;
39
- id: bigint;
40
40
  username: string;
41
+ id: bigint;
41
42
  discriminator: string;
42
43
  bot: boolean;
43
44
  system: boolean;
@@ -46,6 +47,7 @@ export declare function transformInvite(bot: Bot, invite: DiscordInviteCreate):
46
47
  mfaEnabled: boolean;
47
48
  } | undefined;
48
49
  targetUser?: {
50
+ locale?: string | undefined;
49
51
  flags?: {
50
52
  bitfield: number;
51
53
  contains: (bits: number) => boolean;
@@ -53,7 +55,6 @@ export declare function transformInvite(bot: Bot, invite: DiscordInviteCreate):
53
55
  remove: (bits: number) => import("./toggles/ToggleBitfield.js").ToggleBitfield;
54
56
  toJSON: () => number;
55
57
  } | undefined;
56
- locale?: string | undefined;
57
58
  avatar?: bigint | undefined;
58
59
  email?: string | undefined;
59
60
  banner?: bigint | undefined;
@@ -63,13 +64,14 @@ export declare function transformInvite(bot: Bot, invite: DiscordInviteCreate):
63
64
  verified: boolean;
64
65
  mfaEnabled: boolean;
65
66
  bitfield: number;
66
- has: (permissions: "bot" | "system" | "verified" | "mfaEnabled" | ("bot" | "system" | "verified" | "mfaEnabled")[]) => boolean;
67
67
  list: () => Record<"bot" | "system" | "verified" | "mfaEnabled", boolean>;
68
+ has: (permissions: "bot" | "system" | "verified" | "mfaEnabled" | ("bot" | "system" | "verified" | "mfaEnabled")[]) => boolean;
68
69
  contains: (bits: number) => boolean;
69
70
  add: (bits: number) => import("./toggles/user.js").UserToggles;
70
71
  remove: (bits: number) => import("./toggles/user.js").UserToggles;
71
72
  toJSON: () => number;
72
73
  } | undefined;
74
+ globalName?: string | undefined;
73
75
  premiumType?: import("@discordeno/types").PremiumTypes | undefined;
74
76
  publicFlags?: {
75
77
  bitfield: number;
@@ -79,8 +81,8 @@ export declare function transformInvite(bot: Bot, invite: DiscordInviteCreate):
79
81
  toJSON: () => number;
80
82
  } | undefined;
81
83
  accentColor?: number | undefined;
82
- id: bigint;
83
84
  username: string;
85
+ id: bigint;
84
86
  discriminator: string;
85
87
  bot: boolean;
86
88
  system: boolean;
@@ -98,6 +100,7 @@ export declare function transformInvite(bot: Bot, invite: DiscordInviteCreate):
98
100
  slug?: string | undefined;
99
101
  coverImage?: bigint | undefined;
100
102
  owner?: {
103
+ locale?: string | undefined;
101
104
  flags?: {
102
105
  bitfield: number;
103
106
  contains: (bits: number) => boolean;
@@ -105,7 +108,6 @@ export declare function transformInvite(bot: Bot, invite: DiscordInviteCreate):
105
108
  remove: (bits: number) => import("./toggles/ToggleBitfield.js").ToggleBitfield;
106
109
  toJSON: () => number;
107
110
  } | undefined;
108
- locale?: string | undefined;
109
111
  avatar?: bigint | undefined;
110
112
  email?: string | undefined;
111
113
  banner?: bigint | undefined;
@@ -115,13 +117,14 @@ export declare function transformInvite(bot: Bot, invite: DiscordInviteCreate):
115
117
  verified: boolean;
116
118
  mfaEnabled: boolean;
117
119
  bitfield: number;
118
- has: (permissions: "bot" | "system" | "verified" | "mfaEnabled" | ("bot" | "system" | "verified" | "mfaEnabled")[]) => boolean;
119
120
  list: () => Record<"bot" | "system" | "verified" | "mfaEnabled", boolean>;
121
+ has: (permissions: "bot" | "system" | "verified" | "mfaEnabled" | ("bot" | "system" | "verified" | "mfaEnabled")[]) => boolean;
120
122
  contains: (bits: number) => boolean;
121
123
  add: (bits: number) => import("./toggles/user.js").UserToggles;
122
124
  remove: (bits: number) => import("./toggles/user.js").UserToggles;
123
125
  toJSON: () => number;
124
126
  } | undefined;
127
+ globalName?: string | undefined;
125
128
  premiumType?: import("@discordeno/types").PremiumTypes | undefined;
126
129
  publicFlags?: {
127
130
  bitfield: number;
@@ -131,8 +134,8 @@ export declare function transformInvite(bot: Bot, invite: DiscordInviteCreate):
131
134
  toJSON: () => number;
132
135
  } | undefined;
133
136
  accentColor?: number | undefined;
134
- id: bigint;
135
137
  username: string;
138
+ id: bigint;
136
139
  discriminator: string;
137
140
  bot: boolean;
138
141
  system: boolean;
@@ -160,14 +163,14 @@ export declare function transformInvite(bot: Bot, invite: DiscordInviteCreate):
160
163
  botRequireCodeGrant: boolean;
161
164
  verifyKey: string;
162
165
  } | undefined;
163
- createdAt: number;
166
+ channelId: bigint;
164
167
  code: string;
168
+ createdAt: number;
169
+ targetType: import("@discordeno/types").TargetTypes;
165
170
  uses: number;
166
171
  temporary: boolean;
167
- channelId: bigint;
168
- maxAge: number;
169
172
  maxUses: number;
170
- targetType: import("@discordeno/types").TargetTypes;
173
+ maxAge: number;
171
174
  };
172
175
  export interface Invite extends ReturnType<typeof transformInvite> {
173
176
  }
@@ -1 +1 @@
1
- {"version":3,"file":"invite.d.ts","sourceRoot":"","sources":["../../src/transformers/invite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAItC,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCpE;AAED,MAAM,WAAW,MAAO,SAAQ,UAAU,CAAC,OAAO,eAAe,CAAC;CAAG"}
1
+ {"version":3,"file":"invite.d.ts","sourceRoot":"","sources":["../../src/transformers/invite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAItC,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCpE;AAED,MAAM,WAAW,MAAO,SAAQ,UAAU,CAAC,OAAO,eAAe,CAAC;CAAG"}
@@ -1,9 +1,9 @@
1
- import type { DiscordMember } from '@discordeno/types';
1
+ import type { BigString, DiscordMember } from '@discordeno/types';
2
2
  import type { Bot } from '../bot.js';
3
3
  import { Permissions } from './toggles/Permissions.js';
4
4
  import { MemberToggles } from './toggles/member.js';
5
5
  import type { User } from './user.js';
6
- export declare function transformMember(bot: Bot, payload: DiscordMember, guildId: bigint, userId: bigint): Member;
6
+ export declare function transformMember(bot: Bot, payload: DiscordMember, guildId: BigString, userId: BigString): Member;
7
7
  export interface BaseMember {
8
8
  /** Whether the user is deafened in voice channels */
9
9
  deaf?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../../src/transformers/member.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAcrC,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAoBzG;AAED,MAAM,WAAW,UAAU;IACzB,qDAAqD;IACrD,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,kDAAkD;IAClD,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,wFAAwF;IACxF,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,MAAO,SAAQ,UAAU;IACxC,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,kEAAkE;IAClE,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAA;IACf,4CAA4C;IAC5C,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,+BAA+B;IAC/B,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,wFAAwF;IACxF,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,4LAA4L;IAC5L,0BAA0B,CAAC,EAAE,MAAM,CAAA;CACpC"}
1
+ {"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../../src/transformers/member.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAcrC,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM,CAoB/G;AAED,MAAM,WAAW,UAAU;IACzB,qDAAqD;IACrD,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,kDAAkD;IAClD,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,wFAAwF;IACxF,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,MAAO,SAAQ,UAAU;IACxC,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,kEAAkE;IAClE,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAA;IACf,4CAA4C;IAC5C,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,+BAA+B;IAC/B,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,wFAAwF;IACxF,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,4LAA4L;IAC5L,0BAA0B,CAAC,EAAE,MAAM,CAAA;CACpC"}
@@ -15,8 +15,8 @@ const baseMember = {
15
15
  export function transformMember(bot, payload, guildId, userId) {
16
16
  const member = Object.create(baseMember);
17
17
  const props = bot.transformers.desiredProperties.member;
18
- if (userId && props.id) member.id = userId;
19
- if (guildId && props.guildId) member.guildId = guildId;
18
+ if (userId && props.id) member.id = typeof userId === "string" ? bot.transformers.snowflake(userId) : userId;
19
+ if (guildId && props.guildId) member.guildId = typeof guildId === "string" ? bot.transformers.snowflake(guildId) : guildId;
20
20
  if (payload.user && props.user) member.user = bot.transformers.user(bot, payload.user);
21
21
  if (payload.nick && props.nick) member.nick = payload.nick;
22
22
  if (payload.roles && props.roles) member.roles = payload.roles.map((id)=>bot.transformers.snowflake(id));
@@ -28,7 +28,7 @@ export function transformMember(bot, payload, guildId, userId) {
28
28
  if (props.deaf || props.mute || props.pending) {
29
29
  member.toggles = new MemberToggles(payload);
30
30
  }
31
- return member;
31
+ return bot.transformers.customizers.member(bot, payload, member);
32
32
  }
33
33
 
34
34
  //# sourceMappingURL=member.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/transformers/member.ts"],"sourcesContent":["import type { DiscordMember } from '@discordeno/types'\nimport { iconHashToBigInt } from '@discordeno/utils'\nimport type { Bot } from '../bot.js'\nimport { Permissions } from './toggles/Permissions.js'\nimport { MemberToggles } from './toggles/member.js'\nimport type { User } from './user.js'\n\nconst baseMember: Partial<Member> & BaseMember = {\n get deaf() {\n return !!this.toggles?.has('deaf')\n },\n get mute() {\n return !!this.toggles?.has('mute')\n },\n get pending() {\n return !!this.toggles?.has('pending')\n },\n}\n\nexport function transformMember(bot: Bot, payload: DiscordMember, guildId: bigint, userId: bigint): Member {\n const member: Member = Object.create(baseMember)\n const props = bot.transformers.desiredProperties.member\n\n if (userId && props.id) member.id = userId\n if (guildId && props.guildId) member.guildId = guildId\n if (payload.user && props.user) member.user = bot.transformers.user(bot, payload.user)\n if (payload.nick && props.nick) member.nick = payload.nick\n if (payload.roles && props.roles) member.roles = payload.roles.map((id) => bot.transformers.snowflake(id))\n if (payload.joined_at && props.joinedAt) member.joinedAt = Date.parse(payload.joined_at)\n if (payload.premium_since && props.premiumSince) member.premiumSince = Date.parse(payload.premium_since)\n if (payload.communication_disabled_until && props.communicationDisabledUntil)\n member.communicationDisabledUntil = Date.parse(payload.communication_disabled_until)\n if (payload.avatar && props.avatar) member.avatar = iconHashToBigInt(payload.avatar)\n if (payload.permissions && props.permissions) member.permissions = new Permissions(payload.permissions)\n if (props.deaf || props.mute || props.pending) {\n member.toggles = new MemberToggles(payload)\n }\n\n return member\n}\n\nexport interface BaseMember {\n /** Whether the user is deafened in voice channels */\n deaf?: boolean\n /** Whether the user is muted in voice channels */\n mute?: boolean\n /** Whether the user has not yet passed the guild's Membership Screening requirements */\n pending?: boolean\n}\n\nexport interface Member extends BaseMember {\n /** The user id of the member. */\n id: bigint\n /** The compressed form of all the boolean values on this user. */\n toggles?: MemberToggles\n /** The guild id where this member is. */\n guildId: bigint\n /** The user this guild member represents */\n user?: User\n /** This users guild nickname */\n nick?: string\n /** The members custom avatar for this server. */\n avatar?: bigint\n /** Array of role object ids */\n roles: bigint[]\n /** When the user joined the guild */\n joinedAt: number\n /** When the user started boosting the guild */\n premiumSince?: number\n /** The permissions this member has in the guild. Only present on interaction events. */\n permissions?: Permissions\n /** when the user's timeout will expire and the user will be able to communicate in the guild again (set null to remove timeout), null or a time in the past if the user is not timed out */\n communicationDisabledUntil?: number\n}\n"],"names":["iconHashToBigInt","Permissions","MemberToggles","baseMember","deaf","toggles","has","mute","pending","transformMember","bot","payload","guildId","userId","member","Object","create","props","transformers","desiredProperties","id","user","nick","roles","map","snowflake","joined_at","joinedAt","Date","parse","premium_since","premiumSince","communication_disabled_until","communicationDisabledUntil","avatar","permissions"],"mappings":"AACA,SAASA,gBAAgB,QAAQ,oBAAmB;AAEpD,SAASC,WAAW,QAAQ,2BAA0B;AACtD,SAASC,aAAa,QAAQ,sBAAqB;AAGnD,MAAMC,aAA2C;IAC/C,IAAIC,QAAO;QACT,OAAO,CAAC,CAAC,IAAI,CAACC,OAAO,EAAEC,IAAI;IAC7B;IACA,IAAIC,QAAO;QACT,OAAO,CAAC,CAAC,IAAI,CAACF,OAAO,EAAEC,IAAI;IAC7B;IACA,IAAIE,WAAU;QACZ,OAAO,CAAC,CAAC,IAAI,CAACH,OAAO,EAAEC,IAAI;IAC7B;AACF;AAEA,OAAO,SAASG,gBAAgBC,GAAQ,EAAEC,OAAsB,EAAEC,OAAe,EAAEC,MAAc,EAAU;IACzG,MAAMC,SAAiBC,OAAOC,MAAM,CAACb;IACrC,MAAMc,QAAQP,IAAIQ,YAAY,CAACC,iBAAiB,CAACL,MAAM;IAEvD,IAAID,UAAUI,MAAMG,EAAE,EAAEN,OAAOM,EAAE,GAAGP;IACpC,IAAID,WAAWK,MAAML,OAAO,EAAEE,OAAOF,OAAO,GAAGA;IAC/C,IAAID,QAAQU,IAAI,IAAIJ,MAAMI,IAAI,EAAEP,OAAOO,IAAI,GAAGX,IAAIQ,YAAY,CAACG,IAAI,CAACX,KAAKC,QAAQU,IAAI;IACrF,IAAIV,QAAQW,IAAI,IAAIL,MAAMK,IAAI,EAAER,OAAOQ,IAAI,GAAGX,QAAQW,IAAI;IAC1D,IAAIX,QAAQY,KAAK,IAAIN,MAAMM,KAAK,EAAET,OAAOS,KAAK,GAAGZ,QAAQY,KAAK,CAACC,GAAG,CAAC,CAACJ,KAAOV,IAAIQ,YAAY,CAACO,SAAS,CAACL;IACtG,IAAIT,QAAQe,SAAS,IAAIT,MAAMU,QAAQ,EAAEb,OAAOa,QAAQ,GAAGC,KAAKC,KAAK,CAAClB,QAAQe,SAAS;IACvF,IAAIf,QAAQmB,aAAa,IAAIb,MAAMc,YAAY,EAAEjB,OAAOiB,YAAY,GAAGH,KAAKC,KAAK,CAAClB,QAAQmB,aAAa;IACvG,IAAInB,QAAQqB,4BAA4B,IAAIf,MAAMgB,0BAA0B,EAC1EnB,OAAOmB,0BAA0B,GAAGL,KAAKC,KAAK,CAAClB,QAAQqB,4BAA4B;IACrF,IAAIrB,QAAQuB,MAAM,IAAIjB,MAAMiB,MAAM,EAAEpB,OAAOoB,MAAM,GAAGlC,iBAAiBW,QAAQuB,MAAM;IACnF,IAAIvB,QAAQwB,WAAW,IAAIlB,MAAMkB,WAAW,EAAErB,OAAOqB,WAAW,GAAG,IAAIlC,YAAYU,QAAQwB,WAAW;IACtG,IAAIlB,MAAMb,IAAI,IAAIa,MAAMV,IAAI,IAAIU,MAAMT,OAAO,EAAE;QAC7CM,OAAOT,OAAO,GAAG,IAAIH,cAAcS;IACrC,CAAC;IAED,OAAOG;AACT,CAAC"}
1
+ {"version":3,"sources":["../../src/transformers/member.ts"],"sourcesContent":["import type { BigString, DiscordMember } from '@discordeno/types'\nimport { iconHashToBigInt } from '@discordeno/utils'\nimport type { Bot } from '../bot.js'\nimport { Permissions } from './toggles/Permissions.js'\nimport { MemberToggles } from './toggles/member.js'\nimport type { User } from './user.js'\n\nconst baseMember: Partial<Member> & BaseMember = {\n get deaf() {\n return !!this.toggles?.has('deaf')\n },\n get mute() {\n return !!this.toggles?.has('mute')\n },\n get pending() {\n return !!this.toggles?.has('pending')\n },\n}\n\nexport function transformMember(bot: Bot, payload: DiscordMember, guildId: BigString, userId: BigString): Member {\n const member: Member = Object.create(baseMember)\n const props = bot.transformers.desiredProperties.member\n\n if (userId && props.id) member.id = typeof userId === \"string\" ? bot.transformers.snowflake(userId) : userId\n if (guildId && props.guildId) member.guildId = typeof guildId === \"string\" ? bot.transformers.snowflake(guildId) : guildId\n if (payload.user && props.user) member.user = bot.transformers.user(bot, payload.user)\n if (payload.nick && props.nick) member.nick = payload.nick\n if (payload.roles && props.roles) member.roles = payload.roles.map((id) => bot.transformers.snowflake(id))\n if (payload.joined_at && props.joinedAt) member.joinedAt = Date.parse(payload.joined_at)\n if (payload.premium_since && props.premiumSince) member.premiumSince = Date.parse(payload.premium_since)\n if (payload.communication_disabled_until && props.communicationDisabledUntil)\n member.communicationDisabledUntil = Date.parse(payload.communication_disabled_until)\n if (payload.avatar && props.avatar) member.avatar = iconHashToBigInt(payload.avatar)\n if (payload.permissions && props.permissions) member.permissions = new Permissions(payload.permissions)\n if (props.deaf || props.mute || props.pending) {\n member.toggles = new MemberToggles(payload)\n }\n\n return bot.transformers.customizers.member(bot, payload, member)\n}\n\nexport interface BaseMember {\n /** Whether the user is deafened in voice channels */\n deaf?: boolean\n /** Whether the user is muted in voice channels */\n mute?: boolean\n /** Whether the user has not yet passed the guild's Membership Screening requirements */\n pending?: boolean\n}\n\nexport interface Member extends BaseMember {\n /** The user id of the member. */\n id: bigint\n /** The compressed form of all the boolean values on this user. */\n toggles?: MemberToggles\n /** The guild id where this member is. */\n guildId: bigint\n /** The user this guild member represents */\n user?: User\n /** This users guild nickname */\n nick?: string\n /** The members custom avatar for this server. */\n avatar?: bigint\n /** Array of role object ids */\n roles: bigint[]\n /** When the user joined the guild */\n joinedAt: number\n /** When the user started boosting the guild */\n premiumSince?: number\n /** The permissions this member has in the guild. Only present on interaction events. */\n permissions?: Permissions\n /** when the user's timeout will expire and the user will be able to communicate in the guild again (set null to remove timeout), null or a time in the past if the user is not timed out */\n communicationDisabledUntil?: number\n}\n"],"names":["iconHashToBigInt","Permissions","MemberToggles","baseMember","deaf","toggles","has","mute","pending","transformMember","bot","payload","guildId","userId","member","Object","create","props","transformers","desiredProperties","id","snowflake","user","nick","roles","map","joined_at","joinedAt","Date","parse","premium_since","premiumSince","communication_disabled_until","communicationDisabledUntil","avatar","permissions","customizers"],"mappings":"AACA,SAASA,gBAAgB,QAAQ,oBAAmB;AAEpD,SAASC,WAAW,QAAQ,2BAA0B;AACtD,SAASC,aAAa,QAAQ,sBAAqB;AAGnD,MAAMC,aAA2C;IAC/C,IAAIC,QAAO;QACT,OAAO,CAAC,CAAC,IAAI,CAACC,OAAO,EAAEC,IAAI;IAC7B;IACA,IAAIC,QAAO;QACT,OAAO,CAAC,CAAC,IAAI,CAACF,OAAO,EAAEC,IAAI;IAC7B;IACA,IAAIE,WAAU;QACZ,OAAO,CAAC,CAAC,IAAI,CAACH,OAAO,EAAEC,IAAI;IAC7B;AACF;AAEA,OAAO,SAASG,gBAAgBC,GAAQ,EAAEC,OAAsB,EAAEC,OAAkB,EAAEC,MAAiB,EAAU;IAC/G,MAAMC,SAAiBC,OAAOC,MAAM,CAACb;IACrC,MAAMc,QAAQP,IAAIQ,YAAY,CAACC,iBAAiB,CAACL,MAAM;IAEvD,IAAID,UAAUI,MAAMG,EAAE,EAAEN,OAAOM,EAAE,GAAG,OAAOP,WAAW,WAAYH,IAAIQ,YAAY,CAACG,SAAS,CAACR,UAAUA,MAAM;IAC7G,IAAID,WAAWK,MAAML,OAAO,EAAEE,OAAOF,OAAO,GAAG,OAAOA,YAAY,WAAYF,IAAIQ,YAAY,CAACG,SAAS,CAACT,WAAWA,OAAO;IAC3H,IAAID,QAAQW,IAAI,IAAIL,MAAMK,IAAI,EAAER,OAAOQ,IAAI,GAAGZ,IAAIQ,YAAY,CAACI,IAAI,CAACZ,KAAKC,QAAQW,IAAI;IACrF,IAAIX,QAAQY,IAAI,IAAIN,MAAMM,IAAI,EAAET,OAAOS,IAAI,GAAGZ,QAAQY,IAAI;IAC1D,IAAIZ,QAAQa,KAAK,IAAIP,MAAMO,KAAK,EAAEV,OAAOU,KAAK,GAAGb,QAAQa,KAAK,CAACC,GAAG,CAAC,CAACL,KAAOV,IAAIQ,YAAY,CAACG,SAAS,CAACD;IACtG,IAAIT,QAAQe,SAAS,IAAIT,MAAMU,QAAQ,EAAEb,OAAOa,QAAQ,GAAGC,KAAKC,KAAK,CAAClB,QAAQe,SAAS;IACvF,IAAIf,QAAQmB,aAAa,IAAIb,MAAMc,YAAY,EAAEjB,OAAOiB,YAAY,GAAGH,KAAKC,KAAK,CAAClB,QAAQmB,aAAa;IACvG,IAAInB,QAAQqB,4BAA4B,IAAIf,MAAMgB,0BAA0B,EAC1EnB,OAAOmB,0BAA0B,GAAGL,KAAKC,KAAK,CAAClB,QAAQqB,4BAA4B;IACrF,IAAIrB,QAAQuB,MAAM,IAAIjB,MAAMiB,MAAM,EAAEpB,OAAOoB,MAAM,GAAGlC,iBAAiBW,QAAQuB,MAAM;IACnF,IAAIvB,QAAQwB,WAAW,IAAIlB,MAAMkB,WAAW,EAAErB,OAAOqB,WAAW,GAAG,IAAIlC,YAAYU,QAAQwB,WAAW;IACtG,IAAIlB,MAAMb,IAAI,IAAIa,MAAMV,IAAI,IAAIU,MAAMT,OAAO,EAAE;QAC7CM,OAAOT,OAAO,GAAG,IAAIH,cAAcS;IACrC,CAAC;IAED,OAAOD,IAAIQ,YAAY,CAACkB,WAAW,CAACtB,MAAM,CAACJ,KAAKC,SAASG;AAC3D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/transformers/message.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/transformers/message.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,6 @@ const baseMessage = {
7
7
  return this.flags?.contains(MessageFlags.Crossposted) ?? false;
8
8
  },
9
9
  set crossposted (value){
10
- if (!this.flags) return;
11
10
  if (!this.flags) return;
12
11
  if (value) this.flags.add(MessageFlags.Crossposted);
13
12
  else this.flags.remove(MessageFlags.Crossposted);
@@ -123,14 +122,14 @@ export function transformMessage(bot, payload) {
123
122
  message.bitfield = new ToggleBitfield();
124
123
  message.flags = new ToggleBitfield(payload.flags);
125
124
  const props = bot.transformers.desiredProperties.message;
126
- if (props.author && props.author) message.author = bot.transformers.user(bot, payload.author);
125
+ if (props.author && payload.author) message.author = bot.transformers.user(bot, payload.author);
127
126
  if (payload.application_id && props.applicationId) message.applicationId = bot.transformers.snowflake(payload.application_id);
128
127
  if (payload.attachments?.length && props.attachments) {
129
128
  message.attachments = payload.attachments.map((attachment)=>bot.transformers.attachment(bot, attachment));
130
129
  }
131
- if (props.channelId && props.channelId) message.channelId = bot.transformers.snowflake(payload.channel_id);
130
+ if (props.channelId && payload.channel_id) message.channelId = bot.transformers.snowflake(payload.channel_id);
132
131
  if (props.components && payload.components?.length) message.components = payload.components.map((comp)=>bot.transformers.component(bot, comp));
133
- if (props.content && props.content) message.content = payload.content ?? EMPTY_STRING;
132
+ if (props.content && payload.content) message.content = payload.content ?? EMPTY_STRING;
134
133
  if (payload.edited_timestamp && props.editedTimestamp) message.editedTimestamp = Date.parse(payload.edited_timestamp);
135
134
  if (payload.embeds?.length && props.embeds) message.embeds = payload.embeds.map((embed)=>bot.transformers.embed(bot, embed));
136
135
  if (guildId && props.guildId) message.guildId = guildId;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/transformers/message.ts"],"sourcesContent":["import type { DiscordMessage, InteractionTypes, MessageActivityTypes, MessageTypes, StickerFormatTypes } from '@discordeno/types'\nimport { CHANNEL_MENTION_REGEX } from '../constants.js'\nimport { snowflakeToTimestamp, type Bot } from '../index.js'\nimport { MessageFlags } from '../typings.js'\nimport type { Attachment } from './attachment.js'\nimport type { Channel } from './channel.js'\nimport type { Component } from './component.js'\nimport type { Embed } from './embed.js'\nimport type { Emoji } from './emoji.js'\nimport type { Member } from './member.js'\nimport { ToggleBitfield } from './toggles/ToggleBitfield.js'\nimport type { User } from './user.js'\n\nconst baseMessage: Partial<Message> & MessageBase = {\n get crossposted() {\n return this.flags?.contains(MessageFlags.Crossposted) ?? false\n },\n set crossposted(value: boolean) {\n if (!this.flags) return\n if (!this.flags) return\n if (value) this.flags.add(MessageFlags.Crossposted)\n else this.flags.remove(MessageFlags.Crossposted)\n },\n get ephemeral() {\n return this.flags?.contains(MessageFlags.Ephemeral) ?? false\n },\n set ephemeral(value: boolean) {\n if (!this.flags) return\n if (value) this.flags.add(MessageFlags.Ephemeral)\n else this.flags.remove(MessageFlags.Ephemeral)\n },\n get failedToMentionSomeRolesInThread() {\n return this.flags?.contains(MessageFlags.FailedToMentionSomeRolesInThread) ?? false\n },\n set failedToMentionSomeRolesInThread(value: boolean) {\n if (!this.flags) return\n if (value) this.flags.add(MessageFlags.FailedToMentionSomeRolesInThread)\n else this.flags.remove(MessageFlags.FailedToMentionSomeRolesInThread)\n },\n get hasThread() {\n return this.flags?.contains(MessageFlags.HasThread) ?? false\n },\n set hasThread(value: boolean) {\n if (!this.flags) return\n if (value) this.flags.add(MessageFlags.HasThread)\n else this.flags.remove(MessageFlags.HasThread)\n },\n get isCrosspost() {\n return this.flags?.contains(MessageFlags.IsCrosspost) ?? false\n },\n set isCrosspost(value: boolean) {\n if (!this.flags) return\n if (value) this.flags.add(MessageFlags.IsCrosspost)\n else this.flags.remove(MessageFlags.IsCrosspost)\n },\n get loading() {\n return this.flags?.contains(MessageFlags.Loading) ?? false\n },\n set loading(value: boolean) {\n if (!this.flags) return\n if (value) this.flags.add(MessageFlags.Loading)\n else this.flags.remove(MessageFlags.Loading)\n },\n get mentionedUserIds() {\n return this.mentions?.map((user) => user.id) ?? []\n },\n get mentionEveryone() {\n return this.bitfield?.contains(2) ?? false\n },\n set mentionEveryone(value: boolean) {\n if (!this.bitfield) return\n if (value) this.bitfield.add(2)\n else this.bitfield.remove(2)\n },\n get pinned() {\n return this.bitfield?.contains(3) ?? false\n },\n set pinned(value: boolean) {\n if (!this.bitfield) return\n if (value) this.bitfield.add(3)\n else this.bitfield.remove(3)\n },\n get sourceMessageDeleted() {\n return this.flags?.contains(MessageFlags.SourceMessageDeleted) ?? false\n },\n set sourceMessageDeleted(value: boolean) {\n if (!this.flags) return\n if (value) this.flags.add(MessageFlags.SourceMessageDeleted)\n else this.flags.remove(MessageFlags.SourceMessageDeleted)\n },\n get suppressEmbeds() {\n return this.flags?.contains(MessageFlags.SuppressEmbeds) ?? false\n },\n set suppressEmbeds(value: boolean) {\n if (!this.flags) return\n if (value) this.flags.add(MessageFlags.SuppressEmbeds)\n else this.flags.remove(MessageFlags.SuppressEmbeds)\n },\n get suppressNotifications() {\n return this.flags?.contains(MessageFlags.SuppressNotifications) ?? false\n },\n set suppressNotifications(value: boolean) {\n if (!this.flags) return\n if (value) this.flags.add(MessageFlags.SuppressNotifications)\n else this.flags.remove(MessageFlags.SuppressNotifications)\n },\n get timestamp() {\n return this.id ? snowflakeToTimestamp(this.id) : 0\n },\n get tts() {\n return this.bitfield?.contains(1) ?? false\n },\n set tts(value: boolean) {\n if (!this.bitfield) return\n if (value) this.bitfield.add(1)\n else this.bitfield.remove(1)\n },\n get urgent() {\n return this.flags?.contains(MessageFlags.Urgent) ?? false\n },\n set urgent(value: boolean) {\n if (!this.flags) return\n if (value) this.flags.add(MessageFlags.Urgent)\n else this.flags.remove(MessageFlags.Urgent)\n },\n}\n\nexport interface MessageBase {\n /** Holds all the boolean values on this message. */\n bitfield?: ToggleBitfield\n /** Whether this message has been published to subscribed channels (via Channel Following) */\n crossposted: boolean\n /** Whether this message is only visible to the user who invoked the Interaction */\n ephemeral: boolean\n /** Whether this message failed to mention some roles and add their members to the thread */\n failedToMentionSomeRolesInThread: boolean\n /** Message flags combined as a bitfield */\n flags?: ToggleBitfield\n /** Whether this message has an associated thread, with the same id as the message */\n hasThread: boolean\n /** Whether this message originated from a message in another channel (via Channel Following) */\n isCrosspost: boolean\n /** Whether this message is an Interaction Response and the bot is \"thinking\" */\n loading: boolean\n /** The ids of the users who were mentioned in this message. */\n mentionedUserIds: bigint[]\n /** Whether this message mentions everyone */\n mentionEveryone: boolean\n /** Whether this message is pinned */\n pinned: boolean\n /** Whether the source message for this crosspost has been deleted (via Channel Following) */\n sourceMessageDeleted: boolean\n /** Whether do not include any embeds when serializing this message */\n suppressEmbeds: boolean\n /** Whether this message will not trigger push and desktop notifications */\n suppressNotifications: boolean\n /** The timestamp in milliseconds when this message was created */\n timestamp: number\n /** Whether this was a TTS message. */\n tts: boolean\n /** Whether this message came from the urgent message system */\n urgent: boolean\n}\n\nexport interface Message extends MessageBase {\n /** Sent with Rich Presence-related chat embeds */\n activity?: {\n /** Type of message activity */\n type: MessageActivityTypes\n /** party_id from a Rich Presence event */\n partyId?: string\n }\n /** if the message is an Interaction or application-owned webhook, this is the id of the application */\n applicationId?: bigint\n /** Any attached files on this message. */\n attachments?: Attachment[]\n /** The author of this message (not guaranteed to be a valid user) Note: The author object follows the structure of the user object, but is only a valid user in the case where the message is generated by a user or bot user. If the message is generated by a webhook, the author object corresponds to the webhook's id, username, and avatar. You can tell if a message is generated by a webhook by checking for the webhook_id on the message object. */\n author: User\n /** id of the channel the message was sent in */\n channelId: bigint\n /** The components related to this message */\n components: Component[]\n /** Contents of the message */\n content: string\n /** The timestamp in milliseconds when this message was edited last. */\n editedTimestamp?: number\n /** Any embedded content */\n embeds?: Embed[]\n /** id of the guild the message was sent in Note: For MESSAGE_CREATE and MESSAGE_UPDATE events, the message object may not contain a guild_id or member field since the events are sent directly to the receiving user and the bot who sent the message, rather than being sent through the guild like non-ephemeral messages. */\n guildId?: bigint\n /** id of the message */\n id: bigint\n /** Sent if the message is a response to an Interaction */\n interaction?: {\n /** Id of the interaction */\n id: bigint\n /** The member who invoked the interaction in the guild */\n member?: Member\n /** The name of the ApplicationCommand including the name of the subcommand/subcommand group */\n name: string\n /** The type of interaction */\n type: InteractionTypes\n /** The user who invoked the interaction */\n user: User\n }\n /** Member properties for this message's author Note: The member object exists in MESSAGE_CREATE and MESSAGE_UPDATE events from text-based guild channels. This allows bots to obtain real-time member data without requiring bots to store member state in memory. */\n member?: Member\n /** Users specifically mentioned in the message Note: The user objects in the mentions array will only have the partial member field present in MESSAGE_CREATE and MESSAGE_UPDATE events from text-based guild channels. */\n mentions?: User[]\n /** Channels specifically mentioned in this message Note: Not all channel mentions in a message will appear in mention_channels. Only textual channels that are visible to everyone in a lurkable guild will ever be included. Only crossposted messages (via Channel Following) currently include mention_channels at all. If no mentions in the message meet these requirements, this field will not be sent. */\n mentionedChannelIds?: bigint[]\n /** Roles specifically mentioned in this message */\n mentionedRoleIds?: bigint[]\n /** Data showing the source of a crossposted channel follow add, pin or reply message */\n messageReference?: {\n /** id of the originating message's channel Note: channel_id is optional when creating a reply, but will always be present when receiving an event/response that includes this data model. */\n channelId?: bigint\n /** id of the originating message's guild */\n guildId?: bigint\n /** id of the originating message */\n messageId?: bigint\n }\n /** Used for validating a message was sent */\n nonce?: string | number\n /** Reactions on this message. */\n reactions?: Array<{\n /** Whether the current user reacted using this emoji */\n me: boolean\n /** Times this emoji has been used to react */\n count: number\n /** Emoji information */\n emoji: Emoji\n }>\n /** Sent if the message contains stickers */\n stickerItems?: Array<{\n /** The id of this sticker. */\n id: bigint\n /** The name of this sticker. */\n name: string\n /** The type of this stickers format. */\n formatType: StickerFormatTypes\n }>\n /** Type of message */\n type: MessageTypes\n /** The thread that was started from this message, includes thread member object */\n thread?: Channel\n /** If the message is generated by a webhook, this is the webhook's id */\n webhookId?: bigint\n}\n\nconst EMPTY_STRING = ''\n\nexport function transformMessage(bot: Bot, payload: DiscordMessage): Message {\n const guildId = payload.guild_id ? bot.transformers.snowflake(payload.guild_id) : undefined\n const userId = bot.transformers.snowflake(payload.author.id)\n\n const message: Message = Object.create(baseMessage)\n message.bitfield = new ToggleBitfield()\n message.flags = new ToggleBitfield(payload.flags)\n\n const props = bot.transformers.desiredProperties.message\n\n if (props.author && props.author) message.author = bot.transformers.user(bot, payload.author)\n if (payload.application_id && props.applicationId) message.applicationId = bot.transformers.snowflake(payload.application_id)\n if (payload.attachments?.length && props.attachments) {\n message.attachments = payload.attachments.map((attachment) => bot.transformers.attachment(bot, attachment))\n }\n if (props.channelId && props.channelId) message.channelId = bot.transformers.snowflake(payload.channel_id)\n if (props.components && payload.components?.length) message.components = payload.components.map((comp) => bot.transformers.component(bot, comp))\n if (props.content && props.content) message.content = payload.content ?? EMPTY_STRING\n if (payload.edited_timestamp && props.editedTimestamp) message.editedTimestamp = Date.parse(payload.edited_timestamp)\n if (payload.embeds?.length && props.embeds) message.embeds = payload.embeds.map((embed) => bot.transformers.embed(bot, embed))\n if (guildId && props.guildId) message.guildId = guildId\n if (props.id && payload.id) message.id = bot.transformers.snowflake(payload.id)\n if (payload.interaction) {\n const interaction = {} as NonNullable<Message['interaction']>\n let edited = false\n if (props.interaction.id) {\n interaction.id = bot.transformers.snowflake(payload.interaction.id)\n edited = true\n }\n if (props.interaction.member && payload.interaction.member) {\n // @ts-expect-error TODO: partial - check why this is partial and handle as needed\n interaction.member = bot.transformers.member(bot, payload.interaction.member, guildId, payload.interaction.user.id)\n edited = true\n }\n if (props.interaction.name) {\n interaction.name = payload.interaction.name\n edited = true\n }\n if (props.interaction.type) {\n interaction.type = payload.interaction.type\n edited = true\n }\n if (props.interaction.user) {\n interaction.user = bot.transformers.user(bot, payload.interaction.user)\n edited = true\n }\n\n if (edited) message.interaction = interaction\n }\n if (props.member && payload.member && guildId) message.member = bot.transformers.member(bot, payload.member, guildId, userId)\n if (payload.mention_everyone) message.mentionEveryone = true\n if (props.mentionedChannelIds && payload.mention_channels?.length) {\n message.mentionedChannelIds = [\n // Keep any ids tht discord sends\n ...(payload.mention_channels ?? []).map((m) => bot.transformers.snowflake(m.id)),\n // Add any other ids that can be validated in a channel mention format\n ...(payload.content?.match(CHANNEL_MENTION_REGEX) ?? []).map((text) =>\n // converts the <#123> into 123\n bot.transformers.snowflake(text.substring(2, text.length - 1)),\n ),\n ]\n }\n if (props.mentionedRoleIds && payload.mention_roles?.length) {\n message.mentionedRoleIds = payload.mention_roles.map((id) => bot.transformers.snowflake(id))\n }\n if (props.mentions && payload.mentions?.length) {\n message.mentions = payload.mentions.map((user) => bot.transformers.user(bot, user))\n }\n if (payload.message_reference) {\n const reference = {} as NonNullable<Message['messageReference']>\n let edited = false\n\n if (props.messageReference.channelId && payload.message_reference.channel_id) {\n reference.channelId = bot.transformers.snowflake(payload.message_reference.channel_id)\n edited = true\n }\n if (props.messageReference.guildId && payload.message_reference.guild_id) {\n reference.guildId = bot.transformers.snowflake(payload.message_reference.guild_id)\n edited = true\n }\n if (props.messageReference.messageId && payload.message_reference.message_id) {\n reference.messageId = bot.transformers.snowflake(payload.message_reference.message_id)\n edited = true\n }\n\n if (edited) message.messageReference = reference\n }\n if (payload.nonce && props.nonce) message.nonce = payload.nonce\n if (payload.pinned) message.pinned = true\n if (payload.reactions?.length && props.reactions) {\n message.reactions = payload.reactions.map((reaction) => ({\n me: reaction.me,\n count: reaction.count,\n emoji: bot.transformers.emoji(bot, reaction.emoji),\n }))\n }\n if (props.stickerItems && payload.sticker_items?.length)\n message.stickerItems = payload.sticker_items.map((item) => ({\n id: bot.transformers.snowflake(item.id),\n name: item.name,\n formatType: item.format_type,\n }))\n if (payload.tts) message.tts = true\n if (props.thread && payload.thread) message.thread = bot.transformers.channel(bot, { channel: payload.thread, guildId })\n if (props.type && props.type) message.type = payload.type\n if (payload.webhook_id && props.webhookId) message.webhookId = bot.transformers.snowflake(payload.webhook_id)\n\n return bot.transformers.customizers.message(bot, payload, message)\n}\n"],"names":["CHANNEL_MENTION_REGEX","snowflakeToTimestamp","MessageFlags","ToggleBitfield","baseMessage","crossposted","flags","contains","Crossposted","value","add","remove","ephemeral","Ephemeral","failedToMentionSomeRolesInThread","FailedToMentionSomeRolesInThread","hasThread","HasThread","isCrosspost","IsCrosspost","loading","Loading","mentionedUserIds","mentions","map","user","id","mentionEveryone","bitfield","pinned","sourceMessageDeleted","SourceMessageDeleted","suppressEmbeds","SuppressEmbeds","suppressNotifications","SuppressNotifications","timestamp","tts","urgent","Urgent","EMPTY_STRING","transformMessage","bot","payload","guildId","guild_id","transformers","snowflake","undefined","userId","author","message","Object","create","props","desiredProperties","application_id","applicationId","attachments","length","attachment","channelId","channel_id","components","comp","component","content","edited_timestamp","editedTimestamp","Date","parse","embeds","embed","interaction","edited","member","name","type","mention_everyone","mentionedChannelIds","mention_channels","m","match","text","substring","mentionedRoleIds","mention_roles","message_reference","reference","messageReference","messageId","message_id","nonce","reactions","reaction","me","count","emoji","stickerItems","sticker_items","item","formatType","format_type","thread","channel","webhook_id","webhookId","customizers"],"mappings":"AACA,SAASA,qBAAqB,QAAQ,kBAAiB;AACvD,SAASC,oBAAoB,QAAkB,cAAa;AAC5D,SAASC,YAAY,QAAQ,gBAAe;AAO5C,SAASC,cAAc,QAAQ,8BAA6B;AAG5D,MAAMC,cAA8C;IAClD,IAAIC,eAAc;QAChB,OAAO,IAAI,CAACC,KAAK,EAAEC,SAASL,aAAaM,WAAW,KAAK,KAAK;IAChE;IACA,IAAIH,aAAYI,MAAgB;QAC9B,IAAI,CAAC,IAAI,CAACH,KAAK,EAAE;QACjB,IAAI,CAAC,IAAI,CAACA,KAAK,EAAE;QACjB,IAAIG,OAAO,IAAI,CAACH,KAAK,CAACI,GAAG,CAACR,aAAaM,WAAW;aAC7C,IAAI,CAACF,KAAK,CAACK,MAAM,CAACT,aAAaM,WAAW;IACjD;IACA,IAAII,aAAY;QACd,OAAO,IAAI,CAACN,KAAK,EAAEC,SAASL,aAAaW,SAAS,KAAK,KAAK;IAC9D;IACA,IAAID,WAAUH,MAAgB;QAC5B,IAAI,CAAC,IAAI,CAACH,KAAK,EAAE;QACjB,IAAIG,OAAO,IAAI,CAACH,KAAK,CAACI,GAAG,CAACR,aAAaW,SAAS;aAC3C,IAAI,CAACP,KAAK,CAACK,MAAM,CAACT,aAAaW,SAAS;IAC/C;IACA,IAAIC,oCAAmC;QACrC,OAAO,IAAI,CAACR,KAAK,EAAEC,SAASL,aAAaa,gCAAgC,KAAK,KAAK;IACrF;IACA,IAAID,kCAAiCL,MAAgB;QACnD,IAAI,CAAC,IAAI,CAACH,KAAK,EAAE;QACjB,IAAIG,OAAO,IAAI,CAACH,KAAK,CAACI,GAAG,CAACR,aAAaa,gCAAgC;aAClE,IAAI,CAACT,KAAK,CAACK,MAAM,CAACT,aAAaa,gCAAgC;IACtE;IACA,IAAIC,aAAY;QACd,OAAO,IAAI,CAACV,KAAK,EAAEC,SAASL,aAAae,SAAS,KAAK,KAAK;IAC9D;IACA,IAAID,WAAUP,MAAgB;QAC5B,IAAI,CAAC,IAAI,CAACH,KAAK,EAAE;QACjB,IAAIG,OAAO,IAAI,CAACH,KAAK,CAACI,GAAG,CAACR,aAAae,SAAS;aAC3C,IAAI,CAACX,KAAK,CAACK,MAAM,CAACT,aAAae,SAAS;IAC/C;IACA,IAAIC,eAAc;QAChB,OAAO,IAAI,CAACZ,KAAK,EAAEC,SAASL,aAAaiB,WAAW,KAAK,KAAK;IAChE;IACA,IAAID,aAAYT,MAAgB;QAC9B,IAAI,CAAC,IAAI,CAACH,KAAK,EAAE;QACjB,IAAIG,OAAO,IAAI,CAACH,KAAK,CAACI,GAAG,CAACR,aAAaiB,WAAW;aAC7C,IAAI,CAACb,KAAK,CAACK,MAAM,CAACT,aAAaiB,WAAW;IACjD;IACA,IAAIC,WAAU;QACZ,OAAO,IAAI,CAACd,KAAK,EAAEC,SAASL,aAAamB,OAAO,KAAK,KAAK;IAC5D;IACA,IAAID,SAAQX,MAAgB;QAC1B,IAAI,CAAC,IAAI,CAACH,KAAK,EAAE;QACjB,IAAIG,OAAO,IAAI,CAACH,KAAK,CAACI,GAAG,CAACR,aAAamB,OAAO;aACzC,IAAI,CAACf,KAAK,CAACK,MAAM,CAACT,aAAamB,OAAO;IAC7C;IACA,IAAIC,oBAAmB;QACrB,OAAO,IAAI,CAACC,QAAQ,EAAEC,IAAI,CAACC,OAASA,KAAKC,EAAE,KAAK,EAAE;IACpD;IACA,IAAIC,mBAAkB;QACpB,OAAO,IAAI,CAACC,QAAQ,EAAErB,SAAS,MAAM,KAAK;IAC5C;IACA,IAAIoB,iBAAgBlB,MAAgB;QAClC,IAAI,CAAC,IAAI,CAACmB,QAAQ,EAAE;QACpB,IAAInB,OAAO,IAAI,CAACmB,QAAQ,CAAClB,GAAG,CAAC;aACxB,IAAI,CAACkB,QAAQ,CAACjB,MAAM,CAAC;IAC5B;IACA,IAAIkB,UAAS;QACX,OAAO,IAAI,CAACD,QAAQ,EAAErB,SAAS,MAAM,KAAK;IAC5C;IACA,IAAIsB,QAAOpB,MAAgB;QACzB,IAAI,CAAC,IAAI,CAACmB,QAAQ,EAAE;QACpB,IAAInB,OAAO,IAAI,CAACmB,QAAQ,CAAClB,GAAG,CAAC;aACxB,IAAI,CAACkB,QAAQ,CAACjB,MAAM,CAAC;IAC5B;IACA,IAAImB,wBAAuB;QACzB,OAAO,IAAI,CAACxB,KAAK,EAAEC,SAASL,aAAa6B,oBAAoB,KAAK,KAAK;IACzE;IACA,IAAID,sBAAqBrB,MAAgB;QACvC,IAAI,CAAC,IAAI,CAACH,KAAK,EAAE;QACjB,IAAIG,OAAO,IAAI,CAACH,KAAK,CAACI,GAAG,CAACR,aAAa6B,oBAAoB;aACtD,IAAI,CAACzB,KAAK,CAACK,MAAM,CAACT,aAAa6B,oBAAoB;IAC1D;IACA,IAAIC,kBAAiB;QACnB,OAAO,IAAI,CAAC1B,KAAK,EAAEC,SAASL,aAAa+B,cAAc,KAAK,KAAK;IACnE;IACA,IAAID,gBAAevB,MAAgB;QACjC,IAAI,CAAC,IAAI,CAACH,KAAK,EAAE;QACjB,IAAIG,OAAO,IAAI,CAACH,KAAK,CAACI,GAAG,CAACR,aAAa+B,cAAc;aAChD,IAAI,CAAC3B,KAAK,CAACK,MAAM,CAACT,aAAa+B,cAAc;IACpD;IACA,IAAIC,yBAAwB;QAC1B,OAAO,IAAI,CAAC5B,KAAK,EAAEC,SAASL,aAAaiC,qBAAqB,KAAK,KAAK;IAC1E;IACA,IAAID,uBAAsBzB,MAAgB;QACxC,IAAI,CAAC,IAAI,CAACH,KAAK,EAAE;QACjB,IAAIG,OAAO,IAAI,CAACH,KAAK,CAACI,GAAG,CAACR,aAAaiC,qBAAqB;aACvD,IAAI,CAAC7B,KAAK,CAACK,MAAM,CAACT,aAAaiC,qBAAqB;IAC3D;IACA,IAAIC,aAAY;QACd,OAAO,IAAI,CAACV,EAAE,GAAGzB,qBAAqB,IAAI,CAACyB,EAAE,IAAI,CAAC;IACpD;IACA,IAAIW,OAAM;QACR,OAAO,IAAI,CAACT,QAAQ,EAAErB,SAAS,MAAM,KAAK;IAC5C;IACA,IAAI8B,KAAI5B,MAAgB;QACtB,IAAI,CAAC,IAAI,CAACmB,QAAQ,EAAE;QACpB,IAAInB,OAAO,IAAI,CAACmB,QAAQ,CAAClB,GAAG,CAAC;aACxB,IAAI,CAACkB,QAAQ,CAACjB,MAAM,CAAC;IAC5B;IACA,IAAI2B,UAAS;QACX,OAAO,IAAI,CAAChC,KAAK,EAAEC,SAASL,aAAaqC,MAAM,KAAK,KAAK;IAC3D;IACA,IAAID,QAAO7B,MAAgB;QACzB,IAAI,CAAC,IAAI,CAACH,KAAK,EAAE;QACjB,IAAIG,OAAO,IAAI,CAACH,KAAK,CAACI,GAAG,CAACR,aAAaqC,MAAM;aACxC,IAAI,CAACjC,KAAK,CAACK,MAAM,CAACT,aAAaqC,MAAM;IAC5C;AACF;AA6HA,MAAMC,eAAe;AAErB,OAAO,SAASC,iBAAiBC,GAAQ,EAAEC,OAAuB,EAAW;IAC3E,MAAMC,UAAUD,QAAQE,QAAQ,GAAGH,IAAII,YAAY,CAACC,SAAS,CAACJ,QAAQE,QAAQ,IAAIG,SAAS;IAC3F,MAAMC,SAASP,IAAII,YAAY,CAACC,SAAS,CAACJ,QAAQO,MAAM,CAACxB,EAAE;IAE3D,MAAMyB,UAAmBC,OAAOC,MAAM,CAACjD;IACvC+C,QAAQvB,QAAQ,GAAG,IAAIzB;IACvBgD,QAAQ7C,KAAK,GAAG,IAAIH,eAAewC,QAAQrC,KAAK;IAEhD,MAAMgD,QAAQZ,IAAII,YAAY,CAACS,iBAAiB,CAACJ,OAAO;IAExD,IAAIG,MAAMJ,MAAM,IAAII,MAAMJ,MAAM,EAAEC,QAAQD,MAAM,GAAGR,IAAII,YAAY,CAACrB,IAAI,CAACiB,KAAKC,QAAQO,MAAM;IAC5F,IAAIP,QAAQa,cAAc,IAAIF,MAAMG,aAAa,EAAEN,QAAQM,aAAa,GAAGf,IAAII,YAAY,CAACC,SAAS,CAACJ,QAAQa,cAAc;IAC5H,IAAIb,QAAQe,WAAW,EAAEC,UAAUL,MAAMI,WAAW,EAAE;QACpDP,QAAQO,WAAW,GAAGf,QAAQe,WAAW,CAAClC,GAAG,CAAC,CAACoC,aAAelB,IAAII,YAAY,CAACc,UAAU,CAAClB,KAAKkB;IACjG,CAAC;IACD,IAAIN,MAAMO,SAAS,IAAIP,MAAMO,SAAS,EAAEV,QAAQU,SAAS,GAAGnB,IAAII,YAAY,CAACC,SAAS,CAACJ,QAAQmB,UAAU;IACzG,IAAIR,MAAMS,UAAU,IAAIpB,QAAQoB,UAAU,EAAEJ,QAAQR,QAAQY,UAAU,GAAGpB,QAAQoB,UAAU,CAACvC,GAAG,CAAC,CAACwC,OAAStB,IAAII,YAAY,CAACmB,SAAS,CAACvB,KAAKsB;IAC1I,IAAIV,MAAMY,OAAO,IAAIZ,MAAMY,OAAO,EAAEf,QAAQe,OAAO,GAAGvB,QAAQuB,OAAO,IAAI1B;IACzE,IAAIG,QAAQwB,gBAAgB,IAAIb,MAAMc,eAAe,EAAEjB,QAAQiB,eAAe,GAAGC,KAAKC,KAAK,CAAC3B,QAAQwB,gBAAgB;IACpH,IAAIxB,QAAQ4B,MAAM,EAAEZ,UAAUL,MAAMiB,MAAM,EAAEpB,QAAQoB,MAAM,GAAG5B,QAAQ4B,MAAM,CAAC/C,GAAG,CAAC,CAACgD,QAAU9B,IAAII,YAAY,CAAC0B,KAAK,CAAC9B,KAAK8B;IACvH,IAAI5B,WAAWU,MAAMV,OAAO,EAAEO,QAAQP,OAAO,GAAGA;IAChD,IAAIU,MAAM5B,EAAE,IAAIiB,QAAQjB,EAAE,EAAEyB,QAAQzB,EAAE,GAAGgB,IAAII,YAAY,CAACC,SAAS,CAACJ,QAAQjB,EAAE;IAC9E,IAAIiB,QAAQ8B,WAAW,EAAE;QACvB,MAAMA,cAAc,CAAC;QACrB,IAAIC,SAAS,KAAK;QAClB,IAAIpB,MAAMmB,WAAW,CAAC/C,EAAE,EAAE;YACxB+C,YAAY/C,EAAE,GAAGgB,IAAII,YAAY,CAACC,SAAS,CAACJ,QAAQ8B,WAAW,CAAC/C,EAAE;YAClEgD,SAAS,IAAI;QACf,CAAC;QACD,IAAIpB,MAAMmB,WAAW,CAACE,MAAM,IAAIhC,QAAQ8B,WAAW,CAACE,MAAM,EAAE;YAC1D,kFAAkF;YAClFF,YAAYE,MAAM,GAAGjC,IAAII,YAAY,CAAC6B,MAAM,CAACjC,KAAKC,QAAQ8B,WAAW,CAACE,MAAM,EAAE/B,SAASD,QAAQ8B,WAAW,CAAChD,IAAI,CAACC,EAAE;YAClHgD,SAAS,IAAI;QACf,CAAC;QACD,IAAIpB,MAAMmB,WAAW,CAACG,IAAI,EAAE;YAC1BH,YAAYG,IAAI,GAAGjC,QAAQ8B,WAAW,CAACG,IAAI;YAC3CF,SAAS,IAAI;QACf,CAAC;QACD,IAAIpB,MAAMmB,WAAW,CAACI,IAAI,EAAE;YAC1BJ,YAAYI,IAAI,GAAGlC,QAAQ8B,WAAW,CAACI,IAAI;YAC3CH,SAAS,IAAI;QACf,CAAC;QACD,IAAIpB,MAAMmB,WAAW,CAAChD,IAAI,EAAE;YAC1BgD,YAAYhD,IAAI,GAAGiB,IAAII,YAAY,CAACrB,IAAI,CAACiB,KAAKC,QAAQ8B,WAAW,CAAChD,IAAI;YACtEiD,SAAS,IAAI;QACf,CAAC;QAED,IAAIA,QAAQvB,QAAQsB,WAAW,GAAGA;IACpC,CAAC;IACD,IAAInB,MAAMqB,MAAM,IAAIhC,QAAQgC,MAAM,IAAI/B,SAASO,QAAQwB,MAAM,GAAGjC,IAAII,YAAY,CAAC6B,MAAM,CAACjC,KAAKC,QAAQgC,MAAM,EAAE/B,SAASK;IACtH,IAAIN,QAAQmC,gBAAgB,EAAE3B,QAAQxB,eAAe,GAAG,IAAI;IAC5D,IAAI2B,MAAMyB,mBAAmB,IAAIpC,QAAQqC,gBAAgB,EAAErB,QAAQ;QACjER,QAAQ4B,mBAAmB,GAAG;YAC5B,iCAAiC;eAC9B,AAACpC,CAAAA,QAAQqC,gBAAgB,IAAI,EAAE,AAAD,EAAGxD,GAAG,CAAC,CAACyD,IAAMvC,IAAII,YAAY,CAACC,SAAS,CAACkC,EAAEvD,EAAE;YAC9E,sEAAsE;eACnE,AAACiB,CAAAA,QAAQuB,OAAO,EAAEgB,MAAMlF,0BAA0B,EAAE,AAAD,EAAGwB,GAAG,CAAC,CAAC2D,OAC5D,+BAA+B;gBAC/BzC,IAAII,YAAY,CAACC,SAAS,CAACoC,KAAKC,SAAS,CAAC,GAAGD,KAAKxB,MAAM,GAAG;SAE9D;IACH,CAAC;IACD,IAAIL,MAAM+B,gBAAgB,IAAI1C,QAAQ2C,aAAa,EAAE3B,QAAQ;QAC3DR,QAAQkC,gBAAgB,GAAG1C,QAAQ2C,aAAa,CAAC9D,GAAG,CAAC,CAACE,KAAOgB,IAAII,YAAY,CAACC,SAAS,CAACrB;IAC1F,CAAC;IACD,IAAI4B,MAAM/B,QAAQ,IAAIoB,QAAQpB,QAAQ,EAAEoC,QAAQ;QAC9CR,QAAQ5B,QAAQ,GAAGoB,QAAQpB,QAAQ,CAACC,GAAG,CAAC,CAACC,OAASiB,IAAII,YAAY,CAACrB,IAAI,CAACiB,KAAKjB;IAC/E,CAAC;IACD,IAAIkB,QAAQ4C,iBAAiB,EAAE;QAC7B,MAAMC,YAAY,CAAC;QACnB,IAAId,SAAS,KAAK;QAElB,IAAIpB,MAAMmC,gBAAgB,CAAC5B,SAAS,IAAIlB,QAAQ4C,iBAAiB,CAACzB,UAAU,EAAE;YAC5E0B,UAAU3B,SAAS,GAAGnB,IAAII,YAAY,CAACC,SAAS,CAACJ,QAAQ4C,iBAAiB,CAACzB,UAAU;YACrFY,SAAS,IAAI;QACf,CAAC;QACD,IAAIpB,MAAMmC,gBAAgB,CAAC7C,OAAO,IAAID,QAAQ4C,iBAAiB,CAAC1C,QAAQ,EAAE;YACxE2C,UAAU5C,OAAO,GAAGF,IAAII,YAAY,CAACC,SAAS,CAACJ,QAAQ4C,iBAAiB,CAAC1C,QAAQ;YACjF6B,SAAS,IAAI;QACf,CAAC;QACD,IAAIpB,MAAMmC,gBAAgB,CAACC,SAAS,IAAI/C,QAAQ4C,iBAAiB,CAACI,UAAU,EAAE;YAC5EH,UAAUE,SAAS,GAAGhD,IAAII,YAAY,CAACC,SAAS,CAACJ,QAAQ4C,iBAAiB,CAACI,UAAU;YACrFjB,SAAS,IAAI;QACf,CAAC;QAED,IAAIA,QAAQvB,QAAQsC,gBAAgB,GAAGD;IACzC,CAAC;IACD,IAAI7C,QAAQiD,KAAK,IAAItC,MAAMsC,KAAK,EAAEzC,QAAQyC,KAAK,GAAGjD,QAAQiD,KAAK;IAC/D,IAAIjD,QAAQd,MAAM,EAAEsB,QAAQtB,MAAM,GAAG,IAAI;IACzC,IAAIc,QAAQkD,SAAS,EAAElC,UAAUL,MAAMuC,SAAS,EAAE;QAChD1C,QAAQ0C,SAAS,GAAGlD,QAAQkD,SAAS,CAACrE,GAAG,CAAC,CAACsE,WAAc,CAAA;gBACvDC,IAAID,SAASC,EAAE;gBACfC,OAAOF,SAASE,KAAK;gBACrBC,OAAOvD,IAAII,YAAY,CAACmD,KAAK,CAACvD,KAAKoD,SAASG,KAAK;YACnD,CAAA;IACF,CAAC;IACD,IAAI3C,MAAM4C,YAAY,IAAIvD,QAAQwD,aAAa,EAAExC,QAC/CR,QAAQ+C,YAAY,GAAGvD,QAAQwD,aAAa,CAAC3E,GAAG,CAAC,CAAC4E,OAAU,CAAA;YAC1D1E,IAAIgB,IAAII,YAAY,CAACC,SAAS,CAACqD,KAAK1E,EAAE;YACtCkD,MAAMwB,KAAKxB,IAAI;YACfyB,YAAYD,KAAKE,WAAW;QAC9B,CAAA;IACF,IAAI3D,QAAQN,GAAG,EAAEc,QAAQd,GAAG,GAAG,IAAI;IACnC,IAAIiB,MAAMiD,MAAM,IAAI5D,QAAQ4D,MAAM,EAAEpD,QAAQoD,MAAM,GAAG7D,IAAII,YAAY,CAAC0D,OAAO,CAAC9D,KAAK;QAAE8D,SAAS7D,QAAQ4D,MAAM;QAAE3D;IAAQ;IACtH,IAAIU,MAAMuB,IAAI,IAAIvB,MAAMuB,IAAI,EAAE1B,QAAQ0B,IAAI,GAAGlC,QAAQkC,IAAI;IACzD,IAAIlC,QAAQ8D,UAAU,IAAInD,MAAMoD,SAAS,EAAEvD,QAAQuD,SAAS,GAAGhE,IAAII,YAAY,CAACC,SAAS,CAACJ,QAAQ8D,UAAU;IAE5G,OAAO/D,IAAII,YAAY,CAAC6D,WAAW,CAACxD,OAAO,CAACT,KAAKC,SAASQ;AAC5D,CAAC"}
1
+ {"version":3,"sources":["../../src/transformers/message.ts"],"sourcesContent":["import type { DiscordMessage, InteractionTypes, MessageActivityTypes, MessageTypes, StickerFormatTypes } from '@discordeno/types'\nimport { CHANNEL_MENTION_REGEX } from '../constants.js'\nimport { snowflakeToTimestamp, type Bot } from '../index.js'\nimport { MessageFlags } from '../typings.js'\nimport type { Attachment } from './attachment.js'\nimport type { Channel } from './channel.js'\nimport type { Component } from './component.js'\nimport type { Embed } from './embed.js'\nimport type { Emoji } from './emoji.js'\nimport type { Member } from './member.js'\nimport { ToggleBitfield } from './toggles/ToggleBitfield.js'\nimport type { User } from './user.js'\n\nconst baseMessage: Partial<Message> & MessageBase = {\n get crossposted() {\n return this.flags?.contains(MessageFlags.Crossposted) ?? false\n },\n set crossposted(value: boolean) {\n if (!this.flags) return\n if (value) this.flags.add(MessageFlags.Crossposted)\n else this.flags.remove(MessageFlags.Crossposted)\n },\n get ephemeral() {\n return this.flags?.contains(MessageFlags.Ephemeral) ?? false\n },\n set ephemeral(value: boolean) {\n if (!this.flags) return\n if (value) this.flags.add(MessageFlags.Ephemeral)\n else this.flags.remove(MessageFlags.Ephemeral)\n },\n get failedToMentionSomeRolesInThread() {\n return this.flags?.contains(MessageFlags.FailedToMentionSomeRolesInThread) ?? false\n },\n set failedToMentionSomeRolesInThread(value: boolean) {\n if (!this.flags) return\n if (value) this.flags.add(MessageFlags.FailedToMentionSomeRolesInThread)\n else this.flags.remove(MessageFlags.FailedToMentionSomeRolesInThread)\n },\n get hasThread() {\n return this.flags?.contains(MessageFlags.HasThread) ?? false\n },\n set hasThread(value: boolean) {\n if (!this.flags) return\n if (value) this.flags.add(MessageFlags.HasThread)\n else this.flags.remove(MessageFlags.HasThread)\n },\n get isCrosspost() {\n return this.flags?.contains(MessageFlags.IsCrosspost) ?? false\n },\n set isCrosspost(value: boolean) {\n if (!this.flags) return\n if (value) this.flags.add(MessageFlags.IsCrosspost)\n else this.flags.remove(MessageFlags.IsCrosspost)\n },\n get loading() {\n return this.flags?.contains(MessageFlags.Loading) ?? false\n },\n set loading(value: boolean) {\n if (!this.flags) return\n if (value) this.flags.add(MessageFlags.Loading)\n else this.flags.remove(MessageFlags.Loading)\n },\n get mentionedUserIds() {\n return this.mentions?.map((user) => user.id) ?? []\n },\n get mentionEveryone() {\n return this.bitfield?.contains(2) ?? false\n },\n set mentionEveryone(value: boolean) {\n if (!this.bitfield) return\n if (value) this.bitfield.add(2)\n else this.bitfield.remove(2)\n },\n get pinned() {\n return this.bitfield?.contains(3) ?? false\n },\n set pinned(value: boolean) {\n if (!this.bitfield) return\n if (value) this.bitfield.add(3)\n else this.bitfield.remove(3)\n },\n get sourceMessageDeleted() {\n return this.flags?.contains(MessageFlags.SourceMessageDeleted) ?? false\n },\n set sourceMessageDeleted(value: boolean) {\n if (!this.flags) return\n if (value) this.flags.add(MessageFlags.SourceMessageDeleted)\n else this.flags.remove(MessageFlags.SourceMessageDeleted)\n },\n get suppressEmbeds() {\n return this.flags?.contains(MessageFlags.SuppressEmbeds) ?? false\n },\n set suppressEmbeds(value: boolean) {\n if (!this.flags) return\n if (value) this.flags.add(MessageFlags.SuppressEmbeds)\n else this.flags.remove(MessageFlags.SuppressEmbeds)\n },\n get suppressNotifications() {\n return this.flags?.contains(MessageFlags.SuppressNotifications) ?? false\n },\n set suppressNotifications(value: boolean) {\n if (!this.flags) return\n if (value) this.flags.add(MessageFlags.SuppressNotifications)\n else this.flags.remove(MessageFlags.SuppressNotifications)\n },\n get timestamp() {\n return this.id ? snowflakeToTimestamp(this.id) : 0\n },\n get tts() {\n return this.bitfield?.contains(1) ?? false\n },\n set tts(value: boolean) {\n if (!this.bitfield) return\n if (value) this.bitfield.add(1)\n else this.bitfield.remove(1)\n },\n get urgent() {\n return this.flags?.contains(MessageFlags.Urgent) ?? false\n },\n set urgent(value: boolean) {\n if (!this.flags) return\n if (value) this.flags.add(MessageFlags.Urgent)\n else this.flags.remove(MessageFlags.Urgent)\n },\n}\n\nexport interface MessageBase {\n /** Holds all the boolean values on this message. */\n bitfield?: ToggleBitfield\n /** Whether this message has been published to subscribed channels (via Channel Following) */\n crossposted: boolean\n /** Whether this message is only visible to the user who invoked the Interaction */\n ephemeral: boolean\n /** Whether this message failed to mention some roles and add their members to the thread */\n failedToMentionSomeRolesInThread: boolean\n /** Message flags combined as a bitfield */\n flags?: ToggleBitfield\n /** Whether this message has an associated thread, with the same id as the message */\n hasThread: boolean\n /** Whether this message originated from a message in another channel (via Channel Following) */\n isCrosspost: boolean\n /** Whether this message is an Interaction Response and the bot is \"thinking\" */\n loading: boolean\n /** The ids of the users who were mentioned in this message. */\n mentionedUserIds: bigint[]\n /** Whether this message mentions everyone */\n mentionEveryone: boolean\n /** Whether this message is pinned */\n pinned: boolean\n /** Whether the source message for this crosspost has been deleted (via Channel Following) */\n sourceMessageDeleted: boolean\n /** Whether do not include any embeds when serializing this message */\n suppressEmbeds: boolean\n /** Whether this message will not trigger push and desktop notifications */\n suppressNotifications: boolean\n /** The timestamp in milliseconds when this message was created */\n timestamp: number\n /** Whether this was a TTS message. */\n tts: boolean\n /** Whether this message came from the urgent message system */\n urgent: boolean\n}\n\nexport interface Message extends MessageBase {\n /** Sent with Rich Presence-related chat embeds */\n activity?: {\n /** Type of message activity */\n type: MessageActivityTypes\n /** party_id from a Rich Presence event */\n partyId?: string\n }\n /** if the message is an Interaction or application-owned webhook, this is the id of the application */\n applicationId?: bigint\n /** Any attached files on this message. */\n attachments?: Attachment[]\n /** The author of this message (not guaranteed to be a valid user) Note: The author object follows the structure of the user object, but is only a valid user in the case where the message is generated by a user or bot user. If the message is generated by a webhook, the author object corresponds to the webhook's id, username, and avatar. You can tell if a message is generated by a webhook by checking for the webhook_id on the message object. */\n author: User\n /** id of the channel the message was sent in */\n channelId: bigint\n /** The components related to this message */\n components: Component[]\n /** Contents of the message */\n content: string\n /** The timestamp in milliseconds when this message was edited last. */\n editedTimestamp?: number\n /** Any embedded content */\n embeds?: Embed[]\n /** id of the guild the message was sent in Note: For MESSAGE_CREATE and MESSAGE_UPDATE events, the message object may not contain a guild_id or member field since the events are sent directly to the receiving user and the bot who sent the message, rather than being sent through the guild like non-ephemeral messages. */\n guildId?: bigint\n /** id of the message */\n id: bigint\n /** Sent if the message is a response to an Interaction */\n interaction?: {\n /** Id of the interaction */\n id: bigint\n /** The member who invoked the interaction in the guild */\n member?: Member\n /** The name of the ApplicationCommand including the name of the subcommand/subcommand group */\n name: string\n /** The type of interaction */\n type: InteractionTypes\n /** The user who invoked the interaction */\n user: User\n }\n /** Member properties for this message's author Note: The member object exists in MESSAGE_CREATE and MESSAGE_UPDATE events from text-based guild channels. This allows bots to obtain real-time member data without requiring bots to store member state in memory. */\n member?: Member\n /** Users specifically mentioned in the message Note: The user objects in the mentions array will only have the partial member field present in MESSAGE_CREATE and MESSAGE_UPDATE events from text-based guild channels. */\n mentions?: User[]\n /** Channels specifically mentioned in this message Note: Not all channel mentions in a message will appear in mention_channels. Only textual channels that are visible to everyone in a lurkable guild will ever be included. Only crossposted messages (via Channel Following) currently include mention_channels at all. If no mentions in the message meet these requirements, this field will not be sent. */\n mentionedChannelIds?: bigint[]\n /** Roles specifically mentioned in this message */\n mentionedRoleIds?: bigint[]\n /** Data showing the source of a crossposted channel follow add, pin or reply message */\n messageReference?: {\n /** id of the originating message's channel Note: channel_id is optional when creating a reply, but will always be present when receiving an event/response that includes this data model. */\n channelId?: bigint\n /** id of the originating message's guild */\n guildId?: bigint\n /** id of the originating message */\n messageId?: bigint\n }\n /** Used for validating a message was sent */\n nonce?: string | number\n /** Reactions on this message. */\n reactions?: Array<{\n /** Whether the current user reacted using this emoji */\n me: boolean\n /** Times this emoji has been used to react */\n count: number\n /** Emoji information */\n emoji: Emoji\n }>\n /** Sent if the message contains stickers */\n stickerItems?: Array<{\n /** The id of this sticker. */\n id: bigint\n /** The name of this sticker. */\n name: string\n /** The type of this stickers format. */\n formatType: StickerFormatTypes\n }>\n /** Type of message */\n type: MessageTypes\n /** The thread that was started from this message, includes thread member object */\n thread?: Channel\n /** If the message is generated by a webhook, this is the webhook's id */\n webhookId?: bigint\n}\n\nconst EMPTY_STRING = ''\n\nexport function transformMessage(bot: Bot, payload: DiscordMessage): Message {\n const guildId = payload.guild_id ? bot.transformers.snowflake(payload.guild_id) : undefined\n const userId = bot.transformers.snowflake(payload.author.id)\n\n const message: Message = Object.create(baseMessage)\n message.bitfield = new ToggleBitfield()\n message.flags = new ToggleBitfield(payload.flags)\n\n const props = bot.transformers.desiredProperties.message\n\n if (props.author && payload.author) message.author = bot.transformers.user(bot, payload.author)\n if (payload.application_id && props.applicationId) message.applicationId = bot.transformers.snowflake(payload.application_id)\n if (payload.attachments?.length && props.attachments) {\n message.attachments = payload.attachments.map((attachment) => bot.transformers.attachment(bot, attachment))\n }\n if (props.channelId && payload.channel_id) message.channelId = bot.transformers.snowflake(payload.channel_id)\n if (props.components && payload.components?.length) message.components = payload.components.map((comp) => bot.transformers.component(bot, comp))\n if (props.content && payload.content) message.content = payload.content ?? EMPTY_STRING\n if (payload.edited_timestamp && props.editedTimestamp) message.editedTimestamp = Date.parse(payload.edited_timestamp)\n if (payload.embeds?.length && props.embeds) message.embeds = payload.embeds.map((embed) => bot.transformers.embed(bot, embed))\n if (guildId && props.guildId) message.guildId = guildId\n if (props.id && payload.id) message.id = bot.transformers.snowflake(payload.id)\n if (payload.interaction) {\n const interaction = {} as NonNullable<Message['interaction']>\n let edited = false\n if (props.interaction.id) {\n interaction.id = bot.transformers.snowflake(payload.interaction.id)\n edited = true\n }\n if (props.interaction.member && payload.interaction.member) {\n // @ts-expect-error TODO: partial - check why this is partial and handle as needed\n interaction.member = bot.transformers.member(bot, payload.interaction.member, guildId, payload.interaction.user.id)\n edited = true\n }\n if (props.interaction.name) {\n interaction.name = payload.interaction.name\n edited = true\n }\n if (props.interaction.type) {\n interaction.type = payload.interaction.type\n edited = true\n }\n if (props.interaction.user) {\n interaction.user = bot.transformers.user(bot, payload.interaction.user)\n edited = true\n }\n\n if (edited) message.interaction = interaction\n }\n if (props.member && payload.member && guildId) message.member = bot.transformers.member(bot, payload.member, guildId, userId)\n if (payload.mention_everyone) message.mentionEveryone = true\n if (props.mentionedChannelIds && payload.mention_channels?.length) {\n message.mentionedChannelIds = [\n // Keep any ids tht discord sends\n ...(payload.mention_channels ?? []).map((m) => bot.transformers.snowflake(m.id)),\n // Add any other ids that can be validated in a channel mention format\n ...(payload.content?.match(CHANNEL_MENTION_REGEX) ?? []).map((text) =>\n // converts the <#123> into 123\n bot.transformers.snowflake(text.substring(2, text.length - 1)),\n ),\n ]\n }\n if (props.mentionedRoleIds && payload.mention_roles?.length) {\n message.mentionedRoleIds = payload.mention_roles.map((id) => bot.transformers.snowflake(id))\n }\n if (props.mentions && payload.mentions?.length) {\n message.mentions = payload.mentions.map((user) => bot.transformers.user(bot, user))\n }\n if (payload.message_reference) {\n const reference = {} as NonNullable<Message['messageReference']>\n let edited = false\n\n if (props.messageReference.channelId && payload.message_reference.channel_id) {\n reference.channelId = bot.transformers.snowflake(payload.message_reference.channel_id)\n edited = true\n }\n if (props.messageReference.guildId && payload.message_reference.guild_id) {\n reference.guildId = bot.transformers.snowflake(payload.message_reference.guild_id)\n edited = true\n }\n if (props.messageReference.messageId && payload.message_reference.message_id) {\n reference.messageId = bot.transformers.snowflake(payload.message_reference.message_id)\n edited = true\n }\n\n if (edited) message.messageReference = reference\n }\n if (payload.nonce && props.nonce) message.nonce = payload.nonce\n if (payload.pinned) message.pinned = true\n if (payload.reactions?.length && props.reactions) {\n message.reactions = payload.reactions.map((reaction) => ({\n me: reaction.me,\n count: reaction.count,\n emoji: bot.transformers.emoji(bot, reaction.emoji),\n }))\n }\n if (props.stickerItems && payload.sticker_items?.length)\n message.stickerItems = payload.sticker_items.map((item) => ({\n id: bot.transformers.snowflake(item.id),\n name: item.name,\n formatType: item.format_type,\n }))\n if (payload.tts) message.tts = true\n if (props.thread && payload.thread) message.thread = bot.transformers.channel(bot, { channel: payload.thread, guildId })\n if (props.type && props.type) message.type = payload.type\n if (payload.webhook_id && props.webhookId) message.webhookId = bot.transformers.snowflake(payload.webhook_id)\n\n return bot.transformers.customizers.message(bot, payload, message)\n}\n"],"names":["CHANNEL_MENTION_REGEX","snowflakeToTimestamp","MessageFlags","ToggleBitfield","baseMessage","crossposted","flags","contains","Crossposted","value","add","remove","ephemeral","Ephemeral","failedToMentionSomeRolesInThread","FailedToMentionSomeRolesInThread","hasThread","HasThread","isCrosspost","IsCrosspost","loading","Loading","mentionedUserIds","mentions","map","user","id","mentionEveryone","bitfield","pinned","sourceMessageDeleted","SourceMessageDeleted","suppressEmbeds","SuppressEmbeds","suppressNotifications","SuppressNotifications","timestamp","tts","urgent","Urgent","EMPTY_STRING","transformMessage","bot","payload","guildId","guild_id","transformers","snowflake","undefined","userId","author","message","Object","create","props","desiredProperties","application_id","applicationId","attachments","length","attachment","channelId","channel_id","components","comp","component","content","edited_timestamp","editedTimestamp","Date","parse","embeds","embed","interaction","edited","member","name","type","mention_everyone","mentionedChannelIds","mention_channels","m","match","text","substring","mentionedRoleIds","mention_roles","message_reference","reference","messageReference","messageId","message_id","nonce","reactions","reaction","me","count","emoji","stickerItems","sticker_items","item","formatType","format_type","thread","channel","webhook_id","webhookId","customizers"],"mappings":"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"}
@@ -5,8 +5,8 @@ export declare function transformPresence(bot: Bot, payload: DiscordPresenceUpda
5
5
  mobile?: string | undefined;
6
6
  web?: string | undefined;
7
7
  guildId: bigint;
8
- status: PresenceStatus;
9
8
  user: import("./user.js").User;
9
+ status: PresenceStatus;
10
10
  activities: import("./activity.js").Activity[];
11
11
  };
12
12
  export interface PresenceUpdate extends ReturnType<typeof transformPresence> {
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/transformers/reverse/component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD,wBAAgB,oCAAoC,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,GAAG,gBAAgB,CAqCnG"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/transformers/reverse/component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD,wBAAgB,oCAAoC,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,GAAG,gBAAgB,CAsCnG"}
@@ -12,6 +12,7 @@ export function transformComponentToDiscordComponent(bot, payload) {
12
12
  animated: payload.emoji.animated
13
13
  } : undefined,
14
14
  url: payload.url,
15
+ channel_types: payload.channelTypes,
15
16
  options: payload.options?.map((option)=>({
16
17
  label: option.label,
17
18
  value: option.value,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/transformers/reverse/component.ts"],"sourcesContent":["import type { Bot } from '../../index.js'\nimport type { DiscordComponent } from '../../typings.js'\nimport type { Component } from '../component.js'\n\nexport function transformComponentToDiscordComponent(bot: Bot, payload: Component): DiscordComponent {\n return {\n type: payload.type,\n custom_id: payload.customId,\n disabled: payload.disabled,\n required: payload.required,\n style: payload.style,\n label: payload.label,\n emoji: payload.emoji\n ? {\n id: payload.emoji.id?.toString(),\n name: payload.emoji.name,\n animated: payload.emoji.animated,\n }\n : undefined,\n url: payload.url,\n options: payload.options?.map((option) => ({\n label: option.label,\n value: option.value,\n description: option.description,\n emoji: option.emoji\n ? {\n id: option.emoji.id?.toString(),\n name: option.emoji.name,\n animated: option.emoji.animated,\n }\n : undefined,\n default: option.default,\n })),\n placeholder: payload.placeholder,\n min_values: payload.minValues,\n max_values: payload.maxValues,\n min_length: payload.minLength,\n max_length: payload.maxLength,\n value: payload.value,\n components: payload.components?.map((component) => bot.transformers.reverse.component(bot, component)),\n }\n}\n"],"names":["transformComponentToDiscordComponent","bot","payload","type","custom_id","customId","disabled","required","style","label","emoji","id","toString","name","animated","undefined","url","options","map","option","value","description","default","placeholder","min_values","minValues","max_values","maxValues","min_length","minLength","max_length","maxLength","components","component","transformers","reverse"],"mappings":"AAIA,OAAO,SAASA,qCAAqCC,GAAQ,EAAEC,OAAkB,EAAoB;IACnG,OAAO;QACLC,MAAMD,QAAQC,IAAI;QAClBC,WAAWF,QAAQG,QAAQ;QAC3BC,UAAUJ,QAAQI,QAAQ;QAC1BC,UAAUL,QAAQK,QAAQ;QAC1BC,OAAON,QAAQM,KAAK;QACpBC,OAAOP,QAAQO,KAAK;QACpBC,OAAOR,QAAQQ,KAAK,GAChB;YACEC,IAAIT,QAAQQ,KAAK,CAACC,EAAE,EAAEC;YACtBC,MAAMX,QAAQQ,KAAK,CAACG,IAAI;YACxBC,UAAUZ,QAAQQ,KAAK,CAACI,QAAQ;QAClC,IACAC,SAAS;QACbC,KAAKd,QAAQc,GAAG;QAChBC,SAASf,QAAQe,OAAO,EAAEC,IAAI,CAACC,SAAY,CAAA;gBACzCV,OAAOU,OAAOV,KAAK;gBACnBW,OAAOD,OAAOC,KAAK;gBACnBC,aAAaF,OAAOE,WAAW;gBAC/BX,OAAOS,OAAOT,KAAK,GACf;oBACEC,IAAIQ,OAAOT,KAAK,CAACC,EAAE,EAAEC;oBACrBC,MAAMM,OAAOT,KAAK,CAACG,IAAI;oBACvBC,UAAUK,OAAOT,KAAK,CAACI,QAAQ;gBACjC,IACAC,SAAS;gBACbO,SAASH,OAAOG,OAAO;YACzB,CAAA;QACAC,aAAarB,QAAQqB,WAAW;QAChCC,YAAYtB,QAAQuB,SAAS;QAC7BC,YAAYxB,QAAQyB,SAAS;QAC7BC,YAAY1B,QAAQ2B,SAAS;QAC7BC,YAAY5B,QAAQ6B,SAAS;QAC7BX,OAAOlB,QAAQkB,KAAK;QACpBY,YAAY9B,QAAQ8B,UAAU,EAAEd,IAAI,CAACe,YAAchC,IAAIiC,YAAY,CAACC,OAAO,CAACF,SAAS,CAAChC,KAAKgC;IAC7F;AACF,CAAC"}
1
+ {"version":3,"sources":["../../../src/transformers/reverse/component.ts"],"sourcesContent":["import type { Bot } from '../../index.js'\nimport type { DiscordComponent } from '../../typings.js'\nimport type { Component } from '../component.js'\n\nexport function transformComponentToDiscordComponent(bot: Bot, payload: Component): DiscordComponent {\n return {\n type: payload.type,\n custom_id: payload.customId,\n disabled: payload.disabled,\n required: payload.required,\n style: payload.style,\n label: payload.label,\n emoji: payload.emoji\n ? {\n id: payload.emoji.id?.toString(),\n name: payload.emoji.name,\n animated: payload.emoji.animated,\n }\n : undefined,\n url: payload.url,\n channel_types: payload.channelTypes,\n options: payload.options?.map((option) => ({\n label: option.label,\n value: option.value,\n description: option.description,\n emoji: option.emoji\n ? {\n id: option.emoji.id?.toString(),\n name: option.emoji.name,\n animated: option.emoji.animated,\n }\n : undefined,\n default: option.default,\n })),\n placeholder: payload.placeholder,\n min_values: payload.minValues,\n max_values: payload.maxValues,\n min_length: payload.minLength,\n max_length: payload.maxLength,\n value: payload.value,\n components: payload.components?.map((component) => bot.transformers.reverse.component(bot, component)),\n }\n}\n"],"names":["transformComponentToDiscordComponent","bot","payload","type","custom_id","customId","disabled","required","style","label","emoji","id","toString","name","animated","undefined","url","channel_types","channelTypes","options","map","option","value","description","default","placeholder","min_values","minValues","max_values","maxValues","min_length","minLength","max_length","maxLength","components","component","transformers","reverse"],"mappings":"AAIA,OAAO,SAASA,qCAAqCC,GAAQ,EAAEC,OAAkB,EAAoB;IACnG,OAAO;QACLC,MAAMD,QAAQC,IAAI;QAClBC,WAAWF,QAAQG,QAAQ;QAC3BC,UAAUJ,QAAQI,QAAQ;QAC1BC,UAAUL,QAAQK,QAAQ;QAC1BC,OAAON,QAAQM,KAAK;QACpBC,OAAOP,QAAQO,KAAK;QACpBC,OAAOR,QAAQQ,KAAK,GAChB;YACEC,IAAIT,QAAQQ,KAAK,CAACC,EAAE,EAAEC;YACtBC,MAAMX,QAAQQ,KAAK,CAACG,IAAI;YACxBC,UAAUZ,QAAQQ,KAAK,CAACI,QAAQ;QAClC,IACAC,SAAS;QACbC,KAAKd,QAAQc,GAAG;QAChBC,eAAef,QAAQgB,YAAY;QACnCC,SAASjB,QAAQiB,OAAO,EAAEC,IAAI,CAACC,SAAY,CAAA;gBACzCZ,OAAOY,OAAOZ,KAAK;gBACnBa,OAAOD,OAAOC,KAAK;gBACnBC,aAAaF,OAAOE,WAAW;gBAC/Bb,OAAOW,OAAOX,KAAK,GACf;oBACEC,IAAIU,OAAOX,KAAK,CAACC,EAAE,EAAEC;oBACrBC,MAAMQ,OAAOX,KAAK,CAACG,IAAI;oBACvBC,UAAUO,OAAOX,KAAK,CAACI,QAAQ;gBACjC,IACAC,SAAS;gBACbS,SAASH,OAAOG,OAAO;YACzB,CAAA;QACAC,aAAavB,QAAQuB,WAAW;QAChCC,YAAYxB,QAAQyB,SAAS;QAC7BC,YAAY1B,QAAQ2B,SAAS;QAC7BC,YAAY5B,QAAQ6B,SAAS;QAC7BC,YAAY9B,QAAQ+B,SAAS;QAC7BX,OAAOpB,QAAQoB,KAAK;QACpBY,YAAYhC,QAAQgC,UAAU,EAAEd,IAAI,CAACe,YAAclC,IAAImC,YAAY,CAACC,OAAO,CAACF,SAAS,CAAClC,KAAKkC;IAC7F;AACF,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from './activity.js';
2
+ export * from './allowedMentions.js';
2
3
  export * from './application.js';
3
4
  export * from './applicationCommand.js';
4
5
  export * from './applicationCommandOption.js';
@@ -7,9 +8,11 @@ export * from './applicationCommandPermission.js';
7
8
  export * from './attachment.js';
8
9
  export * from './auditLogEntry.js';
9
10
  export * from './component.js';
11
+ export * from './createApplicationCommand.js';
10
12
  export * from './embed.js';
11
13
  export * from './emoji.js';
12
14
  export * from './gatewayBot.js';
15
+ export * from './interactionResponse.js';
13
16
  export * from './member.js';
14
17
  export * from './presence.js';
15
18
  export * from './team.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transformers/reverse/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,qCAAqC,CAAA;AACnD,cAAc,mCAAmC,CAAA;AACjD,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transformers/reverse/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,qCAAqC,CAAA;AACnD,cAAc,mCAAmC,CAAA;AACjD,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,+BAA+B,CAAA;AAC7C,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,qBAAqB,CAAA"}
@@ -1,4 +1,5 @@
1
1
  export * from './activity.js';
2
+ export * from './allowedMentions.js';
2
3
  export * from './application.js';
3
4
  export * from './applicationCommand.js';
4
5
  export * from './applicationCommandOption.js';
@@ -7,9 +8,11 @@ export * from './applicationCommandPermission.js';
7
8
  export * from './attachment.js';
8
9
  export * from './auditLogEntry.js';
9
10
  export * from './component.js';
11
+ export * from './createApplicationCommand.js';
10
12
  export * from './embed.js';
11
13
  export * from './emoji.js';
12
14
  export * from './gatewayBot.js';
15
+ export * from './interactionResponse.js';
13
16
  export * from './member.js';
14
17
  export * from './presence.js';
15
18
  export * from './team.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/transformers/reverse/index.ts"],"sourcesContent":["export * from './activity.js'\nexport * from './application.js'\nexport * from './applicationCommand.js'\nexport * from './applicationCommandOption.js'\nexport * from './applicationCommandOptionChoice.js'\nexport * from './applicationCommandPermission.js'\nexport * from './attachment.js'\nexport * from './auditLogEntry.js'\nexport * from './component.js'\nexport * from './embed.js'\nexport * from './emoji.js'\nexport * from './gatewayBot.js'\nexport * from './member.js'\nexport * from './presence.js'\nexport * from './team.js'\nexport * from './widgetSettings.js'\n"],"names":[],"mappings":"AAAA,cAAc,gBAAe;AAC7B,cAAc,mBAAkB;AAChC,cAAc,0BAAyB;AACvC,cAAc,gCAA+B;AAC7C,cAAc,sCAAqC;AACnD,cAAc,oCAAmC;AACjD,cAAc,kBAAiB;AAC/B,cAAc,qBAAoB;AAClC,cAAc,iBAAgB;AAC9B,cAAc,aAAY;AAC1B,cAAc,aAAY;AAC1B,cAAc,kBAAiB;AAC/B,cAAc,cAAa;AAC3B,cAAc,gBAAe;AAC7B,cAAc,YAAW;AACzB,cAAc,sBAAqB"}
1
+ {"version":3,"sources":["../../../src/transformers/reverse/index.ts"],"sourcesContent":["export * from './activity.js'\nexport * from './allowedMentions.js'\nexport * from './application.js'\nexport * from './applicationCommand.js'\nexport * from './applicationCommandOption.js'\nexport * from './applicationCommandOptionChoice.js'\nexport * from './applicationCommandPermission.js'\nexport * from './attachment.js'\nexport * from './auditLogEntry.js'\nexport * from './component.js'\nexport * from './createApplicationCommand.js'\nexport * from './embed.js'\nexport * from './emoji.js'\nexport * from './gatewayBot.js'\nexport * from './interactionResponse.js'\nexport * from './member.js'\nexport * from './presence.js'\nexport * from './team.js'\nexport * from './widgetSettings.js'\n\n"],"names":[],"mappings":"AAAA,cAAc,gBAAe;AAC7B,cAAc,uBAAsB;AACpC,cAAc,mBAAkB;AAChC,cAAc,0BAAyB;AACvC,cAAc,gCAA+B;AAC7C,cAAc,sCAAqC;AACnD,cAAc,oCAAmC;AACjD,cAAc,kBAAiB;AAC/B,cAAc,qBAAoB;AAClC,cAAc,iBAAgB;AAC9B,cAAc,gCAA+B;AAC7C,cAAc,aAAY;AAC1B,cAAc,aAAY;AAC1B,cAAc,kBAAiB;AAC/B,cAAc,2BAA0B;AACxC,cAAc,cAAa;AAC3B,cAAc,gBAAe;AAC7B,cAAc,YAAW;AACzB,cAAc,sBAAqB"}
@@ -1 +1 @@
1
- {"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../../../src/transformers/reverse/member.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEnE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEtC,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,GAAG,WAAW,CAgB/E;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,aAAa,CAavF"}
1
+ {"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../../../src/transformers/reverse/member.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEnE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEtC,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,GAAG,WAAW,CAiB/E;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,aAAa,CAavF"}
@@ -3,6 +3,7 @@ export function transformUserToDiscordUser(bot, payload) {
3
3
  return {
4
4
  id: payload.id.toString(),
5
5
  username: payload.username,
6
+ global_name: payload.globalName ?? null,
6
7
  discriminator: payload.discriminator,
7
8
  avatar: payload.avatar ? iconBigintToHash(payload.avatar) : null,
8
9
  locale: payload.locale,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/transformers/reverse/member.ts"],"sourcesContent":["import type { DiscordMember, DiscordUser } from '@discordeno/types'\nimport { iconBigintToHash } from '@discordeno/utils'\nimport type { Bot } from '../../bot.js'\nimport type { Member } from '../member.js'\nimport type { User } from '../user.js'\n\nexport function transformUserToDiscordUser(bot: Bot, payload: User): DiscordUser {\n return {\n id: payload.id.toString(),\n username: payload.username,\n discriminator: payload.discriminator,\n avatar: payload.avatar ? iconBigintToHash(payload.avatar) : null,\n locale: payload.locale,\n email: payload.email ?? undefined,\n flags: payload.flags?.toJSON(),\n premium_type: payload.premiumType,\n public_flags: payload.publicFlags?.toJSON(),\n bot: payload.toggles?.bot,\n system: payload.toggles?.system,\n mfa_enabled: payload.toggles?.mfaEnabled,\n verified: payload.toggles?.verified,\n }\n}\n\nexport function transformMemberToDiscordMember(bot: Bot, payload: Member): DiscordMember {\n return {\n nick: payload.nick ?? undefined,\n roles: payload.roles.map((id) => id.toString()),\n joined_at: new Date(payload.joinedAt).toISOString(),\n premium_since: payload.premiumSince ? new Date(payload.premiumSince).toISOString() : undefined,\n avatar: payload.avatar ? iconBigintToHash(payload.avatar) : undefined,\n permissions: payload.permissions?.toString(),\n communication_disabled_until: payload.communicationDisabledUntil ? new Date(payload.communicationDisabledUntil).toISOString() : undefined,\n deaf: payload.toggles?.deaf,\n mute: payload.toggles?.mute,\n pending: payload.toggles?.pending,\n }\n}\n"],"names":["iconBigintToHash","transformUserToDiscordUser","bot","payload","id","toString","username","discriminator","avatar","locale","email","undefined","flags","toJSON","premium_type","premiumType","public_flags","publicFlags","toggles","system","mfa_enabled","mfaEnabled","verified","transformMemberToDiscordMember","nick","roles","map","joined_at","Date","joinedAt","toISOString","premium_since","premiumSince","permissions","communication_disabled_until","communicationDisabledUntil","deaf","mute","pending"],"mappings":"AACA,SAASA,gBAAgB,QAAQ,oBAAmB;AAKpD,OAAO,SAASC,2BAA2BC,GAAQ,EAAEC,OAAa,EAAe;IAC/E,OAAO;QACLC,IAAID,QAAQC,EAAE,CAACC,QAAQ;QACvBC,UAAUH,QAAQG,QAAQ;QAC1BC,eAAeJ,QAAQI,aAAa;QACpCC,QAAQL,QAAQK,MAAM,GAAGR,iBAAiBG,QAAQK,MAAM,IAAI,IAAI;QAChEC,QAAQN,QAAQM,MAAM;QACtBC,OAAOP,QAAQO,KAAK,IAAIC;QACxBC,OAAOT,QAAQS,KAAK,EAAEC;QACtBC,cAAcX,QAAQY,WAAW;QACjCC,cAAcb,QAAQc,WAAW,EAAEJ;QACnCX,KAAKC,QAAQe,OAAO,EAAEhB;QACtBiB,QAAQhB,QAAQe,OAAO,EAAEC;QACzBC,aAAajB,QAAQe,OAAO,EAAEG;QAC9BC,UAAUnB,QAAQe,OAAO,EAAEI;IAC7B;AACF,CAAC;AAED,OAAO,SAASC,+BAA+BrB,GAAQ,EAAEC,OAAe,EAAiB;IACvF,OAAO;QACLqB,MAAMrB,QAAQqB,IAAI,IAAIb;QACtBc,OAAOtB,QAAQsB,KAAK,CAACC,GAAG,CAAC,CAACtB,KAAOA,GAAGC,QAAQ;QAC5CsB,WAAW,IAAIC,KAAKzB,QAAQ0B,QAAQ,EAAEC,WAAW;QACjDC,eAAe5B,QAAQ6B,YAAY,GAAG,IAAIJ,KAAKzB,QAAQ6B,YAAY,EAAEF,WAAW,KAAKnB,SAAS;QAC9FH,QAAQL,QAAQK,MAAM,GAAGR,iBAAiBG,QAAQK,MAAM,IAAIG,SAAS;QACrEsB,aAAa9B,QAAQ8B,WAAW,EAAE5B;QAClC6B,8BAA8B/B,QAAQgC,0BAA0B,GAAG,IAAIP,KAAKzB,QAAQgC,0BAA0B,EAAEL,WAAW,KAAKnB,SAAS;QACzIyB,MAAMjC,QAAQe,OAAO,EAAEkB;QACvBC,MAAMlC,QAAQe,OAAO,EAAEmB;QACvBC,SAASnC,QAAQe,OAAO,EAAEoB;IAC5B;AACF,CAAC"}
1
+ {"version":3,"sources":["../../../src/transformers/reverse/member.ts"],"sourcesContent":["import type { DiscordMember, DiscordUser } from '@discordeno/types'\nimport { iconBigintToHash } from '@discordeno/utils'\nimport type { Bot } from '../../bot.js'\nimport type { Member } from '../member.js'\nimport type { User } from '../user.js'\n\nexport function transformUserToDiscordUser(bot: Bot, payload: User): DiscordUser {\n return {\n id: payload.id.toString(),\n username: payload.username,\n global_name: payload.globalName ?? null,\n discriminator: payload.discriminator,\n avatar: payload.avatar ? iconBigintToHash(payload.avatar) : null,\n locale: payload.locale,\n email: payload.email ?? undefined,\n flags: payload.flags?.toJSON(),\n premium_type: payload.premiumType,\n public_flags: payload.publicFlags?.toJSON(),\n bot: payload.toggles?.bot,\n system: payload.toggles?.system,\n mfa_enabled: payload.toggles?.mfaEnabled,\n verified: payload.toggles?.verified,\n }\n}\n\nexport function transformMemberToDiscordMember(bot: Bot, payload: Member): DiscordMember {\n return {\n nick: payload.nick ?? undefined,\n roles: payload.roles.map((id) => id.toString()),\n joined_at: new Date(payload.joinedAt).toISOString(),\n premium_since: payload.premiumSince ? new Date(payload.premiumSince).toISOString() : undefined,\n avatar: payload.avatar ? iconBigintToHash(payload.avatar) : undefined,\n permissions: payload.permissions?.toString(),\n communication_disabled_until: payload.communicationDisabledUntil ? new Date(payload.communicationDisabledUntil).toISOString() : undefined,\n deaf: payload.toggles?.deaf,\n mute: payload.toggles?.mute,\n pending: payload.toggles?.pending,\n }\n}\n"],"names":["iconBigintToHash","transformUserToDiscordUser","bot","payload","id","toString","username","global_name","globalName","discriminator","avatar","locale","email","undefined","flags","toJSON","premium_type","premiumType","public_flags","publicFlags","toggles","system","mfa_enabled","mfaEnabled","verified","transformMemberToDiscordMember","nick","roles","map","joined_at","Date","joinedAt","toISOString","premium_since","premiumSince","permissions","communication_disabled_until","communicationDisabledUntil","deaf","mute","pending"],"mappings":"AACA,SAASA,gBAAgB,QAAQ,oBAAmB;AAKpD,OAAO,SAASC,2BAA2BC,GAAQ,EAAEC,OAAa,EAAe;IAC/E,OAAO;QACLC,IAAID,QAAQC,EAAE,CAACC,QAAQ;QACvBC,UAAUH,QAAQG,QAAQ;QAC1BC,aAAaJ,QAAQK,UAAU,IAAI,IAAI;QACvCC,eAAeN,QAAQM,aAAa;QACpCC,QAAQP,QAAQO,MAAM,GAAGV,iBAAiBG,QAAQO,MAAM,IAAI,IAAI;QAChEC,QAAQR,QAAQQ,MAAM;QACtBC,OAAOT,QAAQS,KAAK,IAAIC;QACxBC,OAAOX,QAAQW,KAAK,EAAEC;QACtBC,cAAcb,QAAQc,WAAW;QACjCC,cAAcf,QAAQgB,WAAW,EAAEJ;QACnCb,KAAKC,QAAQiB,OAAO,EAAElB;QACtBmB,QAAQlB,QAAQiB,OAAO,EAAEC;QACzBC,aAAanB,QAAQiB,OAAO,EAAEG;QAC9BC,UAAUrB,QAAQiB,OAAO,EAAEI;IAC7B;AACF,CAAC;AAED,OAAO,SAASC,+BAA+BvB,GAAQ,EAAEC,OAAe,EAAiB;IACvF,OAAO;QACLuB,MAAMvB,QAAQuB,IAAI,IAAIb;QACtBc,OAAOxB,QAAQwB,KAAK,CAACC,GAAG,CAAC,CAACxB,KAAOA,GAAGC,QAAQ;QAC5CwB,WAAW,IAAIC,KAAK3B,QAAQ4B,QAAQ,EAAEC,WAAW;QACjDC,eAAe9B,QAAQ+B,YAAY,GAAG,IAAIJ,KAAK3B,QAAQ+B,YAAY,EAAEF,WAAW,KAAKnB,SAAS;QAC9FH,QAAQP,QAAQO,MAAM,GAAGV,iBAAiBG,QAAQO,MAAM,IAAIG,SAAS;QACrEsB,aAAahC,QAAQgC,WAAW,EAAE9B;QAClC+B,8BAA8BjC,QAAQkC,0BAA0B,GAAG,IAAIP,KAAK3B,QAAQkC,0BAA0B,EAAEL,WAAW,KAAKnB,SAAS;QACzIyB,MAAMnC,QAAQiB,OAAO,EAAEkB;QACvBC,MAAMpC,QAAQiB,OAAO,EAAEmB;QACvBC,SAASrC,QAAQiB,OAAO,EAAEoB;IAC5B;AACF,CAAC"}
@@ -1,11 +1,11 @@
1
- import type { DiscordRole } from '@discordeno/types';
1
+ import type { BigString, DiscordRole } from '@discordeno/types';
2
2
  import { type Bot } from '../index.js';
3
3
  import { Permissions } from './toggles/Permissions.js';
4
4
  import { RoleToggles } from './toggles/role.js';
5
5
  export declare function transformRole(bot: Bot, payload: {
6
6
  role: DiscordRole;
7
7
  } & {
8
- guildId: bigint;
8
+ guildId: BigString;
9
9
  }): Role;
10
10
  export interface BaseRole {
11
11
  /** The tags this role has */
@@ -1 +1 @@
1
- {"version":3,"file":"role.d.ts","sourceRoot":"","sources":["../../src/transformers/role.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAoB,KAAK,GAAG,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAuC/C,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAwBlG;AAED,MAAM,WAAW,QAAQ;IACvB,6BAA6B;IAC7B,IAAI,CAAC,EAAE;QACL,6CAA6C;QAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,qDAAqD;QACrD,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,sDAAsD;QACtD,qBAAqB,CAAC,EAAE,MAAM,CAAA;QAC9B,mDAAmD;QACnD,oBAAoB,CAAC,EAAE,OAAO,CAAA;QAC9B,4CAA4C;QAC5C,gBAAgB,CAAC,EAAE,OAAO,CAAA;QAC1B,0DAA0D;QAC1D,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAC5B,CAAA;IACD,4DAA4D;IAC5D,KAAK,EAAE,OAAO,CAAA;IACd,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAA;IAChB,uCAAuC;IACvC,WAAW,EAAE,OAAO,CAAA;IACpB,yDAAyD;IACzD,iBAAiB,EAAE,OAAO,CAAA;IAC1B,mDAAmD;IACnD,oBAAoB,EAAE,OAAO,CAAA;IAC7B,6CAA6C;IAC7C,gBAAgB,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,IAAK,SAAQ,QAAQ;IACpC,cAAc;IACd,EAAE,EAAE,MAAM,CAAA;IACV,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAA;IACf,iEAAiE;IACjE,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,4DAA4D;IAC5D,KAAK,EAAE,OAAO,CAAA;IACd,yBAAyB;IACzB,WAAW,EAAE,WAAW,CAAA;IACxB,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAA;IAChB,uCAAuC;IACvC,WAAW,EAAE,OAAO,CAAA;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE;QACb,6CAA6C;QAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,qDAAqD;QACrD,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,sDAAsD;QACtD,qBAAqB,CAAC,EAAE,MAAM,CAAA;KAC/B,CAAA;IACD,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAA;IACb,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB"}
1
+ {"version":3,"file":"role.d.ts","sourceRoot":"","sources":["../../src/transformers/role.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAoB,KAAK,GAAG,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAuC/C,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,SAAS,CAAA;CAAE,GAAG,IAAI,CAwBrG;AAED,MAAM,WAAW,QAAQ;IACvB,6BAA6B;IAC7B,IAAI,CAAC,EAAE;QACL,6CAA6C;QAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,qDAAqD;QACrD,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,sDAAsD;QACtD,qBAAqB,CAAC,EAAE,MAAM,CAAA;QAC9B,mDAAmD;QACnD,oBAAoB,CAAC,EAAE,OAAO,CAAA;QAC9B,4CAA4C;QAC5C,gBAAgB,CAAC,EAAE,OAAO,CAAA;QAC1B,0DAA0D;QAC1D,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAC5B,CAAA;IACD,4DAA4D;IAC5D,KAAK,EAAE,OAAO,CAAA;IACd,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAA;IAChB,uCAAuC;IACvC,WAAW,EAAE,OAAO,CAAA;IACpB,yDAAyD;IACzD,iBAAiB,EAAE,OAAO,CAAA;IAC1B,mDAAmD;IACnD,oBAAoB,EAAE,OAAO,CAAA;IAC7B,6CAA6C;IAC7C,gBAAgB,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,IAAK,SAAQ,QAAQ;IACpC,cAAc;IACd,EAAE,EAAE,MAAM,CAAA;IACV,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAA;IACf,iEAAiE;IACjE,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,4DAA4D;IAC5D,KAAK,EAAE,OAAO,CAAA;IACd,yBAAyB;IACzB,WAAW,EAAE,WAAW,CAAA;IACxB,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAA;IAChB,uCAAuC;IACvC,WAAW,EAAE,OAAO,CAAA;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE;QACb,6CAA6C;QAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,qDAAqD;QACrD,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,sDAAsD;QACtD,qBAAqB,CAAC,EAAE,MAAM,CAAA;KAC/B,CAAA;IACD,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAA;IACb,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB"}
@@ -37,7 +37,7 @@ export function transformRole(bot, payload) {
37
37
  if (payload.role.id && props.id) role.id = bot.transformers.snowflake(payload.role.id);
38
38
  if (payload.role.name && props.name) role.name = payload.role.name;
39
39
  if (props.position) role.position = payload.role.position;
40
- if (props.guildId && payload.guildId) role.guildId = payload.guildId;
40
+ if (props.guildId && payload.guildId) role.guildId = bot.transformers.snowflake(payload.guildId);
41
41
  if (props.color && payload.role.color) role.color = payload.role.color;
42
42
  if (payload.role.permissions && props.permissions) role.permissions = new Permissions(payload.role.permissions);
43
43
  if (payload.role.icon && props.icon) role.icon = iconHashToBigInt(payload.role.icon);
@@ -51,7 +51,7 @@ export function transformRole(bot, payload) {
51
51
  if (props.hoist || props.managed || props.mentionable) {
52
52
  role.toggles = new RoleToggles(payload.role);
53
53
  }
54
- return role;
54
+ return bot.transformers.customizers.role(bot, payload.role, role);
55
55
  }
56
56
 
57
57
  //# sourceMappingURL=role.js.map