@discordeno/bot 19.0.0-next.fda9ef2 → 19.0.0-next.fe00a6f

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 (145) hide show
  1. package/dist/bot.d.ts +6 -2
  2. package/dist/bot.d.ts.map +1 -1
  3. package/dist/bot.js +7 -4
  4. package/dist/bot.js.map +1 -1
  5. package/dist/handlers/channels/CHANNEL_CREATE.d.ts.map +1 -1
  6. package/dist/handlers/channels/CHANNEL_CREATE.js +3 -1
  7. package/dist/handlers/channels/CHANNEL_CREATE.js.map +1 -1
  8. package/dist/handlers/channels/index.d.ts +1 -0
  9. package/dist/handlers/channels/index.d.ts.map +1 -1
  10. package/dist/handlers/channels/index.js +1 -0
  11. package/dist/handlers/channels/index.js.map +1 -1
  12. package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.js +1 -1
  13. package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.js.map +1 -1
  14. package/dist/handlers/guilds/GUILD_DELETE.d.ts.map +1 -1
  15. package/dist/handlers/guilds/GUILD_DELETE.js +4 -0
  16. package/dist/handlers/guilds/GUILD_DELETE.js.map +1 -1
  17. package/dist/handlers.js +1 -1
  18. package/dist/handlers.js.map +1 -1
  19. package/dist/helpers.d.ts +205 -0
  20. package/dist/helpers.d.ts.map +1 -0
  21. package/dist/helpers.js +553 -0
  22. package/dist/helpers.js.map +1 -0
  23. package/dist/index.d.ts +6 -0
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +6 -0
  26. package/dist/index.js.map +1 -1
  27. package/dist/transformers/activity.d.ts +15 -15
  28. package/dist/transformers/application.d.ts +37 -5
  29. package/dist/transformers/application.d.ts.map +1 -1
  30. package/dist/transformers/applicationCommand.d.ts +36 -4
  31. package/dist/transformers/applicationCommand.d.ts.map +1 -1
  32. package/dist/transformers/applicationCommandPermission.d.ts +1 -1
  33. package/dist/transformers/attachment.d.ts +3 -3
  34. package/dist/transformers/auditLogEntry.d.ts +6 -6
  35. package/dist/transformers/automodActionExecution.d.ts +6 -6
  36. package/dist/transformers/automodRule.d.ts +3 -2
  37. package/dist/transformers/automodRule.d.ts.map +1 -1
  38. package/dist/transformers/automodRule.js +1 -0
  39. package/dist/transformers/automodRule.js.map +1 -1
  40. package/dist/transformers/channel.d.ts +99 -36
  41. package/dist/transformers/channel.d.ts.map +1 -1
  42. package/dist/transformers/channel.js +74 -37
  43. package/dist/transformers/channel.js.map +1 -1
  44. package/dist/transformers/component.d.ts +3 -1
  45. package/dist/transformers/component.d.ts.map +1 -1
  46. package/dist/transformers/component.js +1 -0
  47. package/dist/transformers/component.js.map +1 -1
  48. package/dist/transformers/embed.d.ts +3 -3
  49. package/dist/transformers/emoji.d.ts +37 -5
  50. package/dist/transformers/emoji.d.ts.map +1 -1
  51. package/dist/transformers/guild.d.ts +3 -3
  52. package/dist/transformers/guild.d.ts.map +1 -1
  53. package/dist/transformers/guild.js +4 -1
  54. package/dist/transformers/guild.js.map +1 -1
  55. package/dist/transformers/index.d.ts +2 -0
  56. package/dist/transformers/index.d.ts.map +1 -1
  57. package/dist/transformers/index.js +2 -0
  58. package/dist/transformers/index.js.map +1 -1
  59. package/dist/transformers/integration.d.ts +73 -9
  60. package/dist/transformers/integration.d.ts.map +1 -1
  61. package/dist/transformers/interaction.d.ts +81 -377
  62. package/dist/transformers/interaction.d.ts.map +1 -1
  63. package/dist/transformers/interaction.js +77 -27
  64. package/dist/transformers/interaction.js.map +1 -1
  65. package/dist/transformers/invite.d.ts +113 -17
  66. package/dist/transformers/invite.d.ts.map +1 -1
  67. package/dist/transformers/member.d.ts +31 -37
  68. package/dist/transformers/member.d.ts.map +1 -1
  69. package/dist/transformers/member.js +28 -32
  70. package/dist/transformers/member.js.map +1 -1
  71. package/dist/transformers/message.d.ts +2 -1
  72. package/dist/transformers/message.d.ts.map +1 -1
  73. package/dist/transformers/message.js +3 -4
  74. package/dist/transformers/message.js.map +1 -1
  75. package/dist/transformers/presence.d.ts +2 -14
  76. package/dist/transformers/presence.d.ts.map +1 -1
  77. package/dist/transformers/presence.js +1 -14
  78. package/dist/transformers/presence.js.map +1 -1
  79. package/dist/transformers/reverse/applicationCommandOptionChoice.d.ts +2 -2
  80. package/dist/transformers/reverse/applicationCommandOptionChoice.d.ts.map +1 -1
  81. package/dist/transformers/reverse/applicationCommandOptionChoice.js.map +1 -1
  82. package/dist/transformers/reverse/component.d.ts.map +1 -1
  83. package/dist/transformers/reverse/component.js +1 -0
  84. package/dist/transformers/reverse/component.js.map +1 -1
  85. package/dist/transformers/reverse/createApplicationCommand.d.ts.map +1 -1
  86. package/dist/transformers/reverse/createApplicationCommand.js.map +1 -1
  87. package/dist/transformers/reverse/index.d.ts +3 -0
  88. package/dist/transformers/reverse/index.d.ts.map +1 -1
  89. package/dist/transformers/reverse/index.js +3 -0
  90. package/dist/transformers/reverse/index.js.map +1 -1
  91. package/dist/transformers/reverse/member.d.ts +2 -1
  92. package/dist/transformers/reverse/member.d.ts.map +1 -1
  93. package/dist/transformers/reverse/member.js +10 -9
  94. package/dist/transformers/reverse/member.js.map +1 -1
  95. package/dist/transformers/role.d.ts +67 -13
  96. package/dist/transformers/role.d.ts.map +1 -1
  97. package/dist/transformers/role.js +51 -15
  98. package/dist/transformers/role.js.map +1 -1
  99. package/dist/transformers/scheduledEvent.d.ts +38 -6
  100. package/dist/transformers/scheduledEvent.d.ts.map +1 -1
  101. package/dist/transformers/sticker.d.ts +38 -6
  102. package/dist/transformers/sticker.d.ts.map +1 -1
  103. package/dist/transformers/team.d.ts +1 -1
  104. package/dist/transformers/template.d.ts +109 -114
  105. package/dist/transformers/template.d.ts.map +1 -1
  106. package/dist/transformers/toggles/Permissions.d.ts +9 -0
  107. package/dist/transformers/toggles/Permissions.d.ts.map +1 -0
  108. package/dist/transformers/toggles/Permissions.js +18 -0
  109. package/dist/transformers/toggles/Permissions.js.map +1 -0
  110. package/dist/transformers/toggles/ToggleBitfield.d.ts +1 -0
  111. package/dist/transformers/toggles/ToggleBitfield.d.ts.map +1 -1
  112. package/dist/transformers/toggles/ToggleBitfield.js +3 -0
  113. package/dist/transformers/toggles/ToggleBitfield.js.map +1 -1
  114. package/dist/transformers/toggles/channel.d.ts +33 -0
  115. package/dist/transformers/toggles/channel.d.ts.map +1 -0
  116. package/dist/transformers/toggles/channel.js +50 -0
  117. package/dist/transformers/toggles/channel.js.map +1 -0
  118. package/dist/transformers/toggles/guild.d.ts +0 -4
  119. package/dist/transformers/toggles/guild.d.ts.map +1 -1
  120. package/dist/transformers/toggles/guild.js +0 -6
  121. package/dist/transformers/toggles/guild.js.map +1 -1
  122. package/dist/transformers/toggles/index.d.ts +2 -0
  123. package/dist/transformers/toggles/index.d.ts.map +1 -1
  124. package/dist/transformers/toggles/index.js +2 -0
  125. package/dist/transformers/toggles/index.js.map +1 -1
  126. package/dist/transformers/toggles/role.d.ts +4 -0
  127. package/dist/transformers/toggles/role.d.ts.map +1 -1
  128. package/dist/transformers/toggles/role.js +6 -0
  129. package/dist/transformers/toggles/role.js.map +1 -1
  130. package/dist/transformers/user.d.ts +44 -0
  131. package/dist/transformers/user.d.ts.map +1 -0
  132. package/dist/transformers/user.js +42 -0
  133. package/dist/transformers/user.js.map +1 -0
  134. package/dist/transformers/voiceRegion.d.ts +1 -1
  135. package/dist/transformers/voiceState.d.ts +3 -3
  136. package/dist/transformers/webhook.d.ts +39 -7
  137. package/dist/transformers/webhook.d.ts.map +1 -1
  138. package/dist/transformers.d.ts +54 -5
  139. package/dist/transformers.d.ts.map +1 -1
  140. package/dist/transformers.js +60 -3
  141. package/dist/transformers.js.map +1 -1
  142. package/dist/typings.d.ts +4 -1
  143. package/dist/typings.d.ts.map +1 -1
  144. package/dist/typings.js.map +1 -1
  145. package/package.json +5 -5
