@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.
- package/dist/bot.d.ts +4 -1
- package/dist/bot.d.ts.map +1 -1
- package/dist/bot.js +5 -0
- package/dist/bot.js.map +1 -1
- package/dist/handlers/channels/index.d.ts +1 -0
- package/dist/handlers/channels/index.d.ts.map +1 -1
- package/dist/handlers/channels/index.js +1 -0
- package/dist/handlers/channels/index.js.map +1 -1
- package/dist/handlers/guilds/GUILD_DELETE.d.ts.map +1 -1
- package/dist/handlers/guilds/GUILD_DELETE.js +4 -0
- package/dist/handlers/guilds/GUILD_DELETE.js.map +1 -1
- package/dist/handlers.js +1 -1
- package/dist/handlers.js.map +1 -1
- package/dist/helpers.d.ts +205 -0
- package/dist/helpers.d.ts.map +1 -0
- package/dist/helpers.js +553 -0
- package/dist/helpers.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/transformers/activity.d.ts +15 -15
- package/dist/transformers/application.d.ts +4 -3
- package/dist/transformers/application.d.ts.map +1 -1
- package/dist/transformers/applicationCommand.d.ts +3 -3
- package/dist/transformers/applicationCommandPermission.d.ts +1 -1
- package/dist/transformers/attachment.d.ts +3 -3
- package/dist/transformers/auditLogEntry.d.ts +6 -6
- package/dist/transformers/automodActionExecution.d.ts +5 -5
- package/dist/transformers/channel.d.ts +3 -3
- package/dist/transformers/channel.d.ts.map +1 -1
- package/dist/transformers/channel.js +3 -2
- package/dist/transformers/channel.js.map +1 -1
- package/dist/transformers/component.d.ts +3 -1
- package/dist/transformers/component.d.ts.map +1 -1
- package/dist/transformers/component.js +1 -0
- package/dist/transformers/component.js.map +1 -1
- package/dist/transformers/embed.d.ts +3 -3
- package/dist/transformers/emoji.d.ts +5 -4
- package/dist/transformers/emoji.d.ts.map +1 -1
- package/dist/transformers/guild.d.ts +1 -1
- package/dist/transformers/guild.d.ts.map +1 -1
- package/dist/transformers/guild.js +4 -1
- package/dist/transformers/guild.js.map +1 -1
- package/dist/transformers/index.d.ts +2 -0
- package/dist/transformers/index.d.ts.map +1 -1
- package/dist/transformers/index.js +2 -0
- package/dist/transformers/index.js.map +1 -1
- package/dist/transformers/integration.d.ts +9 -7
- package/dist/transformers/integration.d.ts.map +1 -1
- package/dist/transformers/interaction.d.ts +18 -2
- package/dist/transformers/interaction.d.ts.map +1 -1
- package/dist/transformers/interaction.js +56 -1
- package/dist/transformers/interaction.js.map +1 -1
- package/dist/transformers/invite.d.ts +16 -13
- package/dist/transformers/invite.d.ts.map +1 -1
- package/dist/transformers/member.d.ts +2 -2
- package/dist/transformers/member.d.ts.map +1 -1
- package/dist/transformers/member.js +3 -3
- package/dist/transformers/member.js.map +1 -1
- package/dist/transformers/message.d.ts.map +1 -1
- package/dist/transformers/message.js +3 -4
- package/dist/transformers/message.js.map +1 -1
- package/dist/transformers/presence.d.ts +1 -1
- package/dist/transformers/reverse/component.d.ts.map +1 -1
- package/dist/transformers/reverse/component.js +1 -0
- package/dist/transformers/reverse/component.js.map +1 -1
- package/dist/transformers/reverse/index.d.ts +3 -0
- package/dist/transformers/reverse/index.d.ts.map +1 -1
- package/dist/transformers/reverse/index.js +3 -0
- package/dist/transformers/reverse/index.js.map +1 -1
- package/dist/transformers/reverse/member.d.ts.map +1 -1
- package/dist/transformers/reverse/member.js +1 -0
- package/dist/transformers/reverse/member.js.map +1 -1
- package/dist/transformers/role.d.ts +2 -2
- package/dist/transformers/role.d.ts.map +1 -1
- package/dist/transformers/role.js +2 -2
- package/dist/transformers/role.js.map +1 -1
- package/dist/transformers/scheduledEvent.d.ts +6 -5
- package/dist/transformers/scheduledEvent.d.ts.map +1 -1
- package/dist/transformers/sticker.d.ts +6 -5
- package/dist/transformers/sticker.d.ts.map +1 -1
- package/dist/transformers/template.d.ts +101 -95
- package/dist/transformers/template.d.ts.map +1 -1
- package/dist/transformers/toggles/index.d.ts +2 -0
- package/dist/transformers/toggles/index.d.ts.map +1 -1
- package/dist/transformers/toggles/index.js +2 -0
- package/dist/transformers/toggles/index.js.map +1 -1
- package/dist/transformers/user.d.ts +3 -1
- package/dist/transformers/user.d.ts.map +1 -1
- package/dist/transformers/user.js +2 -1
- package/dist/transformers/user.js.map +1 -1
- package/dist/transformers/voiceRegion.d.ts +1 -1
- package/dist/transformers/voiceState.d.ts +2 -2
- package/dist/transformers/webhook.d.ts +7 -6
- package/dist/transformers/webhook.d.ts.map +1 -1
- package/dist/transformers.d.ts +8 -3
- package/dist/transformers.d.ts.map +1 -1
- package/dist/transformers.js +13 -0
- package/dist/transformers.js.map +1 -1
- package/dist/typings.d.ts +4 -2
- package/dist/typings.d.ts.map +1 -1
- package/dist/typings.js.map +1 -1
- 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
|
-
|
|
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
|
-
|
|
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
|
|
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:
|
|
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;
|
|
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:
|
|
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":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAEjI,OAAO,EAAwB,KAAK,GAAG,EAAE,MAAM,aAAa,CAAA;AAE5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;
|
|
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 &&
|
|
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 &&
|
|
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 &&
|
|
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":"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"}
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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:
|
|
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;
|
|
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
|