@@ -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, User } from './member.js'\nimport { ToggleBitfield } from './toggles/ToggleBitfield.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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"}
@@ -1,24 +1,12 @@
1
1
  import { PresenceStatus, type DiscordPresenceUpdate } from '@discordeno/types';
2
- import { type Bot } from '../index.js';
3
- import { UserToggles } from './toggles/user.js';
2
+ import type { Bot } from '../index.js';
4
3
  export declare function transformPresence(bot: Bot, payload: DiscordPresenceUpdate): {
5
4
  desktop?: string | undefined;
6
5
  mobile?: string | undefined;
7
6
  web?: string | undefined;
8
7
  guildId: bigint;
8
+ user: import("./user.js").User;
9
9
  status: PresenceStatus;
10
- user: {
11
- flags?: import("@discordeno/types").UserFlags | undefined;
12
- locale?: string | undefined;
13
- avatar?: bigint | undefined;
14
- email?: string | undefined;
15
- premiumType?: import("@discordeno/types").PremiumTypes | undefined;
16
- publicFlags?: import("@discordeno/types").UserFlags | undefined;
17
- id: bigint;
18
- username: string;
19
- discriminator: string;
20
- toggles: UserToggles;
21
- };
22
10
  activities: import("./activity.js").Activity[];
23
11
  };
24
12
  export interface PresenceUpdate extends ReturnType<typeof transformPresence> {
@@ -1 +1 @@
1
- {"version":3,"file":"presence.d.ts","sourceRoot":"","sources":["../../src/transformers/presence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,EAAoB,KAAK,GAAG,EAAE,MAAM,aAAa,CAAA;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAG/C,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,qBAAqB;;;;;;;;;;;;;;;;;;;EAuBzE;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU,CAAC,OAAO,iBAAiB,CAAC;CAAG"}
1
+ {"version":3,"file":"presence.d.ts","sourceRoot":"","sources":["../../src/transformers/presence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAItC,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,qBAAqB;;;;;;;;EAYzE;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU,CAAC,OAAO,iBAAiB,CAAC;CAAG"}
@@ -1,21 +1,8 @@
1
1
  import { PresenceStatus } from '@discordeno/types';
2
- import { iconHashToBigInt } from '../index.js';
3
- import { UserToggles } from './toggles/user.js';
4
2
  // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
5
3
  export function transformPresence(bot, payload) {
6
4
  const presence = {
7
- user: {
8
- id: bot.transformers.snowflake(payload.user.id || ''),
9
- username: payload.user.username ?? undefined,
10
- discriminator: payload.user.discriminator ?? undefined,
11
- avatar: payload.user.avatar ? iconHashToBigInt(payload.user.avatar) : undefined,
12
- locale: payload.user.locale ?? undefined,
13
- email: payload.user.email ?? undefined,
14
- flags: payload.user.flags ?? undefined,
15
- premiumType: payload.user.premium_type ?? undefined,
16
- publicFlags: payload.user.public_flags ?? undefined,
17
- toggles: new UserToggles(payload.user)
18
- },
5
+ user: bot.transformers.user(bot, payload.user),
19
6
  guildId: bot.transformers.snowflake(payload.guild_id),
20
7
  status: PresenceStatus[payload.status],
21
8
  activities: payload.activities.map((activity)=>bot.transformers.activity(bot, activity)),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/transformers/presence.ts"],"sourcesContent":["import { PresenceStatus, type DiscordPresenceUpdate } from '@discordeno/types'\nimport { iconHashToBigInt, type Bot } from '../index.js'\nimport type { Optionalize } from '../optionalize.js'\nimport { UserToggles } from './toggles/user.js'\n\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function transformPresence(bot: Bot, payload: DiscordPresenceUpdate) {\n const presence = {\n user: {\n id: bot.transformers.snowflake(payload.user.id || ''),\n username: payload.user.username ?? undefined,\n discriminator: payload.user.discriminator ?? undefined,\n avatar: payload.user.avatar ? iconHashToBigInt(payload.user.avatar) : undefined,\n locale: payload.user.locale ?? undefined,\n email: payload.user.email ?? undefined,\n flags: payload.user.flags ?? undefined,\n premiumType: payload.user.premium_type ?? undefined,\n publicFlags: payload.user.public_flags ?? undefined,\n toggles: new UserToggles(payload.user),\n },\n guildId: bot.transformers.snowflake(payload.guild_id),\n status: PresenceStatus[payload.status],\n activities: payload.activities.map((activity) => bot.transformers.activity(bot, activity)),\n desktop: payload.client_status.desktop,\n mobile: payload.client_status.mobile,\n web: payload.client_status.web,\n }\n\n return presence as Optionalize<typeof presence>\n}\n\nexport interface PresenceUpdate extends ReturnType<typeof transformPresence> {}\n"],"names":["PresenceStatus","iconHashToBigInt","UserToggles","transformPresence","bot","payload","presence","user","id","transformers","snowflake","username","undefined","discriminator","avatar","locale","email","flags","premiumType","premium_type","publicFlags","public_flags","toggles","guildId","guild_id","status","activities","map","activity","desktop","client_status","mobile","web"],"mappings":"AAAA,SAASA,cAAc,QAAoC,oBAAmB;AAC9E,SAASC,gBAAgB,QAAkB,cAAa;AAExD,SAASC,WAAW,QAAQ,oBAAmB;AAE/C,4EAA4E;AAC5E,OAAO,SAASC,kBAAkBC,GAAQ,EAAEC,OAA8B,EAAE;IAC1E,MAAMC,WAAW;QACfC,MAAM;YACJC,IAAIJ,IAAIK,YAAY,CAACC,SAAS,CAACL,QAAQE,IAAI,CAACC,EAAE,IAAI;YAClDG,UAAUN,QAAQE,IAAI,CAACI,QAAQ,IAAIC;YACnCC,eAAeR,QAAQE,IAAI,CAACM,aAAa,IAAID;YAC7CE,QAAQT,QAAQE,IAAI,CAACO,MAAM,GAAGb,iBAAiBI,QAAQE,IAAI,CAACO,MAAM,IAAIF,SAAS;YAC/EG,QAAQV,QAAQE,IAAI,CAACQ,MAAM,IAAIH;YAC/BI,OAAOX,QAAQE,IAAI,CAACS,KAAK,IAAIJ;YAC7BK,OAAOZ,QAAQE,IAAI,CAACU,KAAK,IAAIL;YAC7BM,aAAab,QAAQE,IAAI,CAACY,YAAY,IAAIP;YAC1CQ,aAAaf,QAAQE,IAAI,CAACc,YAAY,IAAIT;YAC1CU,SAAS,IAAIpB,YAAYG,QAAQE,IAAI;QACvC;QACAgB,SAASnB,IAAIK,YAAY,CAACC,SAAS,CAACL,QAAQmB,QAAQ;QACpDC,QAAQzB,cAAc,CAACK,QAAQoB,MAAM,CAAC;QACtCC,YAAYrB,QAAQqB,UAAU,CAACC,GAAG,CAAC,CAACC,WAAaxB,IAAIK,YAAY,CAACmB,QAAQ,CAACxB,KAAKwB;QAChFC,SAASxB,QAAQyB,aAAa,CAACD,OAAO;QACtCE,QAAQ1B,QAAQyB,aAAa,CAACC,MAAM;QACpCC,KAAK3B,QAAQyB,aAAa,CAACE,GAAG;IAChC;IAEA,OAAO1B;AACT,CAAC"}
1
+ {"version":3,"sources":["../../src/transformers/presence.ts"],"sourcesContent":["import { PresenceStatus, type DiscordPresenceUpdate } from '@discordeno/types'\nimport type { Bot } from '../index.js'\nimport type { Optionalize } from '../optionalize.js'\n\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function transformPresence(bot: Bot, payload: DiscordPresenceUpdate) {\n const presence = {\n user: bot.transformers.user(bot, payload.user),\n guildId: bot.transformers.snowflake(payload.guild_id),\n status: PresenceStatus[payload.status],\n activities: payload.activities.map((activity) => bot.transformers.activity(bot, activity)),\n desktop: payload.client_status.desktop,\n mobile: payload.client_status.mobile,\n web: payload.client_status.web,\n }\n\n return presence as Optionalize<typeof presence>\n}\n\nexport interface PresenceUpdate extends ReturnType<typeof transformPresence> {}\n"],"names":["PresenceStatus","transformPresence","bot","payload","presence","user","transformers","guildId","snowflake","guild_id","status","activities","map","activity","desktop","client_status","mobile","web"],"mappings":"AAAA,SAASA,cAAc,QAAoC,oBAAmB;AAI9E,4EAA4E;AAC5E,OAAO,SAASC,kBAAkBC,GAAQ,EAAEC,OAA8B,EAAE;IAC1E,MAAMC,WAAW;QACfC,MAAMH,IAAII,YAAY,CAACD,IAAI,CAACH,KAAKC,QAAQE,IAAI;QAC7CE,SAASL,IAAII,YAAY,CAACE,SAAS,CAACL,QAAQM,QAAQ;QACpDC,QAAQV,cAAc,CAACG,QAAQO,MAAM,CAAC;QACtCC,YAAYR,QAAQQ,UAAU,CAACC,GAAG,CAAC,CAACC,WAAaX,IAAII,YAAY,CAACO,QAAQ,CAACX,KAAKW;QAChFC,SAASX,QAAQY,aAAa,CAACD,OAAO;QACtCE,QAAQb,QAAQY,aAAa,CAACC,MAAM;QACpCC,KAAKd,QAAQY,aAAa,CAACE,GAAG;IAChC;IAEA,OAAOb;AACT,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { Bot, DiscordApplicationCommandOptionChoice } from '../../index.js';
1
+ import type { Bot, Camelize, DiscordApplicationCommandOptionChoice } from '../../index.js';
2
2
  import type { ApplicationCommandOptionChoice } from '../applicationCommandOptionChoice.js';
3
- export declare function transformApplicationCommandOptionChoiceToDiscordApplicationCommandOptionChoice(bot: Bot, payload: ApplicationCommandOptionChoice): DiscordApplicationCommandOptionChoice;
3
+ export declare function transformApplicationCommandOptionChoiceToDiscordApplicationCommandOptionChoice(bot: Bot, payload: ApplicationCommandOptionChoice | Camelize<DiscordApplicationCommandOptionChoice>): DiscordApplicationCommandOptionChoice;
4
4
  //# sourceMappingURL=applicationCommandOptionChoice.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"applicationCommandOptionChoice.d.ts","sourceRoot":"","sources":["../../../src/transformers/reverse/applicationCommandOptionChoice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,qCAAqC,EAAE,MAAM,gBAAgB,CAAA;AAChF,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAA;AAE1F,wBAAgB,8EAA8E,CAC5F,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,8BAA8B,GACtC,qCAAqC,CAMvC"}
1
+ {"version":3,"file":"applicationCommandOptionChoice.d.ts","sourceRoot":"","sources":["../../../src/transformers/reverse/applicationCommandOptionChoice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,qCAAqC,EAAE,MAAM,gBAAgB,CAAA;AAC1F,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAA;AAE1F,wBAAgB,8EAA8E,CAC5F,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,8BAA8B,GAAG,QAAQ,CAAC,qCAAqC,CAAC,GACxF,qCAAqC,CAMvC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/transformers/reverse/applicationCommandOptionChoice.ts"],"sourcesContent":["import type { Bot, DiscordApplicationCommandOptionChoice } from '../../index.js'\nimport type { ApplicationCommandOptionChoice } from '../applicationCommandOptionChoice.js'\n\nexport function transformApplicationCommandOptionChoiceToDiscordApplicationCommandOptionChoice(\n bot: Bot,\n payload: ApplicationCommandOptionChoice,\n): DiscordApplicationCommandOptionChoice {\n return {\n name: payload.name,\n name_localizations: payload.nameLocalizations,\n value: payload.value,\n }\n}\n"],"names":["transformApplicationCommandOptionChoiceToDiscordApplicationCommandOptionChoice","bot","payload","name","name_localizations","nameLocalizations","value"],"mappings":"AAGA,OAAO,SAASA,+EACdC,GAAQ,EACRC,OAAuC,EACA;IACvC,OAAO;QACLC,MAAMD,QAAQC,IAAI;QAClBC,oBAAoBF,QAAQG,iBAAiB;QAC7CC,OAAOJ,QAAQI,KAAK;IACtB;AACF,CAAC"}
1
+ {"version":3,"sources":["../../../src/transformers/reverse/applicationCommandOptionChoice.ts"],"sourcesContent":["import type { Bot, Camelize, DiscordApplicationCommandOptionChoice } from '../../index.js'\nimport type { ApplicationCommandOptionChoice } from '../applicationCommandOptionChoice.js'\n\nexport function transformApplicationCommandOptionChoiceToDiscordApplicationCommandOptionChoice(\n bot: Bot,\n payload: ApplicationCommandOptionChoice | Camelize<DiscordApplicationCommandOptionChoice>,\n): DiscordApplicationCommandOptionChoice {\n return {\n name: payload.name,\n name_localizations: payload.nameLocalizations,\n value: payload.value,\n }\n}\n"],"names":["transformApplicationCommandOptionChoiceToDiscordApplicationCommandOptionChoice","bot","payload","name","name_localizations","nameLocalizations","value"],"mappings":"AAGA,OAAO,SAASA,+EACdC,GAAQ,EACRC,OAAyF,EAClD;IACvC,OAAO;QACLC,MAAMD,QAAQC,IAAI;QAClBC,oBAAoBF,QAAQG,iBAAiB;QAC7CC,OAAOJ,QAAQI,KAAK;IACtB;AACF,CAAC"}
@@ -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 +1 @@
1
- {"version":3,"file":"createApplicationCommand.d.ts","sourceRoot":"","sources":["../../../src/transformers/reverse/createApplicationCommand.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,wBAAwB,EAAE,+BAA+B,EAAE,MAAM,gBAAgB,CAAA;AAGpG,wBAAgB,kEAAkE,CAChF,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,wBAAwB,GAChC,+BAA+B,CAuBjC"}
1
+ {"version":3,"file":"createApplicationCommand.d.ts","sourceRoot":"","sources":["../../../src/transformers/reverse/createApplicationCommand.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA4B,GAAG,EAAE,wBAAwB,EAAE,+BAA+B,EAAE,MAAM,gBAAgB,CAAA;AAG9H,wBAAgB,kEAAkE,CAChF,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,wBAAwB,GAChC,+BAA+B,CAuBjC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/transformers/reverse/createApplicationCommand.ts"],"sourcesContent":["import { calculateBits } from '@discordeno/utils'\nimport type { Bot, CreateApplicationCommand, DiscordCreateApplicationCommand } from '../../index.js'\nimport { isContextApplicationCommand } from '../../typings.js'\n\nexport function transformCreateApplicationCommandToDiscordCreateApplicationCommand(\n bot: Bot,\n payload: CreateApplicationCommand,\n): DiscordCreateApplicationCommand {\n if (isContextApplicationCommand(payload)) {\n return {\n name: payload.name,\n name_localizations: payload.nameLocalizations,\n description: '',\n description_localizations: {},\n type: payload.type,\n default_member_permissions: payload.defaultMemberPermissions ? calculateBits(payload.defaultMemberPermissions) : null,\n dm_permission: payload.dmPermission,\n }\n }\n\n return {\n name: payload.name,\n name_localizations: payload.nameLocalizations,\n description: payload.description,\n description_localizations: payload.descriptionLocalizations,\n type: payload.type,\n options: payload.options?.map((option) => bot.transformers.reverse.applicationCommandOption(bot, option)),\n default_member_permissions: payload.defaultMemberPermissions ? calculateBits(payload.defaultMemberPermissions) : null,\n dm_permission: payload.dmPermission,\n }\n}\n"],"names":["calculateBits","isContextApplicationCommand","transformCreateApplicationCommandToDiscordCreateApplicationCommand","bot","payload","name","name_localizations","nameLocalizations","description","description_localizations","type","default_member_permissions","defaultMemberPermissions","dm_permission","dmPermission","descriptionLocalizations","options","map","option","transformers","reverse","applicationCommandOption"],"mappings":"AAAA,SAASA,aAAa,QAAQ,oBAAmB;AAEjD,SAASC,2BAA2B,QAAQ,mBAAkB;AAE9D,OAAO,SAASC,mEACdC,GAAQ,EACRC,OAAiC,EACA;IACjC,IAAIH,4BAA4BG,UAAU;QACxC,OAAO;YACLC,MAAMD,QAAQC,IAAI;YAClBC,oBAAoBF,QAAQG,iBAAiB;YAC7CC,aAAa;YACbC,2BAA2B,CAAC;YAC5BC,MAAMN,QAAQM,IAAI;YAClBC,4BAA4BP,QAAQQ,wBAAwB,GAAGZ,cAAcI,QAAQQ,wBAAwB,IAAI,IAAI;YACrHC,eAAeT,QAAQU,YAAY;QACrC;IACF,CAAC;IAED,OAAO;QACLT,MAAMD,QAAQC,IAAI;QAClBC,oBAAoBF,QAAQG,iBAAiB;QAC7CC,aAAaJ,QAAQI,WAAW;QAChCC,2BAA2BL,QAAQW,wBAAwB;QAC3DL,MAAMN,QAAQM,IAAI;QAClBM,SAASZ,QAAQY,OAAO,EAAEC,IAAI,CAACC,SAAWf,IAAIgB,YAAY,CAACC,OAAO,CAACC,wBAAwB,CAAClB,KAAKe;QACjGP,4BAA4BP,QAAQQ,wBAAwB,GAAGZ,cAAcI,QAAQQ,wBAAwB,IAAI,IAAI;QACrHC,eAAeT,QAAQU,YAAY;IACrC;AACF,CAAC"}
1
+ {"version":3,"sources":["../../../src/transformers/reverse/createApplicationCommand.ts"],"sourcesContent":["import { calculateBits } from '@discordeno/utils'\nimport type { ApplicationCommandOption, Bot, CreateApplicationCommand, DiscordCreateApplicationCommand } from '../../index.js'\nimport { isContextApplicationCommand } from '../../typings.js'\n\nexport function transformCreateApplicationCommandToDiscordCreateApplicationCommand(\n bot: Bot,\n payload: CreateApplicationCommand,\n): DiscordCreateApplicationCommand {\n if (isContextApplicationCommand(payload)) {\n return {\n name: payload.name,\n name_localizations: payload.nameLocalizations,\n description: '',\n description_localizations: {},\n type: payload.type,\n default_member_permissions: payload.defaultMemberPermissions ? calculateBits(payload.defaultMemberPermissions) : null,\n dm_permission: payload.dmPermission,\n }\n }\n\n return {\n name: payload.name,\n name_localizations: payload.nameLocalizations,\n description: payload.description,\n description_localizations: payload.descriptionLocalizations,\n type: payload.type,\n options: payload.options?.map((option) => bot.transformers.reverse.applicationCommandOption(bot, option as unknown as ApplicationCommandOption)),\n default_member_permissions: payload.defaultMemberPermissions ? calculateBits(payload.defaultMemberPermissions) : null,\n dm_permission: payload.dmPermission,\n }\n}\n"],"names":["calculateBits","isContextApplicationCommand","transformCreateApplicationCommandToDiscordCreateApplicationCommand","bot","payload","name","name_localizations","nameLocalizations","description","description_localizations","type","default_member_permissions","defaultMemberPermissions","dm_permission","dmPermission","descriptionLocalizations","options","map","option","transformers","reverse","applicationCommandOption"],"mappings":"AAAA,SAASA,aAAa,QAAQ,oBAAmB;AAEjD,SAASC,2BAA2B,QAAQ,mBAAkB;AAE9D,OAAO,SAASC,mEACdC,GAAQ,EACRC,OAAiC,EACA;IACjC,IAAIH,4BAA4BG,UAAU;QACxC,OAAO;YACLC,MAAMD,QAAQC,IAAI;YAClBC,oBAAoBF,QAAQG,iBAAiB;YAC7CC,aAAa;YACbC,2BAA2B,CAAC;YAC5BC,MAAMN,QAAQM,IAAI;YAClBC,4BAA4BP,QAAQQ,wBAAwB,GAAGZ,cAAcI,QAAQQ,wBAAwB,IAAI,IAAI;YACrHC,eAAeT,QAAQU,YAAY;QACrC;IACF,CAAC;IAED,OAAO;QACLT,MAAMD,QAAQC,IAAI;QAClBC,oBAAoBF,QAAQG,iBAAiB;QAC7CC,aAAaJ,QAAQI,WAAW;QAChCC,2BAA2BL,QAAQW,wBAAwB;QAC3DL,MAAMN,QAAQM,IAAI;QAClBM,SAASZ,QAAQY,OAAO,EAAEC,IAAI,CAACC,SAAWf,IAAIgB,YAAY,CAACC,OAAO,CAACC,wBAAwB,CAAClB,KAAKe;QACjGP,4BAA4BP,QAAQQ,wBAAwB,GAAGZ,cAAcI,QAAQQ,wBAAwB,IAAI,IAAI;QACrHC,eAAeT,QAAQU,YAAY;IACrC;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,6 +1,7 @@
1
1
  import type { DiscordMember, DiscordUser } from '@discordeno/types';
2
2
  import type { Bot } from '../../bot.js';
3
- import type { Member, User } from '../member.js';
3
+ import type { Member } from '../member.js';
4
+ import type { User } from '../user.js';
4
5
  export declare function transformUserToDiscordUser(bot: Bot, payload: User): DiscordUser;
5
6
  export declare function transformMemberToDiscordMember(bot: Bot, payload: Member): DiscordMember;
6
7
  //# sourceMappingURL=member.d.ts.map
@@ -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,IAAI,EAAE,MAAM,cAAc,CAAA;AAEhD,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,17 +3,18 @@ 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,
9
10
  email: payload.email ?? undefined,
10
- flags: payload.flags,
11
+ flags: payload.flags?.toJSON(),
11
12
  premium_type: payload.premiumType,
12
- public_flags: payload.publicFlags,
13
- bot: payload.toggles.bot,
14
- system: payload.toggles.system,
15
- mfa_enabled: payload.toggles.mfaEnabled,
16
- verified: payload.toggles.verified
13
+ public_flags: payload.publicFlags?.toJSON(),
14
+ bot: payload.toggles?.bot,
15
+ system: payload.toggles?.system,
16
+ mfa_enabled: payload.toggles?.mfaEnabled,
17
+ verified: payload.toggles?.verified
17
18
  };
18
19
  }
19
20
  export function transformMemberToDiscordMember(bot, payload) {
@@ -25,9 +26,9 @@ export function transformMemberToDiscordMember(bot, payload) {
25
26
  avatar: payload.avatar ? iconBigintToHash(payload.avatar) : undefined,
26
27
  permissions: payload.permissions?.toString(),
27
28
  communication_disabled_until: payload.communicationDisabledUntil ? new Date(payload.communicationDisabledUntil).toISOString() : undefined,
28
- deaf: payload.toggles.deaf,
29
- mute: payload.toggles.mute,
30
- pending: payload.toggles.pending
29
+ deaf: payload.toggles?.deaf,
30
+ mute: payload.toggles?.mute,
31
+ pending: payload.toggles?.pending
31
32
  };
32
33
  }
33
34
 
@@ -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, User } from '../member.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,\n premium_type: payload.premiumType,\n public_flags: payload.publicFlags,\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","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;AAIpD,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;QACpBC,cAAcV,QAAQW,WAAW;QACjCC,cAAcZ,QAAQa,WAAW;QACjCd,KAAKC,QAAQc,OAAO,CAACf,GAAG;QACxBgB,QAAQf,QAAQc,OAAO,CAACC,MAAM;QAC9BC,aAAahB,QAAQc,OAAO,CAACG,UAAU;QACvCC,UAAUlB,QAAQc,OAAO,CAACI,QAAQ;IACpC;AACF,CAAC;AAED,OAAO,SAASC,+BAA+BpB,GAAQ,EAAEC,OAAe,EAAiB;IACvF,OAAO;QACLoB,MAAMpB,QAAQoB,IAAI,IAAIZ;QACtBa,OAAOrB,QAAQqB,KAAK,CAACC,GAAG,CAAC,CAACrB,KAAOA,GAAGC,QAAQ;QAC5CqB,WAAW,IAAIC,KAAKxB,QAAQyB,QAAQ,EAAEC,WAAW;QACjDC,eAAe3B,QAAQ4B,YAAY,GAAG,IAAIJ,KAAKxB,QAAQ4B,YAAY,EAAEF,WAAW,KAAKlB,SAAS;QAC9FH,QAAQL,QAAQK,MAAM,GAAGR,iBAAiBG,QAAQK,MAAM,IAAIG,SAAS;QACrEqB,aAAa7B,QAAQ6B,WAAW,EAAE3B;QAClC4B,8BAA8B9B,QAAQ+B,0BAA0B,GAAG,IAAIP,KAAKxB,QAAQ+B,0BAA0B,EAAEL,WAAW,KAAKlB,SAAS;QACzIwB,MAAMhC,QAAQc,OAAO,CAACkB,IAAI;QAC1BC,MAAMjC,QAAQc,OAAO,CAACmB,IAAI;QAC1BC,SAASlC,QAAQc,OAAO,CAACoB,OAAO;IAClC;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,23 +1,77 @@
1
- import type { DiscordRole } from '@discordeno/types';
1
+ import type { BigString, DiscordRole } from '@discordeno/types';
2
2
  import { type Bot } from '../index.js';
3
+ import { Permissions } from './toggles/Permissions.js';
3
4
  import { RoleToggles } from './toggles/role.js';
4
5
  export declare function transformRole(bot: Bot, payload: {
5
6
  role: DiscordRole;
6
7
  } & {
7
- guildId: bigint;
8
- }): {
9
- icon?: bigint | undefined;
10
- botId?: bigint | undefined;
11
- integrationId?: bigint | undefined;
12
- unicodeEmoji?: string | undefined;
8
+ guildId: BigString;
9
+ }): Role;
10
+ export interface BaseRole {
11
+ /** The tags this role has */
12
+ tags?: {
13
+ /** The id of the bot this role belongs to */
14
+ botId?: bigint;
15
+ /** The id of the integration this role belongs to */
16
+ integrationId?: bigint;
17
+ /** Id of this role's subscription sku and listing. */
18
+ subscriptionListingId?: bigint;
19
+ /** Whether this role is available for purchase. */
20
+ availableForPurchase?: boolean;
21
+ /** Whether this is a guild's linked role */
22
+ guildConnections?: boolean;
23
+ /** Whether this is the guild's premium subscriber role */
24
+ premiumSubscriber?: boolean;
25
+ };
26
+ /** If this role is showed separately in the user listing */
27
+ hoist: boolean;
28
+ /** Whether this role is managed by an integration */
29
+ managed: boolean;
30
+ /** Whether this role is mentionable */
31
+ mentionable: boolean;
32
+ /** Whether this is the guilds premium subscriber role */
33
+ premiumSubscriber: boolean;
34
+ /** Whether this role is available for purchase. */
35
+ availableForPurchase: boolean;
36
+ /** Whether this is a guild's linked role. */
37
+ guildConnections: boolean;
38
+ }
39
+ export interface Role extends BaseRole {
40
+ /** Role id */
13
41
  id: bigint;
14
- name: string;
15
- toggles: RoleToggles;
42
+ /** The guild id where this role is located. */
16
43
  guildId: bigint;
17
- permissions: bigint;
18
- position: number;
44
+ /** The compressed version of the boolean values on this role. */
45
+ toggles?: RoleToggles;
46
+ /** If this role is showed separately in the user listing */
47
+ hoist: boolean;
48
+ /** Permission bit set */
49
+ permissions: Permissions;
50
+ /** Whether this role is managed by an integration */
51
+ managed: boolean;
52
+ /** Whether this role is mentionable */
53
+ mentionable: boolean;
54
+ /**
55
+ * Use role.tags
56
+ * @deprecated this is not deprecated, but this is here to prevent users from using this as this is an internal value open to breaking changes.
57
+ */
58
+ internalTags?: {
59
+ /** The id of the bot this role belongs to */
60
+ botId?: bigint;
61
+ /** The id of the integration this role belongs to */
62
+ integrationId?: bigint;
63
+ /** Id of this role's subscription sku and listing. */
64
+ subscriptionListingId?: bigint;
65
+ };
66
+ /** the role emoji hash */
67
+ icon?: bigint;
68
+ /** Role name */
69
+ name: string;
70
+ /** Integer representation of hexadecimal color code */
19
71
  color: number;
20
- };
21
- export interface Role extends ReturnType<typeof transformRole> {
72
+ /** Position of this role */
73
+ position: number;
74
+ /** role unicode emoji */
75
+ unicodeEmoji?: string;
22
76
  }
23
77
  //# sourceMappingURL=role.d.ts.map
@@ -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;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAG/C,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;EAiB3F;AAED,MAAM,WAAW,IAAK,SAAQ,UAAU,CAAC,OAAO,aAAa,CAAC;CAAG"}
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"}