@sapphire/discord-utilities 2.2.3 → 2.3.0

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/README.md CHANGED
@@ -83,7 +83,10 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
83
83
  <td align="center"><a href="https://github.com/nandhagk"><img src="https://avatars.githubusercontent.com/u/62976649?v=4?s=100" width="100px;" alt=""/><br /><sub><b>nandhagk</b></sub></a><br /><a href="https://github.com/sapphiredev/utilities/issues?q=author%3Anandhagk" title="Bug reports">🐛</a></td>
84
84
  <td align="center"><a href="https://megatank58.me/"><img src="https://avatars.githubusercontent.com/u/51410502?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Megatank58</b></sub></a><br /><a href="https://github.com/sapphiredev/utilities/commits?author=Megatank58" title="Code">💻</a></td>
85
85
  <td align="center"><a href="https://github.com/UndiedGamer"><img src="https://avatars.githubusercontent.com/u/84702365?v=4?s=100" width="100px;" alt=""/><br /><sub><b>UndiedGamer</b></sub></a><br /><a href="https://github.com/sapphiredev/utilities/commits?author=UndiedGamer" title="Code">💻</a></td>
86
- <td align="center"><a href="https://github.com/Lioness100"><img src="https://avatars.githubusercontent.com/u/65814829?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Lioness100</b></sub></a><br /><a href="https://github.com/sapphiredev/utilities/commits?author=Lioness100" title="Documentation">📖</a></td>
86
+ <td align="center"><a href="https://github.com/Lioness100"><img src="https://avatars.githubusercontent.com/u/65814829?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Lioness100</b></sub></a><br /><a href="https://github.com/sapphiredev/utilities/commits?author=Lioness100" title="Documentation">📖</a> <a href="https://github.com/sapphiredev/utilities/commits?author=Lioness100" title="Code">💻</a></td>
87
+ </tr>
88
+ <tr>
89
+ <td align="center"><a href="https://gitlab.com/DavidPH/"><img src="https://avatars.githubusercontent.com/u/44669930?v=4?s=100" width="100px;" alt=""/><br /><sub><b>David</b></sub></a><br /><a href="https://github.com/sapphiredev/utilities/commits?author=DavidPHH" title="Code">💻</a></td>
87
90
  </tr>
88
91
  </table>
89
92
 
package/dist/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './lib/regexes';
2
+ export * from './lib/limits';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -135,20 +135,149 @@ const WebSocketUrlRegex = /^wss?:\/\//;
135
135
  */
136
136
  const WebhookRegex = /(?<url>^https:\/\/(?:(?:canary|ptb).)?discordapp.com\/api\/webhooks\/(?<id>\d+)\/(?<token>[\w-]+)\/?$)/;
137
137
 
138
+ /**
139
+ * Namespace containing limits related to Discord channels.
140
+ */
141
+ const ChannelLimits = {
142
+ /**
143
+ * Maximum characters allowed in a channel description.
144
+ */
145
+ MaximumDescriptionLength: 1024,
146
+ /**
147
+ * Maximum characters allowed in a channel name.
148
+ */
149
+ MaximumNameLength: 100,
150
+ /**
151
+ * Maximum viewers allowed per screen share.
152
+ */
153
+ MaximumViewersPerScreenShare: 50
154
+ };
155
+ /**
156
+ * Namespace containing limits related to Discord embeds.
157
+ */
158
+ const EmbedLimits = {
159
+ /**
160
+ * Maximum characters allowed in the author field of an embed.
161
+ */
162
+ MaximumAuthorNameLength: 256,
163
+ /**
164
+ * Maximum characters allowed in an embed description.
165
+ */
166
+ MaximumDescriptionLength: 4096,
167
+ /**
168
+ * Maximum characters allowed in the name of a field in an embed.
169
+ */
170
+ MaximumFieldNameLength: 256,
171
+ /**
172
+ * Maximum fields allowed in an embed.
173
+ */
174
+ MaximumFields: 25,
175
+ /**
176
+ * Maximum characters allowed in the avlue of a field in an embed.
177
+ */
178
+ MaximumFieldValueLength: 1024,
179
+ /**
180
+ * Maximum characters allowed in a footer of an embed.
181
+ */
182
+ MaximumFooterLength: 2048,
183
+ /**
184
+ * Maximum characters allowed in the title of an embed.
185
+ */
186
+ MaximumTitleLength: 256,
187
+ /**
188
+ * Maximum characters allowed in an embed, in total.
189
+ */
190
+ MaximumTotalCharacters: 6000
191
+ };
192
+ /**
193
+ * Namespace containing limits related to Discord emojis.
194
+ */
195
+ const EmojiLimits = {
196
+ /**
197
+ * Maximum characters allowed in a custom guild emoji.
198
+ */
199
+ MaximumEmojiNameLength: 32
200
+ };
201
+ /**
202
+ * Namespace containing limits related to Discord guilds.
203
+ */
204
+ const GuildLimits = {
205
+ /**
206
+ * Maximum channels allowed per guild, including category channels.
207
+ */
208
+ MaximumChannels: 500,
209
+ /**
210
+ * Maximum roles allowed in a guild.
211
+ */
212
+ MaximumRoles: 250
213
+ };
214
+ /**
215
+ * Namespace containing limits related to Discord guild members.
216
+ */
217
+ const GuildMemberLimits = {
218
+ /**
219
+ * Maximum characters allowed in the display name of a guild member.
220
+ */
221
+ MaximumDisplayNameLength: 32
222
+ };
223
+ /**
224
+ * Namespace containing limits related to Discord messages.
225
+ */
226
+ const MessageLimits = {
227
+ /**
228
+ * Maximum embeds allowed in a single message.
229
+ */
230
+ MaximumEmbeds: 10,
231
+ /**
232
+ * Maximum characters allowed in a single message for a user.
233
+ */
234
+ MaximumLength: 2000,
235
+ /**
236
+ * Maximum characters allowed in a single message for a nitro user.
237
+ */
238
+ MaximumNitroLength: 4000
239
+ };
240
+ /**
241
+ * Namespace containing limits related to Discord roles.
242
+ */
243
+ const RoleLimits = {
244
+ /**
245
+ * Maximum characters allowed in a role name.
246
+ */
247
+ MaximumNameLength: 100
248
+ };
249
+ /**
250
+ * Namespace containing limits related to Discord users and Direct Messages.
251
+ */
252
+ const UserLimits = {
253
+ /**
254
+ * Maximum numbers of users in a DM group.
255
+ */
256
+ MaximumUsersPerDMGroup: 10
257
+ };
258
+
259
+ exports.ChannelLimits = ChannelLimits;
138
260
  exports.ChannelMentionRegex = ChannelMentionRegex;
139
261
  exports.ChannelMessageRegex = ChannelMessageRegex;
140
262
  exports.DiscordHostnameRegex = DiscordHostnameRegex;
141
263
  exports.DiscordInviteLinkRegex = DiscordInviteLinkRegex;
264
+ exports.EmbedLimits = EmbedLimits;
265
+ exports.EmojiLimits = EmojiLimits;
142
266
  exports.EmojiRegex = EmojiRegex;
143
267
  exports.FormattedCustomEmoji = FormattedCustomEmoji;
144
268
  exports.FormattedCustomEmojiWithGroups = FormattedCustomEmojiWithGroups;
269
+ exports.GuildLimits = GuildLimits;
270
+ exports.GuildMemberLimits = GuildMemberLimits;
145
271
  exports.HttpUrlRegex = HttpUrlRegex;
272
+ exports.MessageLimits = MessageLimits;
146
273
  exports.MessageLinkRegex = MessageLinkRegex;
147
274
  exports.ParsedCustomEmoji = ParsedCustomEmoji;
148
275
  exports.ParsedCustomEmojiWithGroups = ParsedCustomEmojiWithGroups;
276
+ exports.RoleLimits = RoleLimits;
149
277
  exports.RoleMentionRegex = RoleMentionRegex;
150
278
  exports.SnowflakeRegex = SnowflakeRegex;
151
279
  exports.TwemojiRegex = TwemojiRegex;
280
+ exports.UserLimits = UserLimits;
152
281
  exports.UserOrMemberMentionRegex = UserOrMemberMentionRegex;
153
282
  exports.WebSocketUrlRegex = WebSocketUrlRegex;
154
283
  exports.WebhookRegex = WebhookRegex;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../node_modules/twemoji-parser/dist/lib/regex.js","../src/lib/regexes.ts"],"sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n// Copyright Twitter Inc. Licensed under MIT\n// https://github.com/twitter/twemoji-parser/blob/master/LICENSE.md\n\n// This file is generated by source/emoji/scripts/generate.sh\nexports.default = /(?:\\ud83d\\udc68\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffc-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc68\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udffe]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffc-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffe]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d[\\udc68\\udc69]|\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d[\\udc68\\udc69]|\\ud83e\\uddd1\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1|\\ud83d\\udc6b\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc6c\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc6d\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc8f\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc91\\ud83c[\\udffb-\\udfff]|\\ud83d[\\udc6b-\\udc6d\\udc8f\\udc91])|(?:\\ud83d[\\udc68\\udc69]|\\ud83e\\uddd1)(?:\\ud83c[\\udffb-\\udfff])?\\u200d(?:\\u2695\\ufe0f|\\u2696\\ufe0f|\\u2708\\ufe0f|\\ud83c[\\udf3e\\udf73\\udf7c\\udf84\\udf93\\udfa4\\udfa8\\udfeb\\udfed]|\\ud83d[\\udcbb\\udcbc\\udd27\\udd2c\\ude80\\ude92]|\\ud83e[\\uddaf-\\uddb3\\uddbc\\uddbd])|(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75]|\\u26f9)((?:\\ud83c[\\udffb-\\udfff]|\\ufe0f)\\u200d[\\u2640\\u2642]\\ufe0f)|(?:\\ud83c[\\udfc3\\udfc4\\udfca]|\\ud83d[\\udc6e\\udc70\\udc71\\udc73\\udc77\\udc81\\udc82\\udc86\\udc87\\ude45-\\ude47\\ude4b\\ude4d\\ude4e\\udea3\\udeb4-\\udeb6]|\\ud83e[\\udd26\\udd35\\udd37-\\udd39\\udd3d\\udd3e\\uddb8\\uddb9\\uddcd-\\uddcf\\uddd4\\uddd6-\\udddd])(?:\\ud83c[\\udffb-\\udfff])?\\u200d[\\u2640\\u2642]\\ufe0f|(?:\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83c\\udff3\\ufe0f\\u200d\\u26a7\\ufe0f|\\ud83c\\udff3\\ufe0f\\u200d\\ud83c\\udf08|\\ud83d\\ude36\\u200d\\ud83c\\udf2b\\ufe0f|\\u2764\\ufe0f\\u200d\\ud83d\\udd25|\\u2764\\ufe0f\\u200d\\ud83e\\ude79|\\ud83c\\udff4\\u200d\\u2620\\ufe0f|\\ud83d\\udc15\\u200d\\ud83e\\uddba|\\ud83d\\udc3b\\u200d\\u2744\\ufe0f|\\ud83d\\udc41\\u200d\\ud83d\\udde8|\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc6f\\u200d\\u2640\\ufe0f|\\ud83d\\udc6f\\u200d\\u2642\\ufe0f|\\ud83d\\ude2e\\u200d\\ud83d\\udca8|\\ud83d\\ude35\\u200d\\ud83d\\udcab|\\ud83e\\udd3c\\u200d\\u2640\\ufe0f|\\ud83e\\udd3c\\u200d\\u2642\\ufe0f|\\ud83e\\uddde\\u200d\\u2640\\ufe0f|\\ud83e\\uddde\\u200d\\u2642\\ufe0f|\\ud83e\\udddf\\u200d\\u2640\\ufe0f|\\ud83e\\udddf\\u200d\\u2642\\ufe0f|\\ud83d\\udc08\\u200d\\u2b1b)|[#*0-9]\\ufe0f?\\u20e3|(?:[©®\\u2122\\u265f]\\ufe0f)|(?:\\ud83c[\\udc04\\udd70\\udd71\\udd7e\\udd7f\\ude02\\ude1a\\ude2f\\ude37\\udf21\\udf24-\\udf2c\\udf36\\udf7d\\udf96\\udf97\\udf99-\\udf9b\\udf9e\\udf9f\\udfcd\\udfce\\udfd4-\\udfdf\\udff3\\udff5\\udff7]|\\ud83d[\\udc3f\\udc41\\udcfd\\udd49\\udd4a\\udd6f\\udd70\\udd73\\udd76-\\udd79\\udd87\\udd8a-\\udd8d\\udda5\\udda8\\uddb1\\uddb2\\uddbc\\uddc2-\\uddc4\\uddd1-\\uddd3\\udddc-\\uddde\\udde1\\udde3\\udde8\\uddef\\uddf3\\uddfa\\udecb\\udecd-\\udecf\\udee0-\\udee5\\udee9\\udef0\\udef3]|[\\u203c\\u2049\\u2139\\u2194-\\u2199\\u21a9\\u21aa\\u231a\\u231b\\u2328\\u23cf\\u23ed-\\u23ef\\u23f1\\u23f2\\u23f8-\\u23fa\\u24c2\\u25aa\\u25ab\\u25b6\\u25c0\\u25fb-\\u25fe\\u2600-\\u2604\\u260e\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262a\\u262e\\u262f\\u2638-\\u263a\\u2640\\u2642\\u2648-\\u2653\\u2660\\u2663\\u2665\\u2666\\u2668\\u267b\\u267f\\u2692-\\u2697\\u2699\\u269b\\u269c\\u26a0\\u26a1\\u26a7\\u26aa\\u26ab\\u26b0\\u26b1\\u26bd\\u26be\\u26c4\\u26c5\\u26c8\\u26cf\\u26d1\\u26d3\\u26d4\\u26e9\\u26ea\\u26f0-\\u26f5\\u26f8\\u26fa\\u26fd\\u2702\\u2708\\u2709\\u270f\\u2712\\u2714\\u2716\\u271d\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u2764\\u27a1\\u2934\\u2935\\u2b05-\\u2b07\\u2b1b\\u2b1c\\u2b50\\u2b55\\u3030\\u303d\\u3297\\u3299])(?:\\ufe0f|(?!\\ufe0e))|(?:(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75\\udd90]|[\\u261d\\u26f7\\u26f9\\u270c\\u270d])(?:\\ufe0f|(?!\\ufe0e))|(?:\\ud83c[\\udf85\\udfc2-\\udfc4\\udfc7\\udfca]|\\ud83d[\\udc42\\udc43\\udc46-\\udc50\\udc66-\\udc69\\udc6e\\udc70-\\udc78\\udc7c\\udc81-\\udc83\\udc85-\\udc87\\udcaa\\udd7a\\udd95\\udd96\\ude45-\\ude47\\ude4b-\\ude4f\\udea3\\udeb4-\\udeb6\\udec0\\udecc]|\\ud83e[\\udd0c\\udd0f\\udd18-\\udd1c\\udd1e\\udd1f\\udd26\\udd30-\\udd39\\udd3d\\udd3e\\udd77\\uddb5\\uddb6\\uddb8\\uddb9\\uddbb\\uddcd-\\uddcf\\uddd1-\\udddd]|[\\u270a\\u270b]))(?:\\ud83c[\\udffb-\\udfff])?|(?:\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc65\\udb40\\udc6e\\udb40\\udc67\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc73\\udb40\\udc63\\udb40\\udc74\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc77\\udb40\\udc6c\\udb40\\udc73\\udb40\\udc7f|\\ud83c\\udde6\\ud83c[\\udde8-\\uddec\\uddee\\uddf1\\uddf2\\uddf4\\uddf6-\\uddfa\\uddfc\\uddfd\\uddff]|\\ud83c\\udde7\\ud83c[\\udde6\\udde7\\udde9-\\uddef\\uddf1-\\uddf4\\uddf6-\\uddf9\\uddfb\\uddfc\\uddfe\\uddff]|\\ud83c\\udde8\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\uddee\\uddf0-\\uddf5\\uddf7\\uddfa-\\uddff]|\\ud83c\\udde9\\ud83c[\\uddea\\uddec\\uddef\\uddf0\\uddf2\\uddf4\\uddff]|\\ud83c\\uddea\\ud83c[\\udde6\\udde8\\uddea\\uddec\\udded\\uddf7-\\uddfa]|\\ud83c\\uddeb\\ud83c[\\uddee-\\uddf0\\uddf2\\uddf4\\uddf7]|\\ud83c\\uddec\\ud83c[\\udde6\\udde7\\udde9-\\uddee\\uddf1-\\uddf3\\uddf5-\\uddfa\\uddfc\\uddfe]|\\ud83c\\udded\\ud83c[\\uddf0\\uddf2\\uddf3\\uddf7\\uddf9\\uddfa]|\\ud83c\\uddee\\ud83c[\\udde8-\\uddea\\uddf1-\\uddf4\\uddf6-\\uddf9]|\\ud83c\\uddef\\ud83c[\\uddea\\uddf2\\uddf4\\uddf5]|\\ud83c\\uddf0\\ud83c[\\uddea\\uddec-\\uddee\\uddf2\\uddf3\\uddf5\\uddf7\\uddfc\\uddfe\\uddff]|\\ud83c\\uddf1\\ud83c[\\udde6-\\udde8\\uddee\\uddf0\\uddf7-\\uddfb\\uddfe]|\\ud83c\\uddf2\\ud83c[\\udde6\\udde8-\\udded\\uddf0-\\uddff]|\\ud83c\\uddf3\\ud83c[\\udde6\\udde8\\uddea-\\uddec\\uddee\\uddf1\\uddf4\\uddf5\\uddf7\\uddfa\\uddff]|\\ud83c\\uddf4\\ud83c\\uddf2|\\ud83c\\uddf5\\ud83c[\\udde6\\uddea-\\udded\\uddf0-\\uddf3\\uddf7-\\uddf9\\uddfc\\uddfe]|\\ud83c\\uddf6\\ud83c\\udde6|\\ud83c\\uddf7\\ud83c[\\uddea\\uddf4\\uddf8\\uddfa\\uddfc]|\\ud83c\\uddf8\\ud83c[\\udde6-\\uddea\\uddec-\\uddf4\\uddf7-\\uddf9\\uddfb\\uddfd-\\uddff]|\\ud83c\\uddf9\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\udded\\uddef-\\uddf4\\uddf7\\uddf9\\uddfb\\uddfc\\uddff]|\\ud83c\\uddfa\\ud83c[\\udde6\\uddec\\uddf2\\uddf3\\uddf8\\uddfe\\uddff]|\\ud83c\\uddfb\\ud83c[\\udde6\\udde8\\uddea\\uddec\\uddee\\uddf3\\uddfa]|\\ud83c\\uddfc\\ud83c[\\uddeb\\uddf8]|\\ud83c\\uddfd\\ud83c\\uddf0|\\ud83c\\uddfe\\ud83c[\\uddea\\uddf9]|\\ud83c\\uddff\\ud83c[\\udde6\\uddf2\\uddfc]|\\ud83c[\\udccf\\udd8e\\udd91-\\udd9a\\udde6-\\uddff\\ude01\\ude32-\\ude36\\ude38-\\ude3a\\ude50\\ude51\\udf00-\\udf20\\udf2d-\\udf35\\udf37-\\udf7c\\udf7e-\\udf84\\udf86-\\udf93\\udfa0-\\udfc1\\udfc5\\udfc6\\udfc8\\udfc9\\udfcf-\\udfd3\\udfe0-\\udff0\\udff4\\udff8-\\udfff]|\\ud83d[\\udc00-\\udc3e\\udc40\\udc44\\udc45\\udc51-\\udc65\\udc6a\\udc6f\\udc79-\\udc7b\\udc7d-\\udc80\\udc84\\udc88-\\udc8e\\udc90\\udc92-\\udca9\\udcab-\\udcfc\\udcff-\\udd3d\\udd4b-\\udd4e\\udd50-\\udd67\\udda4\\uddfb-\\ude44\\ude48-\\ude4a\\ude80-\\udea2\\udea4-\\udeb3\\udeb7-\\udebf\\udec1-\\udec5\\uded0-\\uded2\\uded5-\\uded7\\udeeb\\udeec\\udef4-\\udefc\\udfe0-\\udfeb]|\\ud83e[\\udd0d\\udd0e\\udd10-\\udd17\\udd1d\\udd20-\\udd25\\udd27-\\udd2f\\udd3a\\udd3c\\udd3f-\\udd45\\udd47-\\udd76\\udd78\\udd7a-\\uddb4\\uddb7\\uddba\\uddbc-\\uddcb\\uddd0\\uddde-\\uddff\\ude70-\\ude74\\ude78-\\ude7a\\ude80-\\ude86\\ude90-\\udea8\\udeb0-\\udeb6\\udec0-\\udec2\\uded0-\\uded6]|[\\u23e9-\\u23ec\\u23f0\\u23f3\\u267e\\u26ce\\u2705\\u2728\\u274c\\u274e\\u2753-\\u2755\\u2795-\\u2797\\u27b0\\u27bf\\ue50a])|\\ufe0f/g;","import twemojiRegex from 'twemoji-parser/dist/lib/regex';\n\n/**\n * Regex that can capture the ID in Discord Channel mentions\n * @raw `/^<#(?<id>\\d{17,19})>$/`\n * @remark Capture group 1 is the ID of the channel. It is named `id`.\n */\nexport const ChannelMentionRegex = /^<#(?<id>\\d{17,19})>$/;\n\n/**\n * Regex that can capture the channel and message IDs in a channelId-messageId pattern\n * This pattern can be found when you hold Shift and hover over a message, and click the \"ID\" button\n * @raw `/^(?<channelId>\\d{17,19})-(?<messageId>\\d{17,19})$/`\n * @remark Capture group 1 is the ID of the channel, named `channelId`.\n * @remark Capture group 2 is the ID of the message, named `messageId`.\n */\nexport const ChannelMessageRegex = /^(?<channelId>\\d{17,19})-(?<messageId>\\d{17,19})$/;\n\n/**\n * Regex that matches links on the known Discord host names\n * @raw `/(?<subdomain>\\w+)\\.?(?<hostname>dis(?:cord)?(?:app|merch|status)?)\\.(?<tld>com|g(?:d|g|ift)|(?:de(?:sign|v))|media|new|store|net)/i`\n * @remark The regex is case insensitive\n * @remark Capture group 1 is the subdomain for this URL. It is named `subdomain`.\n * @remark Capture group 2 is the hostname for this URL, primarily `discord` but can also be `discordmerch`, `discordstatus`, `dis`, and `discordapp`. It is named `hostname`.\n * @remark Capture group 3 is the Top-Level Domain *without* `.`. It is named `tld`.\n */\nexport const DiscordHostnameRegex =\n\t/(?<subdomain>\\w+)\\.?(?<hostname>dis(?:cord)?(?:app|merch|status)?)\\.(?<tld>com|g(?:d|g|ift)|(?:de(?:sign|v))|media|new|store|net)/i;\n\n/**\n * Regex that can can capture the code of Discord invite links\n * @raw `/^(?:https?:\\/\\/)?(?:www\\.)?(?:discord\\.gg\\/|discord(?:app)?\\.com\\/invite\\/)?(?<code>[\\w\\d-]{2,})$/i`\n * @remark Capture group 1 is the invite URL's unique code. It is named `code`.\n */\nexport const DiscordInviteLinkRegex = /^(?:https?:\\/\\/)?(?:www\\.)?(?:discord\\.gg\\/|discord(?:app)?\\.com\\/invite\\/)?(?<code>[\\w\\d-]{2,})$/i;\n\n/**\n * Regex that can capture the ID of any animated or non-animated custom Discord emoji\n * @raw `/^(?:<(?<animated>a)?:(?<name>\\w{2,32}):)?(?<id>\\d{17,21})>?$/`\n * @remark Capture group 1 can be used to determine whether the emoji is animated or not. It is named `animated`.\n * @remark Capture group 2 is the name of the emoji as it is typed in a message. It is named `name`.\n * @remark Capture group 3 is the ID of the emoji. It is named `id`.\n */\nexport const EmojiRegex = /^(?:<(?<animated>a)?:(?<name>\\w{2,32}):)?(?<id>\\d{17,21})>?$/;\n\n/**\n * Regex that matches any animated or non-animated custom Discord emoji.\n * Unlike {@link EmojiRegex} It can be a substring of a larger string.\n * @raw `/<a?:\\w{2,32}:\\d{17,18}>/`\n */\nexport const FormattedCustomEmoji = /<a?:\\w{2,32}:\\d{17,18}>/;\n\n/**\n * Regex that can capture any animated or non-animated custom Discord emoji.\n * Similar to {@link FormattedCustomEmoji} and unlike {@link EmojiRegex} can also be a substring of a larger string.\n * @raw `/(?<animated>a?):(?<name>[^:]+):(?<id>\\d{17,19})/`\n * @remark Capture group 1 can be used to determine whether the emoji is animated or not. It is named `animated`.\n * @remark Capture group 2 is the name of the emoji as it is typed in a message. It is named `name`.\n * @remark Capture group 3 is the ID of the emoji. It is named `id`.\n */\nexport const FormattedCustomEmojiWithGroups = /(?<animated>a?):(?<name>[^:]+):(?<id>\\d{17,19})/;\n\n/**\n * Regex that matches any URL starting with `http` or `https`\n * @raw `/^https?:\\/\\//`\n * @remark for WebSocket URLs see {@link WebsocketGenericUrlRegex}\n */\nexport const HttpUrlRegex = /^https?:\\/\\//;\n\n/**\n * Regex that can capture the Guild, Channel, and Message ID based on a shareable Discord message link.\n * @raw `/^(?:https:\\/\\/)?(?:ptb\\.|canary\\.)?discord(?:app)?\\.com\\/channels\\/(?<guildId>(?:\\d{17,19}|@me))\\/(?<channelId>\\d{17,19})\\/(?<messageId>\\d{17,19})$/`\n * @remark Capture group 1 is the ID of the guild the message was sent in. It is named `guildId`.\n * @remark Capture group 2 is the ID of the channel in that guild the message was sent in. It is named `channelId`.\n * @remark Capture group 3 is the ID of the message itself. It is named `messageId`.\n */\nexport const MessageLinkRegex =\n\t/^(?:https:\\/\\/)?(?:ptb\\.|canary\\.)?discord(?:app)?\\.com\\/channels\\/(?<guildId>(?:\\d{17,19}|@me))\\/(?<channelId>\\d{17,19})\\/(?<messageId>\\d{17,19})$/;\n\n/**\n * Regex that matches any animated or non-animated custom Discord emoji *without the wrapping `<...>` symbols.\n * This means that a string that matches this regex can directly be send inside a Discord message.\n * Other than this difference it is similar to {@link FormattedCustomEmoji}.\n * @raw `/a?:\\w{2,32}:\\d{17,18}/`\n */\nexport const ParsedCustomEmoji = /a?:\\w{2,32}:\\d{17,18}/;\n\n/**\n * Regex that matches any animated or non-animated custom Discord emoji *without the wrapping `<...>` symbols.\n * This means that a string that matches this regex can directly be send inside a Discord message.\n * Other than this difference it is similar to {@link FormattedCustomEmojiWithGroups}.\n * @raw `/(?<animated>a?):(?<name>[^:]+):(?<id>\\d{17,19})/`\n * @remark Capture group 1 can be used to determine whether the emoji is animated or not. It is named `animated`.\n * @remark Capture group 2 is the name of the emoji as it is typed in a message. It is named `name`.\n * @remark Capture group 3 is the ID of the emoji. It is named `id`.\n */\nexport const ParsedCustomEmojiWithGroups = /(?<animated>a?):(?<name>[^:]+):(?<id>\\d{17,19})/;\n\n/**\n * Regex that can capture the ID in Discord Role mentions\n * @raw `/^<@&(?<id>\\d{17,19})>$/`\n * @remark Capture group 1 is the ID of the role. It is named `id`.\n */\nexport const RoleMentionRegex = /^<@&(?<id>\\d{17,19})>$/;\n\n/**\n * Regex that can capture any Discord Snowflake ID\n * @raw `/^(?<id>\\d{17,19})$/`\n * @remark Capture group 1 is the Snowflake. It is named `id`.\n */\nexport const SnowflakeRegex = /^(?<id>\\d{17,19})$/;\n\n/**\n * Regex that can capture a Twemoji (Twitter Emoji)\n * @raw {@linkplain https://github.com/twitter/twemoji-parser/blob/master/src/lib/regex.js See official source code}\n */\nexport const TwemojiRegex = twemojiRegex;\n\n/**\n * Regex that can capture the ID of a user in Discord user mentions\n * @raw `/^<@!?(?<id>\\d{17,19})>$/`\n * @remark Capture group 1 is the ID of the user. It is named `id`.\n */\nexport const UserOrMemberMentionRegex = /^<@!?(?<id>\\d{17,19})>$/;\n\n/**\n * Regex that matches any WebSocket URL starting with `ws` or `wss`\n * @raw `/^wss?:\\/\\//`\n * @remark for regular HTTP URLs see {@link HttpUrlRegex}\n */\nexport const WebSocketUrlRegex = /^wss?:\\/\\//;\n\n/**\n * Regex that captures the Webhook ID and token from a Discord Webhook URL.\n * @raw `/(?<url>^https:\\/\\/(?:(?:canary|ptb).)?discordapp.com\\/api\\/webhooks\\/(?<id>\\d+)\\/(?<token>[\\w-]+)\\/?$)/`\n * @remark Capture group 1 is the full URL of the Discord Webhook. It is named `url`.\n * @remark Capture group 2 is the ID of the Discord Webhook. It is named `id`.\n * @remark Capture group 3 is the token of the Discord Webhook. It is named `token`.\n * @remark for regular HTTP URLs see {@link HttpUrlRegex}\n */\nexport const WebhookRegex = /(?<url>^https:\\/\\/(?:(?:canary|ptb).)?discordapp.com\\/api\\/webhooks\\/(?<id>\\d+)\\/(?<token>[\\w-]+)\\/?$)/;\n"],"names":["twemojiRegex"],"mappings":";;;;;;AAEA,MAAM,CAAC,cAAc,CAAC,KAAO,EAAE,YAAY,EAAE;AAC7C,EAAE,KAAK,EAAE,IAAI;AACb,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA;AACA,4BAAe,GAAG,qvYAAqvY;;ACPvwY;;;;;MAKa,mBAAmB,GAAG,wBAAwB;AAE3D;;;;;;;MAOa,mBAAmB,GAAG,oDAAoD;AAEvF;;;;;;;;MAQa,oBAAoB,GAChC,qIAAqI;AAEtI;;;;;MAKa,sBAAsB,GAAG,qGAAqG;AAE3I;;;;;;;MAOa,UAAU,GAAG,+DAA+D;AAEzF;;;;;MAKa,oBAAoB,GAAG,0BAA0B;AAE9D;;;;;;;;MAQa,8BAA8B,GAAG,kDAAkD;AAEhG;;;;;MAKa,YAAY,GAAG,eAAe;AAE3C;;;;;;;MAOa,gBAAgB,GAC5B,sJAAsJ;AAEvJ;;;;;;MAMa,iBAAiB,GAAG,wBAAwB;AAEzD;;;;;;;;;MASa,2BAA2B,GAAG,kDAAkD;AAE7F;;;;;MAKa,gBAAgB,GAAG,yBAAyB;AAEzD;;;;;MAKa,cAAc,GAAG,qBAAqB;AAEnD;;;;MAIa,YAAY,GAAGA,SAAa;AAEzC;;;;;MAKa,wBAAwB,GAAG,0BAA0B;AAElE;;;;;MAKa,iBAAiB,GAAG,aAAa;AAE9C;;;;;;;;MAQa,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../node_modules/twemoji-parser/dist/lib/regex.js","../src/lib/regexes.ts","../src/lib/limits.ts"],"sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n// Copyright Twitter Inc. Licensed under MIT\n// https://github.com/twitter/twemoji-parser/blob/master/LICENSE.md\n\n// This file is generated by source/emoji/scripts/generate.sh\nexports.default = /(?:\\ud83d\\udc68\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffc-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc68\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udffe]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffc-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffe]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d[\\udc68\\udc69]|\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d[\\udc68\\udc69]|\\ud83e\\uddd1\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1|\\ud83d\\udc6b\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc6c\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc6d\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc8f\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc91\\ud83c[\\udffb-\\udfff]|\\ud83d[\\udc6b-\\udc6d\\udc8f\\udc91])|(?:\\ud83d[\\udc68\\udc69]|\\ud83e\\uddd1)(?:\\ud83c[\\udffb-\\udfff])?\\u200d(?:\\u2695\\ufe0f|\\u2696\\ufe0f|\\u2708\\ufe0f|\\ud83c[\\udf3e\\udf73\\udf7c\\udf84\\udf93\\udfa4\\udfa8\\udfeb\\udfed]|\\ud83d[\\udcbb\\udcbc\\udd27\\udd2c\\ude80\\ude92]|\\ud83e[\\uddaf-\\uddb3\\uddbc\\uddbd])|(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75]|\\u26f9)((?:\\ud83c[\\udffb-\\udfff]|\\ufe0f)\\u200d[\\u2640\\u2642]\\ufe0f)|(?:\\ud83c[\\udfc3\\udfc4\\udfca]|\\ud83d[\\udc6e\\udc70\\udc71\\udc73\\udc77\\udc81\\udc82\\udc86\\udc87\\ude45-\\ude47\\ude4b\\ude4d\\ude4e\\udea3\\udeb4-\\udeb6]|\\ud83e[\\udd26\\udd35\\udd37-\\udd39\\udd3d\\udd3e\\uddb8\\uddb9\\uddcd-\\uddcf\\uddd4\\uddd6-\\udddd])(?:\\ud83c[\\udffb-\\udfff])?\\u200d[\\u2640\\u2642]\\ufe0f|(?:\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83c\\udff3\\ufe0f\\u200d\\u26a7\\ufe0f|\\ud83c\\udff3\\ufe0f\\u200d\\ud83c\\udf08|\\ud83d\\ude36\\u200d\\ud83c\\udf2b\\ufe0f|\\u2764\\ufe0f\\u200d\\ud83d\\udd25|\\u2764\\ufe0f\\u200d\\ud83e\\ude79|\\ud83c\\udff4\\u200d\\u2620\\ufe0f|\\ud83d\\udc15\\u200d\\ud83e\\uddba|\\ud83d\\udc3b\\u200d\\u2744\\ufe0f|\\ud83d\\udc41\\u200d\\ud83d\\udde8|\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc6f\\u200d\\u2640\\ufe0f|\\ud83d\\udc6f\\u200d\\u2642\\ufe0f|\\ud83d\\ude2e\\u200d\\ud83d\\udca8|\\ud83d\\ude35\\u200d\\ud83d\\udcab|\\ud83e\\udd3c\\u200d\\u2640\\ufe0f|\\ud83e\\udd3c\\u200d\\u2642\\ufe0f|\\ud83e\\uddde\\u200d\\u2640\\ufe0f|\\ud83e\\uddde\\u200d\\u2642\\ufe0f|\\ud83e\\udddf\\u200d\\u2640\\ufe0f|\\ud83e\\udddf\\u200d\\u2642\\ufe0f|\\ud83d\\udc08\\u200d\\u2b1b)|[#*0-9]\\ufe0f?\\u20e3|(?:[©®\\u2122\\u265f]\\ufe0f)|(?:\\ud83c[\\udc04\\udd70\\udd71\\udd7e\\udd7f\\ude02\\ude1a\\ude2f\\ude37\\udf21\\udf24-\\udf2c\\udf36\\udf7d\\udf96\\udf97\\udf99-\\udf9b\\udf9e\\udf9f\\udfcd\\udfce\\udfd4-\\udfdf\\udff3\\udff5\\udff7]|\\ud83d[\\udc3f\\udc41\\udcfd\\udd49\\udd4a\\udd6f\\udd70\\udd73\\udd76-\\udd79\\udd87\\udd8a-\\udd8d\\udda5\\udda8\\uddb1\\uddb2\\uddbc\\uddc2-\\uddc4\\uddd1-\\uddd3\\udddc-\\uddde\\udde1\\udde3\\udde8\\uddef\\uddf3\\uddfa\\udecb\\udecd-\\udecf\\udee0-\\udee5\\udee9\\udef0\\udef3]|[\\u203c\\u2049\\u2139\\u2194-\\u2199\\u21a9\\u21aa\\u231a\\u231b\\u2328\\u23cf\\u23ed-\\u23ef\\u23f1\\u23f2\\u23f8-\\u23fa\\u24c2\\u25aa\\u25ab\\u25b6\\u25c0\\u25fb-\\u25fe\\u2600-\\u2604\\u260e\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262a\\u262e\\u262f\\u2638-\\u263a\\u2640\\u2642\\u2648-\\u2653\\u2660\\u2663\\u2665\\u2666\\u2668\\u267b\\u267f\\u2692-\\u2697\\u2699\\u269b\\u269c\\u26a0\\u26a1\\u26a7\\u26aa\\u26ab\\u26b0\\u26b1\\u26bd\\u26be\\u26c4\\u26c5\\u26c8\\u26cf\\u26d1\\u26d3\\u26d4\\u26e9\\u26ea\\u26f0-\\u26f5\\u26f8\\u26fa\\u26fd\\u2702\\u2708\\u2709\\u270f\\u2712\\u2714\\u2716\\u271d\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u2764\\u27a1\\u2934\\u2935\\u2b05-\\u2b07\\u2b1b\\u2b1c\\u2b50\\u2b55\\u3030\\u303d\\u3297\\u3299])(?:\\ufe0f|(?!\\ufe0e))|(?:(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75\\udd90]|[\\u261d\\u26f7\\u26f9\\u270c\\u270d])(?:\\ufe0f|(?!\\ufe0e))|(?:\\ud83c[\\udf85\\udfc2-\\udfc4\\udfc7\\udfca]|\\ud83d[\\udc42\\udc43\\udc46-\\udc50\\udc66-\\udc69\\udc6e\\udc70-\\udc78\\udc7c\\udc81-\\udc83\\udc85-\\udc87\\udcaa\\udd7a\\udd95\\udd96\\ude45-\\ude47\\ude4b-\\ude4f\\udea3\\udeb4-\\udeb6\\udec0\\udecc]|\\ud83e[\\udd0c\\udd0f\\udd18-\\udd1c\\udd1e\\udd1f\\udd26\\udd30-\\udd39\\udd3d\\udd3e\\udd77\\uddb5\\uddb6\\uddb8\\uddb9\\uddbb\\uddcd-\\uddcf\\uddd1-\\udddd]|[\\u270a\\u270b]))(?:\\ud83c[\\udffb-\\udfff])?|(?:\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc65\\udb40\\udc6e\\udb40\\udc67\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc73\\udb40\\udc63\\udb40\\udc74\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc77\\udb40\\udc6c\\udb40\\udc73\\udb40\\udc7f|\\ud83c\\udde6\\ud83c[\\udde8-\\uddec\\uddee\\uddf1\\uddf2\\uddf4\\uddf6-\\uddfa\\uddfc\\uddfd\\uddff]|\\ud83c\\udde7\\ud83c[\\udde6\\udde7\\udde9-\\uddef\\uddf1-\\uddf4\\uddf6-\\uddf9\\uddfb\\uddfc\\uddfe\\uddff]|\\ud83c\\udde8\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\uddee\\uddf0-\\uddf5\\uddf7\\uddfa-\\uddff]|\\ud83c\\udde9\\ud83c[\\uddea\\uddec\\uddef\\uddf0\\uddf2\\uddf4\\uddff]|\\ud83c\\uddea\\ud83c[\\udde6\\udde8\\uddea\\uddec\\udded\\uddf7-\\uddfa]|\\ud83c\\uddeb\\ud83c[\\uddee-\\uddf0\\uddf2\\uddf4\\uddf7]|\\ud83c\\uddec\\ud83c[\\udde6\\udde7\\udde9-\\uddee\\uddf1-\\uddf3\\uddf5-\\uddfa\\uddfc\\uddfe]|\\ud83c\\udded\\ud83c[\\uddf0\\uddf2\\uddf3\\uddf7\\uddf9\\uddfa]|\\ud83c\\uddee\\ud83c[\\udde8-\\uddea\\uddf1-\\uddf4\\uddf6-\\uddf9]|\\ud83c\\uddef\\ud83c[\\uddea\\uddf2\\uddf4\\uddf5]|\\ud83c\\uddf0\\ud83c[\\uddea\\uddec-\\uddee\\uddf2\\uddf3\\uddf5\\uddf7\\uddfc\\uddfe\\uddff]|\\ud83c\\uddf1\\ud83c[\\udde6-\\udde8\\uddee\\uddf0\\uddf7-\\uddfb\\uddfe]|\\ud83c\\uddf2\\ud83c[\\udde6\\udde8-\\udded\\uddf0-\\uddff]|\\ud83c\\uddf3\\ud83c[\\udde6\\udde8\\uddea-\\uddec\\uddee\\uddf1\\uddf4\\uddf5\\uddf7\\uddfa\\uddff]|\\ud83c\\uddf4\\ud83c\\uddf2|\\ud83c\\uddf5\\ud83c[\\udde6\\uddea-\\udded\\uddf0-\\uddf3\\uddf7-\\uddf9\\uddfc\\uddfe]|\\ud83c\\uddf6\\ud83c\\udde6|\\ud83c\\uddf7\\ud83c[\\uddea\\uddf4\\uddf8\\uddfa\\uddfc]|\\ud83c\\uddf8\\ud83c[\\udde6-\\uddea\\uddec-\\uddf4\\uddf7-\\uddf9\\uddfb\\uddfd-\\uddff]|\\ud83c\\uddf9\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\udded\\uddef-\\uddf4\\uddf7\\uddf9\\uddfb\\uddfc\\uddff]|\\ud83c\\uddfa\\ud83c[\\udde6\\uddec\\uddf2\\uddf3\\uddf8\\uddfe\\uddff]|\\ud83c\\uddfb\\ud83c[\\udde6\\udde8\\uddea\\uddec\\uddee\\uddf3\\uddfa]|\\ud83c\\uddfc\\ud83c[\\uddeb\\uddf8]|\\ud83c\\uddfd\\ud83c\\uddf0|\\ud83c\\uddfe\\ud83c[\\uddea\\uddf9]|\\ud83c\\uddff\\ud83c[\\udde6\\uddf2\\uddfc]|\\ud83c[\\udccf\\udd8e\\udd91-\\udd9a\\udde6-\\uddff\\ude01\\ude32-\\ude36\\ude38-\\ude3a\\ude50\\ude51\\udf00-\\udf20\\udf2d-\\udf35\\udf37-\\udf7c\\udf7e-\\udf84\\udf86-\\udf93\\udfa0-\\udfc1\\udfc5\\udfc6\\udfc8\\udfc9\\udfcf-\\udfd3\\udfe0-\\udff0\\udff4\\udff8-\\udfff]|\\ud83d[\\udc00-\\udc3e\\udc40\\udc44\\udc45\\udc51-\\udc65\\udc6a\\udc6f\\udc79-\\udc7b\\udc7d-\\udc80\\udc84\\udc88-\\udc8e\\udc90\\udc92-\\udca9\\udcab-\\udcfc\\udcff-\\udd3d\\udd4b-\\udd4e\\udd50-\\udd67\\udda4\\uddfb-\\ude44\\ude48-\\ude4a\\ude80-\\udea2\\udea4-\\udeb3\\udeb7-\\udebf\\udec1-\\udec5\\uded0-\\uded2\\uded5-\\uded7\\udeeb\\udeec\\udef4-\\udefc\\udfe0-\\udfeb]|\\ud83e[\\udd0d\\udd0e\\udd10-\\udd17\\udd1d\\udd20-\\udd25\\udd27-\\udd2f\\udd3a\\udd3c\\udd3f-\\udd45\\udd47-\\udd76\\udd78\\udd7a-\\uddb4\\uddb7\\uddba\\uddbc-\\uddcb\\uddd0\\uddde-\\uddff\\ude70-\\ude74\\ude78-\\ude7a\\ude80-\\ude86\\ude90-\\udea8\\udeb0-\\udeb6\\udec0-\\udec2\\uded0-\\uded6]|[\\u23e9-\\u23ec\\u23f0\\u23f3\\u267e\\u26ce\\u2705\\u2728\\u274c\\u274e\\u2753-\\u2755\\u2795-\\u2797\\u27b0\\u27bf\\ue50a])|\\ufe0f/g;","import twemojiRegex from 'twemoji-parser/dist/lib/regex';\n\n/**\n * Regex that can capture the ID in Discord Channel mentions\n * @raw `/^<#(?<id>\\d{17,19})>$/`\n * @remark Capture group 1 is the ID of the channel. It is named `id`.\n */\nexport const ChannelMentionRegex = /^<#(?<id>\\d{17,19})>$/;\n\n/**\n * Regex that can capture the channel and message IDs in a channelId-messageId pattern\n * This pattern can be found when you hold Shift and hover over a message, and click the \"ID\" button\n * @raw `/^(?<channelId>\\d{17,19})-(?<messageId>\\d{17,19})$/`\n * @remark Capture group 1 is the ID of the channel, named `channelId`.\n * @remark Capture group 2 is the ID of the message, named `messageId`.\n */\nexport const ChannelMessageRegex = /^(?<channelId>\\d{17,19})-(?<messageId>\\d{17,19})$/;\n\n/**\n * Regex that matches links on the known Discord host names\n * @raw `/(?<subdomain>\\w+)\\.?(?<hostname>dis(?:cord)?(?:app|merch|status)?)\\.(?<tld>com|g(?:d|g|ift)|(?:de(?:sign|v))|media|new|store|net)/i`\n * @remark The regex is case insensitive\n * @remark Capture group 1 is the subdomain for this URL. It is named `subdomain`.\n * @remark Capture group 2 is the hostname for this URL, primarily `discord` but can also be `discordmerch`, `discordstatus`, `dis`, and `discordapp`. It is named `hostname`.\n * @remark Capture group 3 is the Top-Level Domain *without* `.`. It is named `tld`.\n */\nexport const DiscordHostnameRegex =\n\t/(?<subdomain>\\w+)\\.?(?<hostname>dis(?:cord)?(?:app|merch|status)?)\\.(?<tld>com|g(?:d|g|ift)|(?:de(?:sign|v))|media|new|store|net)/i;\n\n/**\n * Regex that can can capture the code of Discord invite links\n * @raw `/^(?:https?:\\/\\/)?(?:www\\.)?(?:discord\\.gg\\/|discord(?:app)?\\.com\\/invite\\/)?(?<code>[\\w\\d-]{2,})$/i`\n * @remark Capture group 1 is the invite URL's unique code. It is named `code`.\n */\nexport const DiscordInviteLinkRegex = /^(?:https?:\\/\\/)?(?:www\\.)?(?:discord\\.gg\\/|discord(?:app)?\\.com\\/invite\\/)?(?<code>[\\w\\d-]{2,})$/i;\n\n/**\n * Regex that can capture the ID of any animated or non-animated custom Discord emoji\n * @raw `/^(?:<(?<animated>a)?:(?<name>\\w{2,32}):)?(?<id>\\d{17,21})>?$/`\n * @remark Capture group 1 can be used to determine whether the emoji is animated or not. It is named `animated`.\n * @remark Capture group 2 is the name of the emoji as it is typed in a message. It is named `name`.\n * @remark Capture group 3 is the ID of the emoji. It is named `id`.\n */\nexport const EmojiRegex = /^(?:<(?<animated>a)?:(?<name>\\w{2,32}):)?(?<id>\\d{17,21})>?$/;\n\n/**\n * Regex that matches any animated or non-animated custom Discord emoji.\n * Unlike {@link EmojiRegex} It can be a substring of a larger string.\n * @raw `/<a?:\\w{2,32}:\\d{17,18}>/`\n */\nexport const FormattedCustomEmoji = /<a?:\\w{2,32}:\\d{17,18}>/;\n\n/**\n * Regex that can capture any animated or non-animated custom Discord emoji.\n * Similar to {@link FormattedCustomEmoji} and unlike {@link EmojiRegex} can also be a substring of a larger string.\n * @raw `/(?<animated>a?):(?<name>[^:]+):(?<id>\\d{17,19})/`\n * @remark Capture group 1 can be used to determine whether the emoji is animated or not. It is named `animated`.\n * @remark Capture group 2 is the name of the emoji as it is typed in a message. It is named `name`.\n * @remark Capture group 3 is the ID of the emoji. It is named `id`.\n */\nexport const FormattedCustomEmojiWithGroups = /(?<animated>a?):(?<name>[^:]+):(?<id>\\d{17,19})/;\n\n/**\n * Regex that matches any URL starting with `http` or `https`\n * @raw `/^https?:\\/\\//`\n * @remark for WebSocket URLs see {@link WebsocketGenericUrlRegex}\n */\nexport const HttpUrlRegex = /^https?:\\/\\//;\n\n/**\n * Regex that can capture the Guild, Channel, and Message ID based on a shareable Discord message link.\n * @raw `/^(?:https:\\/\\/)?(?:ptb\\.|canary\\.)?discord(?:app)?\\.com\\/channels\\/(?<guildId>(?:\\d{17,19}|@me))\\/(?<channelId>\\d{17,19})\\/(?<messageId>\\d{17,19})$/`\n * @remark Capture group 1 is the ID of the guild the message was sent in. It is named `guildId`.\n * @remark Capture group 2 is the ID of the channel in that guild the message was sent in. It is named `channelId`.\n * @remark Capture group 3 is the ID of the message itself. It is named `messageId`.\n */\nexport const MessageLinkRegex =\n\t/^(?:https:\\/\\/)?(?:ptb\\.|canary\\.)?discord(?:app)?\\.com\\/channels\\/(?<guildId>(?:\\d{17,19}|@me))\\/(?<channelId>\\d{17,19})\\/(?<messageId>\\d{17,19})$/;\n\n/**\n * Regex that matches any animated or non-animated custom Discord emoji *without the wrapping `<...>` symbols.\n * This means that a string that matches this regex can directly be send inside a Discord message.\n * Other than this difference it is similar to {@link FormattedCustomEmoji}.\n * @raw `/a?:\\w{2,32}:\\d{17,18}/`\n */\nexport const ParsedCustomEmoji = /a?:\\w{2,32}:\\d{17,18}/;\n\n/**\n * Regex that matches any animated or non-animated custom Discord emoji *without the wrapping `<...>` symbols.\n * This means that a string that matches this regex can directly be send inside a Discord message.\n * Other than this difference it is similar to {@link FormattedCustomEmojiWithGroups}.\n * @raw `/(?<animated>a?):(?<name>[^:]+):(?<id>\\d{17,19})/`\n * @remark Capture group 1 can be used to determine whether the emoji is animated or not. It is named `animated`.\n * @remark Capture group 2 is the name of the emoji as it is typed in a message. It is named `name`.\n * @remark Capture group 3 is the ID of the emoji. It is named `id`.\n */\nexport const ParsedCustomEmojiWithGroups = /(?<animated>a?):(?<name>[^:]+):(?<id>\\d{17,19})/;\n\n/**\n * Regex that can capture the ID in Discord Role mentions\n * @raw `/^<@&(?<id>\\d{17,19})>$/`\n * @remark Capture group 1 is the ID of the role. It is named `id`.\n */\nexport const RoleMentionRegex = /^<@&(?<id>\\d{17,19})>$/;\n\n/**\n * Regex that can capture any Discord Snowflake ID\n * @raw `/^(?<id>\\d{17,19})$/`\n * @remark Capture group 1 is the Snowflake. It is named `id`.\n */\nexport const SnowflakeRegex = /^(?<id>\\d{17,19})$/;\n\n/**\n * Regex that can capture a Twemoji (Twitter Emoji)\n * @raw {@linkplain https://github.com/twitter/twemoji-parser/blob/master/src/lib/regex.js See official source code}\n */\nexport const TwemojiRegex = twemojiRegex;\n\n/**\n * Regex that can capture the ID of a user in Discord user mentions\n * @raw `/^<@!?(?<id>\\d{17,19})>$/`\n * @remark Capture group 1 is the ID of the user. It is named `id`.\n */\nexport const UserOrMemberMentionRegex = /^<@!?(?<id>\\d{17,19})>$/;\n\n/**\n * Regex that matches any WebSocket URL starting with `ws` or `wss`\n * @raw `/^wss?:\\/\\//`\n * @remark for regular HTTP URLs see {@link HttpUrlRegex}\n */\nexport const WebSocketUrlRegex = /^wss?:\\/\\//;\n\n/**\n * Regex that captures the Webhook ID and token from a Discord Webhook URL.\n * @raw `/(?<url>^https:\\/\\/(?:(?:canary|ptb).)?discordapp.com\\/api\\/webhooks\\/(?<id>\\d+)\\/(?<token>[\\w-]+)\\/?$)/`\n * @remark Capture group 1 is the full URL of the Discord Webhook. It is named `url`.\n * @remark Capture group 2 is the ID of the Discord Webhook. It is named `id`.\n * @remark Capture group 3 is the token of the Discord Webhook. It is named `token`.\n * @remark for regular HTTP URLs see {@link HttpUrlRegex}\n */\nexport const WebhookRegex = /(?<url>^https:\\/\\/(?:(?:canary|ptb).)?discordapp.com\\/api\\/webhooks\\/(?<id>\\d+)\\/(?<token>[\\w-]+)\\/?$)/;\n","/**\n * Namespace containing limits related to Discord channels.\n */\nexport const ChannelLimits = {\n\t/**\n\t * Maximum characters allowed in a channel description.\n\t */\n\tMaximumDescriptionLength: 1024,\n\t/**\n\t * Maximum characters allowed in a channel name.\n\t */\n\tMaximumNameLength: 100,\n\t/**\n\t * Maximum viewers allowed per screen share.\n\t */\n\tMaximumViewersPerScreenShare: 50\n} as const;\n\n/**\n * Namespace containing limits related to Discord embeds.\n */\nexport const EmbedLimits = {\n\t/**\n\t * Maximum characters allowed in the author field of an embed.\n\t */\n\tMaximumAuthorNameLength: 256,\n\n\t/**\n\t * Maximum characters allowed in an embed description.\n\t */\n\tMaximumDescriptionLength: 4096,\n\n\t/**\n\t * Maximum characters allowed in the name of a field in an embed.\n\t */\n\tMaximumFieldNameLength: 256,\n\n\t/**\n\t * Maximum fields allowed in an embed.\n\t */\n\tMaximumFields: 25,\n\n\t/**\n\t * Maximum characters allowed in the avlue of a field in an embed.\n\t */\n\tMaximumFieldValueLength: 1024,\n\n\t/**\n\t * Maximum characters allowed in a footer of an embed.\n\t */\n\tMaximumFooterLength: 2048,\n\n\t/**\n\t * Maximum characters allowed in the title of an embed.\n\t */\n\tMaximumTitleLength: 256,\n\n\t/**\n\t * Maximum characters allowed in an embed, in total.\n\t */\n\tMaximumTotalCharacters: 6000\n} as const;\n\n/**\n * Namespace containing limits related to Discord emojis.\n */\nexport const EmojiLimits = {\n\t/**\n\t * Maximum characters allowed in a custom guild emoji.\n\t */\n\tMaximumEmojiNameLength: 32\n} as const;\n\n/**\n * Namespace containing limits related to Discord guilds.\n */\nexport const GuildLimits = {\n\t/**\n\t * Maximum channels allowed per guild, including category channels.\n\t */\n\tMaximumChannels: 500,\n\t/**\n\t * Maximum roles allowed in a guild.\n\t */\n\tMaximumRoles: 250\n} as const;\n\n/**\n * Namespace containing limits related to Discord guild members.\n */\nexport const GuildMemberLimits = {\n\t/**\n\t * Maximum characters allowed in the display name of a guild member.\n\t */\n\tMaximumDisplayNameLength: 32\n} as const;\n\n/**\n * Namespace containing limits related to Discord messages.\n */\nexport const MessageLimits = {\n\t/**\n\t * Maximum embeds allowed in a single message.\n\t */\n\tMaximumEmbeds: 10,\n\n\t/**\n\t * Maximum characters allowed in a single message for a user.\n\t */\n\tMaximumLength: 2000,\n\n\t/**\n\t * Maximum characters allowed in a single message for a nitro user.\n\t */\n\tMaximumNitroLength: 4000\n} as const;\n\n/**\n * Namespace containing limits related to Discord roles.\n */\nexport const RoleLimits = {\n\t/**\n\t * Maximum characters allowed in a role name.\n\t */\n\tMaximumNameLength: 100\n} as const;\n\n/**\n * Namespace containing limits related to Discord users and Direct Messages.\n */\nexport const UserLimits = {\n\t/**\n\t * Maximum numbers of users in a DM group.\n\t */\n\tMaximumUsersPerDMGroup: 10\n} as const;\n"],"names":["twemojiRegex"],"mappings":";;;;;;AAEA,MAAM,CAAC,cAAc,CAAC,KAAO,EAAE,YAAY,EAAE;AAC7C,EAAE,KAAK,EAAE,IAAI;AACb,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA;AACA,4BAAe,GAAG,qvYAAqvY;;ACPvwY;;;;;MAKa,mBAAmB,GAAG,wBAAwB;AAE3D;;;;;;;MAOa,mBAAmB,GAAG,oDAAoD;AAEvF;;;;;;;;MAQa,oBAAoB,GAChC,qIAAqI;AAEtI;;;;;MAKa,sBAAsB,GAAG,qGAAqG;AAE3I;;;;;;;MAOa,UAAU,GAAG,+DAA+D;AAEzF;;;;;MAKa,oBAAoB,GAAG,0BAA0B;AAE9D;;;;;;;;MAQa,8BAA8B,GAAG,kDAAkD;AAEhG;;;;;MAKa,YAAY,GAAG,eAAe;AAE3C;;;;;;;MAOa,gBAAgB,GAC5B,sJAAsJ;AAEvJ;;;;;;MAMa,iBAAiB,GAAG,wBAAwB;AAEzD;;;;;;;;;MASa,2BAA2B,GAAG,kDAAkD;AAE7F;;;;;MAKa,gBAAgB,GAAG,yBAAyB;AAEzD;;;;;MAKa,cAAc,GAAG,qBAAqB;AAEnD;;;;MAIa,YAAY,GAAGA,SAAa;AAEzC;;;;;MAKa,wBAAwB,GAAG,0BAA0B;AAElE;;;;;MAKa,iBAAiB,GAAG,aAAa;AAE9C;;;;;;;;MAQa,YAAY,GAAG;;AC5I5B;;;MAGa,aAAa,GAAG;;;;IAI5B,wBAAwB,EAAE,IAAI;;;;IAI9B,iBAAiB,EAAE,GAAG;;;;IAItB,4BAA4B,EAAE,EAAE;EACtB;AAEX;;;MAGa,WAAW,GAAG;;;;IAI1B,uBAAuB,EAAE,GAAG;;;;IAK5B,wBAAwB,EAAE,IAAI;;;;IAK9B,sBAAsB,EAAE,GAAG;;;;IAK3B,aAAa,EAAE,EAAE;;;;IAKjB,uBAAuB,EAAE,IAAI;;;;IAK7B,mBAAmB,EAAE,IAAI;;;;IAKzB,kBAAkB,EAAE,GAAG;;;;IAKvB,sBAAsB,EAAE,IAAI;EAClB;AAEX;;;MAGa,WAAW,GAAG;;;;IAI1B,sBAAsB,EAAE,EAAE;EAChB;AAEX;;;MAGa,WAAW,GAAG;;;;IAI1B,eAAe,EAAE,GAAG;;;;IAIpB,YAAY,EAAE,GAAG;EACP;AAEX;;;MAGa,iBAAiB,GAAG;;;;IAIhC,wBAAwB,EAAE,EAAE;EAClB;AAEX;;;MAGa,aAAa,GAAG;;;;IAI5B,aAAa,EAAE,EAAE;;;;IAKjB,aAAa,EAAE,IAAI;;;;IAKnB,kBAAkB,EAAE,IAAI;EACd;AAEX;;;MAGa,UAAU,GAAG;;;;IAIzB,iBAAiB,EAAE,GAAG;EACZ;AAEX;;;MAGa,UAAU,GAAG;;;;IAIzB,sBAAsB,EAAE,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index.mjs CHANGED
@@ -131,5 +131,126 @@ const WebSocketUrlRegex = /^wss?:\/\//;
131
131
  */
132
132
  const WebhookRegex = /(?<url>^https:\/\/(?:(?:canary|ptb).)?discordapp.com\/api\/webhooks\/(?<id>\d+)\/(?<token>[\w-]+)\/?$)/;
133
133
 
134
- export { ChannelMentionRegex, ChannelMessageRegex, DiscordHostnameRegex, DiscordInviteLinkRegex, EmojiRegex, FormattedCustomEmoji, FormattedCustomEmojiWithGroups, HttpUrlRegex, MessageLinkRegex, ParsedCustomEmoji, ParsedCustomEmojiWithGroups, RoleMentionRegex, SnowflakeRegex, TwemojiRegex, UserOrMemberMentionRegex, WebSocketUrlRegex, WebhookRegex };
134
+ /**
135
+ * Namespace containing limits related to Discord channels.
136
+ */
137
+ const ChannelLimits = {
138
+ /**
139
+ * Maximum characters allowed in a channel description.
140
+ */
141
+ MaximumDescriptionLength: 1024,
142
+ /**
143
+ * Maximum characters allowed in a channel name.
144
+ */
145
+ MaximumNameLength: 100,
146
+ /**
147
+ * Maximum viewers allowed per screen share.
148
+ */
149
+ MaximumViewersPerScreenShare: 50
150
+ };
151
+ /**
152
+ * Namespace containing limits related to Discord embeds.
153
+ */
154
+ const EmbedLimits = {
155
+ /**
156
+ * Maximum characters allowed in the author field of an embed.
157
+ */
158
+ MaximumAuthorNameLength: 256,
159
+ /**
160
+ * Maximum characters allowed in an embed description.
161
+ */
162
+ MaximumDescriptionLength: 4096,
163
+ /**
164
+ * Maximum characters allowed in the name of a field in an embed.
165
+ */
166
+ MaximumFieldNameLength: 256,
167
+ /**
168
+ * Maximum fields allowed in an embed.
169
+ */
170
+ MaximumFields: 25,
171
+ /**
172
+ * Maximum characters allowed in the avlue of a field in an embed.
173
+ */
174
+ MaximumFieldValueLength: 1024,
175
+ /**
176
+ * Maximum characters allowed in a footer of an embed.
177
+ */
178
+ MaximumFooterLength: 2048,
179
+ /**
180
+ * Maximum characters allowed in the title of an embed.
181
+ */
182
+ MaximumTitleLength: 256,
183
+ /**
184
+ * Maximum characters allowed in an embed, in total.
185
+ */
186
+ MaximumTotalCharacters: 6000
187
+ };
188
+ /**
189
+ * Namespace containing limits related to Discord emojis.
190
+ */
191
+ const EmojiLimits = {
192
+ /**
193
+ * Maximum characters allowed in a custom guild emoji.
194
+ */
195
+ MaximumEmojiNameLength: 32
196
+ };
197
+ /**
198
+ * Namespace containing limits related to Discord guilds.
199
+ */
200
+ const GuildLimits = {
201
+ /**
202
+ * Maximum channels allowed per guild, including category channels.
203
+ */
204
+ MaximumChannels: 500,
205
+ /**
206
+ * Maximum roles allowed in a guild.
207
+ */
208
+ MaximumRoles: 250
209
+ };
210
+ /**
211
+ * Namespace containing limits related to Discord guild members.
212
+ */
213
+ const GuildMemberLimits = {
214
+ /**
215
+ * Maximum characters allowed in the display name of a guild member.
216
+ */
217
+ MaximumDisplayNameLength: 32
218
+ };
219
+ /**
220
+ * Namespace containing limits related to Discord messages.
221
+ */
222
+ const MessageLimits = {
223
+ /**
224
+ * Maximum embeds allowed in a single message.
225
+ */
226
+ MaximumEmbeds: 10,
227
+ /**
228
+ * Maximum characters allowed in a single message for a user.
229
+ */
230
+ MaximumLength: 2000,
231
+ /**
232
+ * Maximum characters allowed in a single message for a nitro user.
233
+ */
234
+ MaximumNitroLength: 4000
235
+ };
236
+ /**
237
+ * Namespace containing limits related to Discord roles.
238
+ */
239
+ const RoleLimits = {
240
+ /**
241
+ * Maximum characters allowed in a role name.
242
+ */
243
+ MaximumNameLength: 100
244
+ };
245
+ /**
246
+ * Namespace containing limits related to Discord users and Direct Messages.
247
+ */
248
+ const UserLimits = {
249
+ /**
250
+ * Maximum numbers of users in a DM group.
251
+ */
252
+ MaximumUsersPerDMGroup: 10
253
+ };
254
+
255
+ export { ChannelLimits, ChannelMentionRegex, ChannelMessageRegex, DiscordHostnameRegex, DiscordInviteLinkRegex, EmbedLimits, EmojiLimits, EmojiRegex, FormattedCustomEmoji, FormattedCustomEmojiWithGroups, GuildLimits, GuildMemberLimits, HttpUrlRegex, MessageLimits, MessageLinkRegex, ParsedCustomEmoji, ParsedCustomEmojiWithGroups, RoleLimits, RoleMentionRegex, SnowflakeRegex, TwemojiRegex, UserLimits, UserOrMemberMentionRegex, WebSocketUrlRegex, WebhookRegex };
135
256
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../node_modules/twemoji-parser/dist/lib/regex.js","../src/lib/regexes.ts"],"sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n// Copyright Twitter Inc. Licensed under MIT\n// https://github.com/twitter/twemoji-parser/blob/master/LICENSE.md\n\n// This file is generated by source/emoji/scripts/generate.sh\nexports.default = /(?:\\ud83d\\udc68\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffc-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc68\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udffe]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffc-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffe]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d[\\udc68\\udc69]|\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d[\\udc68\\udc69]|\\ud83e\\uddd1\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1|\\ud83d\\udc6b\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc6c\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc6d\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc8f\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc91\\ud83c[\\udffb-\\udfff]|\\ud83d[\\udc6b-\\udc6d\\udc8f\\udc91])|(?:\\ud83d[\\udc68\\udc69]|\\ud83e\\uddd1)(?:\\ud83c[\\udffb-\\udfff])?\\u200d(?:\\u2695\\ufe0f|\\u2696\\ufe0f|\\u2708\\ufe0f|\\ud83c[\\udf3e\\udf73\\udf7c\\udf84\\udf93\\udfa4\\udfa8\\udfeb\\udfed]|\\ud83d[\\udcbb\\udcbc\\udd27\\udd2c\\ude80\\ude92]|\\ud83e[\\uddaf-\\uddb3\\uddbc\\uddbd])|(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75]|\\u26f9)((?:\\ud83c[\\udffb-\\udfff]|\\ufe0f)\\u200d[\\u2640\\u2642]\\ufe0f)|(?:\\ud83c[\\udfc3\\udfc4\\udfca]|\\ud83d[\\udc6e\\udc70\\udc71\\udc73\\udc77\\udc81\\udc82\\udc86\\udc87\\ude45-\\ude47\\ude4b\\ude4d\\ude4e\\udea3\\udeb4-\\udeb6]|\\ud83e[\\udd26\\udd35\\udd37-\\udd39\\udd3d\\udd3e\\uddb8\\uddb9\\uddcd-\\uddcf\\uddd4\\uddd6-\\udddd])(?:\\ud83c[\\udffb-\\udfff])?\\u200d[\\u2640\\u2642]\\ufe0f|(?:\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83c\\udff3\\ufe0f\\u200d\\u26a7\\ufe0f|\\ud83c\\udff3\\ufe0f\\u200d\\ud83c\\udf08|\\ud83d\\ude36\\u200d\\ud83c\\udf2b\\ufe0f|\\u2764\\ufe0f\\u200d\\ud83d\\udd25|\\u2764\\ufe0f\\u200d\\ud83e\\ude79|\\ud83c\\udff4\\u200d\\u2620\\ufe0f|\\ud83d\\udc15\\u200d\\ud83e\\uddba|\\ud83d\\udc3b\\u200d\\u2744\\ufe0f|\\ud83d\\udc41\\u200d\\ud83d\\udde8|\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc6f\\u200d\\u2640\\ufe0f|\\ud83d\\udc6f\\u200d\\u2642\\ufe0f|\\ud83d\\ude2e\\u200d\\ud83d\\udca8|\\ud83d\\ude35\\u200d\\ud83d\\udcab|\\ud83e\\udd3c\\u200d\\u2640\\ufe0f|\\ud83e\\udd3c\\u200d\\u2642\\ufe0f|\\ud83e\\uddde\\u200d\\u2640\\ufe0f|\\ud83e\\uddde\\u200d\\u2642\\ufe0f|\\ud83e\\udddf\\u200d\\u2640\\ufe0f|\\ud83e\\udddf\\u200d\\u2642\\ufe0f|\\ud83d\\udc08\\u200d\\u2b1b)|[#*0-9]\\ufe0f?\\u20e3|(?:[©®\\u2122\\u265f]\\ufe0f)|(?:\\ud83c[\\udc04\\udd70\\udd71\\udd7e\\udd7f\\ude02\\ude1a\\ude2f\\ude37\\udf21\\udf24-\\udf2c\\udf36\\udf7d\\udf96\\udf97\\udf99-\\udf9b\\udf9e\\udf9f\\udfcd\\udfce\\udfd4-\\udfdf\\udff3\\udff5\\udff7]|\\ud83d[\\udc3f\\udc41\\udcfd\\udd49\\udd4a\\udd6f\\udd70\\udd73\\udd76-\\udd79\\udd87\\udd8a-\\udd8d\\udda5\\udda8\\uddb1\\uddb2\\uddbc\\uddc2-\\uddc4\\uddd1-\\uddd3\\udddc-\\uddde\\udde1\\udde3\\udde8\\uddef\\uddf3\\uddfa\\udecb\\udecd-\\udecf\\udee0-\\udee5\\udee9\\udef0\\udef3]|[\\u203c\\u2049\\u2139\\u2194-\\u2199\\u21a9\\u21aa\\u231a\\u231b\\u2328\\u23cf\\u23ed-\\u23ef\\u23f1\\u23f2\\u23f8-\\u23fa\\u24c2\\u25aa\\u25ab\\u25b6\\u25c0\\u25fb-\\u25fe\\u2600-\\u2604\\u260e\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262a\\u262e\\u262f\\u2638-\\u263a\\u2640\\u2642\\u2648-\\u2653\\u2660\\u2663\\u2665\\u2666\\u2668\\u267b\\u267f\\u2692-\\u2697\\u2699\\u269b\\u269c\\u26a0\\u26a1\\u26a7\\u26aa\\u26ab\\u26b0\\u26b1\\u26bd\\u26be\\u26c4\\u26c5\\u26c8\\u26cf\\u26d1\\u26d3\\u26d4\\u26e9\\u26ea\\u26f0-\\u26f5\\u26f8\\u26fa\\u26fd\\u2702\\u2708\\u2709\\u270f\\u2712\\u2714\\u2716\\u271d\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u2764\\u27a1\\u2934\\u2935\\u2b05-\\u2b07\\u2b1b\\u2b1c\\u2b50\\u2b55\\u3030\\u303d\\u3297\\u3299])(?:\\ufe0f|(?!\\ufe0e))|(?:(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75\\udd90]|[\\u261d\\u26f7\\u26f9\\u270c\\u270d])(?:\\ufe0f|(?!\\ufe0e))|(?:\\ud83c[\\udf85\\udfc2-\\udfc4\\udfc7\\udfca]|\\ud83d[\\udc42\\udc43\\udc46-\\udc50\\udc66-\\udc69\\udc6e\\udc70-\\udc78\\udc7c\\udc81-\\udc83\\udc85-\\udc87\\udcaa\\udd7a\\udd95\\udd96\\ude45-\\ude47\\ude4b-\\ude4f\\udea3\\udeb4-\\udeb6\\udec0\\udecc]|\\ud83e[\\udd0c\\udd0f\\udd18-\\udd1c\\udd1e\\udd1f\\udd26\\udd30-\\udd39\\udd3d\\udd3e\\udd77\\uddb5\\uddb6\\uddb8\\uddb9\\uddbb\\uddcd-\\uddcf\\uddd1-\\udddd]|[\\u270a\\u270b]))(?:\\ud83c[\\udffb-\\udfff])?|(?:\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc65\\udb40\\udc6e\\udb40\\udc67\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc73\\udb40\\udc63\\udb40\\udc74\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc77\\udb40\\udc6c\\udb40\\udc73\\udb40\\udc7f|\\ud83c\\udde6\\ud83c[\\udde8-\\uddec\\uddee\\uddf1\\uddf2\\uddf4\\uddf6-\\uddfa\\uddfc\\uddfd\\uddff]|\\ud83c\\udde7\\ud83c[\\udde6\\udde7\\udde9-\\uddef\\uddf1-\\uddf4\\uddf6-\\uddf9\\uddfb\\uddfc\\uddfe\\uddff]|\\ud83c\\udde8\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\uddee\\uddf0-\\uddf5\\uddf7\\uddfa-\\uddff]|\\ud83c\\udde9\\ud83c[\\uddea\\uddec\\uddef\\uddf0\\uddf2\\uddf4\\uddff]|\\ud83c\\uddea\\ud83c[\\udde6\\udde8\\uddea\\uddec\\udded\\uddf7-\\uddfa]|\\ud83c\\uddeb\\ud83c[\\uddee-\\uddf0\\uddf2\\uddf4\\uddf7]|\\ud83c\\uddec\\ud83c[\\udde6\\udde7\\udde9-\\uddee\\uddf1-\\uddf3\\uddf5-\\uddfa\\uddfc\\uddfe]|\\ud83c\\udded\\ud83c[\\uddf0\\uddf2\\uddf3\\uddf7\\uddf9\\uddfa]|\\ud83c\\uddee\\ud83c[\\udde8-\\uddea\\uddf1-\\uddf4\\uddf6-\\uddf9]|\\ud83c\\uddef\\ud83c[\\uddea\\uddf2\\uddf4\\uddf5]|\\ud83c\\uddf0\\ud83c[\\uddea\\uddec-\\uddee\\uddf2\\uddf3\\uddf5\\uddf7\\uddfc\\uddfe\\uddff]|\\ud83c\\uddf1\\ud83c[\\udde6-\\udde8\\uddee\\uddf0\\uddf7-\\uddfb\\uddfe]|\\ud83c\\uddf2\\ud83c[\\udde6\\udde8-\\udded\\uddf0-\\uddff]|\\ud83c\\uddf3\\ud83c[\\udde6\\udde8\\uddea-\\uddec\\uddee\\uddf1\\uddf4\\uddf5\\uddf7\\uddfa\\uddff]|\\ud83c\\uddf4\\ud83c\\uddf2|\\ud83c\\uddf5\\ud83c[\\udde6\\uddea-\\udded\\uddf0-\\uddf3\\uddf7-\\uddf9\\uddfc\\uddfe]|\\ud83c\\uddf6\\ud83c\\udde6|\\ud83c\\uddf7\\ud83c[\\uddea\\uddf4\\uddf8\\uddfa\\uddfc]|\\ud83c\\uddf8\\ud83c[\\udde6-\\uddea\\uddec-\\uddf4\\uddf7-\\uddf9\\uddfb\\uddfd-\\uddff]|\\ud83c\\uddf9\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\udded\\uddef-\\uddf4\\uddf7\\uddf9\\uddfb\\uddfc\\uddff]|\\ud83c\\uddfa\\ud83c[\\udde6\\uddec\\uddf2\\uddf3\\uddf8\\uddfe\\uddff]|\\ud83c\\uddfb\\ud83c[\\udde6\\udde8\\uddea\\uddec\\uddee\\uddf3\\uddfa]|\\ud83c\\uddfc\\ud83c[\\uddeb\\uddf8]|\\ud83c\\uddfd\\ud83c\\uddf0|\\ud83c\\uddfe\\ud83c[\\uddea\\uddf9]|\\ud83c\\uddff\\ud83c[\\udde6\\uddf2\\uddfc]|\\ud83c[\\udccf\\udd8e\\udd91-\\udd9a\\udde6-\\uddff\\ude01\\ude32-\\ude36\\ude38-\\ude3a\\ude50\\ude51\\udf00-\\udf20\\udf2d-\\udf35\\udf37-\\udf7c\\udf7e-\\udf84\\udf86-\\udf93\\udfa0-\\udfc1\\udfc5\\udfc6\\udfc8\\udfc9\\udfcf-\\udfd3\\udfe0-\\udff0\\udff4\\udff8-\\udfff]|\\ud83d[\\udc00-\\udc3e\\udc40\\udc44\\udc45\\udc51-\\udc65\\udc6a\\udc6f\\udc79-\\udc7b\\udc7d-\\udc80\\udc84\\udc88-\\udc8e\\udc90\\udc92-\\udca9\\udcab-\\udcfc\\udcff-\\udd3d\\udd4b-\\udd4e\\udd50-\\udd67\\udda4\\uddfb-\\ude44\\ude48-\\ude4a\\ude80-\\udea2\\udea4-\\udeb3\\udeb7-\\udebf\\udec1-\\udec5\\uded0-\\uded2\\uded5-\\uded7\\udeeb\\udeec\\udef4-\\udefc\\udfe0-\\udfeb]|\\ud83e[\\udd0d\\udd0e\\udd10-\\udd17\\udd1d\\udd20-\\udd25\\udd27-\\udd2f\\udd3a\\udd3c\\udd3f-\\udd45\\udd47-\\udd76\\udd78\\udd7a-\\uddb4\\uddb7\\uddba\\uddbc-\\uddcb\\uddd0\\uddde-\\uddff\\ude70-\\ude74\\ude78-\\ude7a\\ude80-\\ude86\\ude90-\\udea8\\udeb0-\\udeb6\\udec0-\\udec2\\uded0-\\uded6]|[\\u23e9-\\u23ec\\u23f0\\u23f3\\u267e\\u26ce\\u2705\\u2728\\u274c\\u274e\\u2753-\\u2755\\u2795-\\u2797\\u27b0\\u27bf\\ue50a])|\\ufe0f/g;","import twemojiRegex from 'twemoji-parser/dist/lib/regex';\n\n/**\n * Regex that can capture the ID in Discord Channel mentions\n * @raw `/^<#(?<id>\\d{17,19})>$/`\n * @remark Capture group 1 is the ID of the channel. It is named `id`.\n */\nexport const ChannelMentionRegex = /^<#(?<id>\\d{17,19})>$/;\n\n/**\n * Regex that can capture the channel and message IDs in a channelId-messageId pattern\n * This pattern can be found when you hold Shift and hover over a message, and click the \"ID\" button\n * @raw `/^(?<channelId>\\d{17,19})-(?<messageId>\\d{17,19})$/`\n * @remark Capture group 1 is the ID of the channel, named `channelId`.\n * @remark Capture group 2 is the ID of the message, named `messageId`.\n */\nexport const ChannelMessageRegex = /^(?<channelId>\\d{17,19})-(?<messageId>\\d{17,19})$/;\n\n/**\n * Regex that matches links on the known Discord host names\n * @raw `/(?<subdomain>\\w+)\\.?(?<hostname>dis(?:cord)?(?:app|merch|status)?)\\.(?<tld>com|g(?:d|g|ift)|(?:de(?:sign|v))|media|new|store|net)/i`\n * @remark The regex is case insensitive\n * @remark Capture group 1 is the subdomain for this URL. It is named `subdomain`.\n * @remark Capture group 2 is the hostname for this URL, primarily `discord` but can also be `discordmerch`, `discordstatus`, `dis`, and `discordapp`. It is named `hostname`.\n * @remark Capture group 3 is the Top-Level Domain *without* `.`. It is named `tld`.\n */\nexport const DiscordHostnameRegex =\n\t/(?<subdomain>\\w+)\\.?(?<hostname>dis(?:cord)?(?:app|merch|status)?)\\.(?<tld>com|g(?:d|g|ift)|(?:de(?:sign|v))|media|new|store|net)/i;\n\n/**\n * Regex that can can capture the code of Discord invite links\n * @raw `/^(?:https?:\\/\\/)?(?:www\\.)?(?:discord\\.gg\\/|discord(?:app)?\\.com\\/invite\\/)?(?<code>[\\w\\d-]{2,})$/i`\n * @remark Capture group 1 is the invite URL's unique code. It is named `code`.\n */\nexport const DiscordInviteLinkRegex = /^(?:https?:\\/\\/)?(?:www\\.)?(?:discord\\.gg\\/|discord(?:app)?\\.com\\/invite\\/)?(?<code>[\\w\\d-]{2,})$/i;\n\n/**\n * Regex that can capture the ID of any animated or non-animated custom Discord emoji\n * @raw `/^(?:<(?<animated>a)?:(?<name>\\w{2,32}):)?(?<id>\\d{17,21})>?$/`\n * @remark Capture group 1 can be used to determine whether the emoji is animated or not. It is named `animated`.\n * @remark Capture group 2 is the name of the emoji as it is typed in a message. It is named `name`.\n * @remark Capture group 3 is the ID of the emoji. It is named `id`.\n */\nexport const EmojiRegex = /^(?:<(?<animated>a)?:(?<name>\\w{2,32}):)?(?<id>\\d{17,21})>?$/;\n\n/**\n * Regex that matches any animated or non-animated custom Discord emoji.\n * Unlike {@link EmojiRegex} It can be a substring of a larger string.\n * @raw `/<a?:\\w{2,32}:\\d{17,18}>/`\n */\nexport const FormattedCustomEmoji = /<a?:\\w{2,32}:\\d{17,18}>/;\n\n/**\n * Regex that can capture any animated or non-animated custom Discord emoji.\n * Similar to {@link FormattedCustomEmoji} and unlike {@link EmojiRegex} can also be a substring of a larger string.\n * @raw `/(?<animated>a?):(?<name>[^:]+):(?<id>\\d{17,19})/`\n * @remark Capture group 1 can be used to determine whether the emoji is animated or not. It is named `animated`.\n * @remark Capture group 2 is the name of the emoji as it is typed in a message. It is named `name`.\n * @remark Capture group 3 is the ID of the emoji. It is named `id`.\n */\nexport const FormattedCustomEmojiWithGroups = /(?<animated>a?):(?<name>[^:]+):(?<id>\\d{17,19})/;\n\n/**\n * Regex that matches any URL starting with `http` or `https`\n * @raw `/^https?:\\/\\//`\n * @remark for WebSocket URLs see {@link WebsocketGenericUrlRegex}\n */\nexport const HttpUrlRegex = /^https?:\\/\\//;\n\n/**\n * Regex that can capture the Guild, Channel, and Message ID based on a shareable Discord message link.\n * @raw `/^(?:https:\\/\\/)?(?:ptb\\.|canary\\.)?discord(?:app)?\\.com\\/channels\\/(?<guildId>(?:\\d{17,19}|@me))\\/(?<channelId>\\d{17,19})\\/(?<messageId>\\d{17,19})$/`\n * @remark Capture group 1 is the ID of the guild the message was sent in. It is named `guildId`.\n * @remark Capture group 2 is the ID of the channel in that guild the message was sent in. It is named `channelId`.\n * @remark Capture group 3 is the ID of the message itself. It is named `messageId`.\n */\nexport const MessageLinkRegex =\n\t/^(?:https:\\/\\/)?(?:ptb\\.|canary\\.)?discord(?:app)?\\.com\\/channels\\/(?<guildId>(?:\\d{17,19}|@me))\\/(?<channelId>\\d{17,19})\\/(?<messageId>\\d{17,19})$/;\n\n/**\n * Regex that matches any animated or non-animated custom Discord emoji *without the wrapping `<...>` symbols.\n * This means that a string that matches this regex can directly be send inside a Discord message.\n * Other than this difference it is similar to {@link FormattedCustomEmoji}.\n * @raw `/a?:\\w{2,32}:\\d{17,18}/`\n */\nexport const ParsedCustomEmoji = /a?:\\w{2,32}:\\d{17,18}/;\n\n/**\n * Regex that matches any animated or non-animated custom Discord emoji *without the wrapping `<...>` symbols.\n * This means that a string that matches this regex can directly be send inside a Discord message.\n * Other than this difference it is similar to {@link FormattedCustomEmojiWithGroups}.\n * @raw `/(?<animated>a?):(?<name>[^:]+):(?<id>\\d{17,19})/`\n * @remark Capture group 1 can be used to determine whether the emoji is animated or not. It is named `animated`.\n * @remark Capture group 2 is the name of the emoji as it is typed in a message. It is named `name`.\n * @remark Capture group 3 is the ID of the emoji. It is named `id`.\n */\nexport const ParsedCustomEmojiWithGroups = /(?<animated>a?):(?<name>[^:]+):(?<id>\\d{17,19})/;\n\n/**\n * Regex that can capture the ID in Discord Role mentions\n * @raw `/^<@&(?<id>\\d{17,19})>$/`\n * @remark Capture group 1 is the ID of the role. It is named `id`.\n */\nexport const RoleMentionRegex = /^<@&(?<id>\\d{17,19})>$/;\n\n/**\n * Regex that can capture any Discord Snowflake ID\n * @raw `/^(?<id>\\d{17,19})$/`\n * @remark Capture group 1 is the Snowflake. It is named `id`.\n */\nexport const SnowflakeRegex = /^(?<id>\\d{17,19})$/;\n\n/**\n * Regex that can capture a Twemoji (Twitter Emoji)\n * @raw {@linkplain https://github.com/twitter/twemoji-parser/blob/master/src/lib/regex.js See official source code}\n */\nexport const TwemojiRegex = twemojiRegex;\n\n/**\n * Regex that can capture the ID of a user in Discord user mentions\n * @raw `/^<@!?(?<id>\\d{17,19})>$/`\n * @remark Capture group 1 is the ID of the user. It is named `id`.\n */\nexport const UserOrMemberMentionRegex = /^<@!?(?<id>\\d{17,19})>$/;\n\n/**\n * Regex that matches any WebSocket URL starting with `ws` or `wss`\n * @raw `/^wss?:\\/\\//`\n * @remark for regular HTTP URLs see {@link HttpUrlRegex}\n */\nexport const WebSocketUrlRegex = /^wss?:\\/\\//;\n\n/**\n * Regex that captures the Webhook ID and token from a Discord Webhook URL.\n * @raw `/(?<url>^https:\\/\\/(?:(?:canary|ptb).)?discordapp.com\\/api\\/webhooks\\/(?<id>\\d+)\\/(?<token>[\\w-]+)\\/?$)/`\n * @remark Capture group 1 is the full URL of the Discord Webhook. It is named `url`.\n * @remark Capture group 2 is the ID of the Discord Webhook. It is named `id`.\n * @remark Capture group 3 is the token of the Discord Webhook. It is named `token`.\n * @remark for regular HTTP URLs see {@link HttpUrlRegex}\n */\nexport const WebhookRegex = /(?<url>^https:\\/\\/(?:(?:canary|ptb).)?discordapp.com\\/api\\/webhooks\\/(?<id>\\d+)\\/(?<token>[\\w-]+)\\/?$)/;\n"],"names":["twemojiRegex"],"mappings":";;AAEA,MAAM,CAAC,cAAc,CAAC,KAAO,EAAE,YAAY,EAAE;AAC7C,EAAE,KAAK,EAAE,IAAI;AACb,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA;AACA,4BAAe,GAAG,qvYAAqvY;;ACPvwY;;;;;MAKa,mBAAmB,GAAG,wBAAwB;AAE3D;;;;;;;MAOa,mBAAmB,GAAG,oDAAoD;AAEvF;;;;;;;;MAQa,oBAAoB,GAChC,qIAAqI;AAEtI;;;;;MAKa,sBAAsB,GAAG,qGAAqG;AAE3I;;;;;;;MAOa,UAAU,GAAG,+DAA+D;AAEzF;;;;;MAKa,oBAAoB,GAAG,0BAA0B;AAE9D;;;;;;;;MAQa,8BAA8B,GAAG,kDAAkD;AAEhG;;;;;MAKa,YAAY,GAAG,eAAe;AAE3C;;;;;;;MAOa,gBAAgB,GAC5B,sJAAsJ;AAEvJ;;;;;;MAMa,iBAAiB,GAAG,wBAAwB;AAEzD;;;;;;;;;MASa,2BAA2B,GAAG,kDAAkD;AAE7F;;;;;MAKa,gBAAgB,GAAG,yBAAyB;AAEzD;;;;;MAKa,cAAc,GAAG,qBAAqB;AAEnD;;;;MAIa,YAAY,GAAGA,SAAa;AAEzC;;;;;MAKa,wBAAwB,GAAG,0BAA0B;AAElE;;;;;MAKa,iBAAiB,GAAG,aAAa;AAE9C;;;;;;;;MAQa,YAAY,GAAG;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../node_modules/twemoji-parser/dist/lib/regex.js","../src/lib/regexes.ts","../src/lib/limits.ts"],"sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n// Copyright Twitter Inc. Licensed under MIT\n// https://github.com/twitter/twemoji-parser/blob/master/LICENSE.md\n\n// This file is generated by source/emoji/scripts/generate.sh\nexports.default = /(?:\\ud83d\\udc68\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffc-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc68\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udffe]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffc-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffe]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d[\\udc68\\udc69]|\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d[\\udc68\\udc69]|\\ud83e\\uddd1\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1|\\ud83d\\udc6b\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc6c\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc6d\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc8f\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc91\\ud83c[\\udffb-\\udfff]|\\ud83d[\\udc6b-\\udc6d\\udc8f\\udc91])|(?:\\ud83d[\\udc68\\udc69]|\\ud83e\\uddd1)(?:\\ud83c[\\udffb-\\udfff])?\\u200d(?:\\u2695\\ufe0f|\\u2696\\ufe0f|\\u2708\\ufe0f|\\ud83c[\\udf3e\\udf73\\udf7c\\udf84\\udf93\\udfa4\\udfa8\\udfeb\\udfed]|\\ud83d[\\udcbb\\udcbc\\udd27\\udd2c\\ude80\\ude92]|\\ud83e[\\uddaf-\\uddb3\\uddbc\\uddbd])|(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75]|\\u26f9)((?:\\ud83c[\\udffb-\\udfff]|\\ufe0f)\\u200d[\\u2640\\u2642]\\ufe0f)|(?:\\ud83c[\\udfc3\\udfc4\\udfca]|\\ud83d[\\udc6e\\udc70\\udc71\\udc73\\udc77\\udc81\\udc82\\udc86\\udc87\\ude45-\\ude47\\ude4b\\ude4d\\ude4e\\udea3\\udeb4-\\udeb6]|\\ud83e[\\udd26\\udd35\\udd37-\\udd39\\udd3d\\udd3e\\uddb8\\uddb9\\uddcd-\\uddcf\\uddd4\\uddd6-\\udddd])(?:\\ud83c[\\udffb-\\udfff])?\\u200d[\\u2640\\u2642]\\ufe0f|(?:\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83c\\udff3\\ufe0f\\u200d\\u26a7\\ufe0f|\\ud83c\\udff3\\ufe0f\\u200d\\ud83c\\udf08|\\ud83d\\ude36\\u200d\\ud83c\\udf2b\\ufe0f|\\u2764\\ufe0f\\u200d\\ud83d\\udd25|\\u2764\\ufe0f\\u200d\\ud83e\\ude79|\\ud83c\\udff4\\u200d\\u2620\\ufe0f|\\ud83d\\udc15\\u200d\\ud83e\\uddba|\\ud83d\\udc3b\\u200d\\u2744\\ufe0f|\\ud83d\\udc41\\u200d\\ud83d\\udde8|\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc6f\\u200d\\u2640\\ufe0f|\\ud83d\\udc6f\\u200d\\u2642\\ufe0f|\\ud83d\\ude2e\\u200d\\ud83d\\udca8|\\ud83d\\ude35\\u200d\\ud83d\\udcab|\\ud83e\\udd3c\\u200d\\u2640\\ufe0f|\\ud83e\\udd3c\\u200d\\u2642\\ufe0f|\\ud83e\\uddde\\u200d\\u2640\\ufe0f|\\ud83e\\uddde\\u200d\\u2642\\ufe0f|\\ud83e\\udddf\\u200d\\u2640\\ufe0f|\\ud83e\\udddf\\u200d\\u2642\\ufe0f|\\ud83d\\udc08\\u200d\\u2b1b)|[#*0-9]\\ufe0f?\\u20e3|(?:[©®\\u2122\\u265f]\\ufe0f)|(?:\\ud83c[\\udc04\\udd70\\udd71\\udd7e\\udd7f\\ude02\\ude1a\\ude2f\\ude37\\udf21\\udf24-\\udf2c\\udf36\\udf7d\\udf96\\udf97\\udf99-\\udf9b\\udf9e\\udf9f\\udfcd\\udfce\\udfd4-\\udfdf\\udff3\\udff5\\udff7]|\\ud83d[\\udc3f\\udc41\\udcfd\\udd49\\udd4a\\udd6f\\udd70\\udd73\\udd76-\\udd79\\udd87\\udd8a-\\udd8d\\udda5\\udda8\\uddb1\\uddb2\\uddbc\\uddc2-\\uddc4\\uddd1-\\uddd3\\udddc-\\uddde\\udde1\\udde3\\udde8\\uddef\\uddf3\\uddfa\\udecb\\udecd-\\udecf\\udee0-\\udee5\\udee9\\udef0\\udef3]|[\\u203c\\u2049\\u2139\\u2194-\\u2199\\u21a9\\u21aa\\u231a\\u231b\\u2328\\u23cf\\u23ed-\\u23ef\\u23f1\\u23f2\\u23f8-\\u23fa\\u24c2\\u25aa\\u25ab\\u25b6\\u25c0\\u25fb-\\u25fe\\u2600-\\u2604\\u260e\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262a\\u262e\\u262f\\u2638-\\u263a\\u2640\\u2642\\u2648-\\u2653\\u2660\\u2663\\u2665\\u2666\\u2668\\u267b\\u267f\\u2692-\\u2697\\u2699\\u269b\\u269c\\u26a0\\u26a1\\u26a7\\u26aa\\u26ab\\u26b0\\u26b1\\u26bd\\u26be\\u26c4\\u26c5\\u26c8\\u26cf\\u26d1\\u26d3\\u26d4\\u26e9\\u26ea\\u26f0-\\u26f5\\u26f8\\u26fa\\u26fd\\u2702\\u2708\\u2709\\u270f\\u2712\\u2714\\u2716\\u271d\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u2764\\u27a1\\u2934\\u2935\\u2b05-\\u2b07\\u2b1b\\u2b1c\\u2b50\\u2b55\\u3030\\u303d\\u3297\\u3299])(?:\\ufe0f|(?!\\ufe0e))|(?:(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75\\udd90]|[\\u261d\\u26f7\\u26f9\\u270c\\u270d])(?:\\ufe0f|(?!\\ufe0e))|(?:\\ud83c[\\udf85\\udfc2-\\udfc4\\udfc7\\udfca]|\\ud83d[\\udc42\\udc43\\udc46-\\udc50\\udc66-\\udc69\\udc6e\\udc70-\\udc78\\udc7c\\udc81-\\udc83\\udc85-\\udc87\\udcaa\\udd7a\\udd95\\udd96\\ude45-\\ude47\\ude4b-\\ude4f\\udea3\\udeb4-\\udeb6\\udec0\\udecc]|\\ud83e[\\udd0c\\udd0f\\udd18-\\udd1c\\udd1e\\udd1f\\udd26\\udd30-\\udd39\\udd3d\\udd3e\\udd77\\uddb5\\uddb6\\uddb8\\uddb9\\uddbb\\uddcd-\\uddcf\\uddd1-\\udddd]|[\\u270a\\u270b]))(?:\\ud83c[\\udffb-\\udfff])?|(?:\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc65\\udb40\\udc6e\\udb40\\udc67\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc73\\udb40\\udc63\\udb40\\udc74\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc77\\udb40\\udc6c\\udb40\\udc73\\udb40\\udc7f|\\ud83c\\udde6\\ud83c[\\udde8-\\uddec\\uddee\\uddf1\\uddf2\\uddf4\\uddf6-\\uddfa\\uddfc\\uddfd\\uddff]|\\ud83c\\udde7\\ud83c[\\udde6\\udde7\\udde9-\\uddef\\uddf1-\\uddf4\\uddf6-\\uddf9\\uddfb\\uddfc\\uddfe\\uddff]|\\ud83c\\udde8\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\uddee\\uddf0-\\uddf5\\uddf7\\uddfa-\\uddff]|\\ud83c\\udde9\\ud83c[\\uddea\\uddec\\uddef\\uddf0\\uddf2\\uddf4\\uddff]|\\ud83c\\uddea\\ud83c[\\udde6\\udde8\\uddea\\uddec\\udded\\uddf7-\\uddfa]|\\ud83c\\uddeb\\ud83c[\\uddee-\\uddf0\\uddf2\\uddf4\\uddf7]|\\ud83c\\uddec\\ud83c[\\udde6\\udde7\\udde9-\\uddee\\uddf1-\\uddf3\\uddf5-\\uddfa\\uddfc\\uddfe]|\\ud83c\\udded\\ud83c[\\uddf0\\uddf2\\uddf3\\uddf7\\uddf9\\uddfa]|\\ud83c\\uddee\\ud83c[\\udde8-\\uddea\\uddf1-\\uddf4\\uddf6-\\uddf9]|\\ud83c\\uddef\\ud83c[\\uddea\\uddf2\\uddf4\\uddf5]|\\ud83c\\uddf0\\ud83c[\\uddea\\uddec-\\uddee\\uddf2\\uddf3\\uddf5\\uddf7\\uddfc\\uddfe\\uddff]|\\ud83c\\uddf1\\ud83c[\\udde6-\\udde8\\uddee\\uddf0\\uddf7-\\uddfb\\uddfe]|\\ud83c\\uddf2\\ud83c[\\udde6\\udde8-\\udded\\uddf0-\\uddff]|\\ud83c\\uddf3\\ud83c[\\udde6\\udde8\\uddea-\\uddec\\uddee\\uddf1\\uddf4\\uddf5\\uddf7\\uddfa\\uddff]|\\ud83c\\uddf4\\ud83c\\uddf2|\\ud83c\\uddf5\\ud83c[\\udde6\\uddea-\\udded\\uddf0-\\uddf3\\uddf7-\\uddf9\\uddfc\\uddfe]|\\ud83c\\uddf6\\ud83c\\udde6|\\ud83c\\uddf7\\ud83c[\\uddea\\uddf4\\uddf8\\uddfa\\uddfc]|\\ud83c\\uddf8\\ud83c[\\udde6-\\uddea\\uddec-\\uddf4\\uddf7-\\uddf9\\uddfb\\uddfd-\\uddff]|\\ud83c\\uddf9\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\udded\\uddef-\\uddf4\\uddf7\\uddf9\\uddfb\\uddfc\\uddff]|\\ud83c\\uddfa\\ud83c[\\udde6\\uddec\\uddf2\\uddf3\\uddf8\\uddfe\\uddff]|\\ud83c\\uddfb\\ud83c[\\udde6\\udde8\\uddea\\uddec\\uddee\\uddf3\\uddfa]|\\ud83c\\uddfc\\ud83c[\\uddeb\\uddf8]|\\ud83c\\uddfd\\ud83c\\uddf0|\\ud83c\\uddfe\\ud83c[\\uddea\\uddf9]|\\ud83c\\uddff\\ud83c[\\udde6\\uddf2\\uddfc]|\\ud83c[\\udccf\\udd8e\\udd91-\\udd9a\\udde6-\\uddff\\ude01\\ude32-\\ude36\\ude38-\\ude3a\\ude50\\ude51\\udf00-\\udf20\\udf2d-\\udf35\\udf37-\\udf7c\\udf7e-\\udf84\\udf86-\\udf93\\udfa0-\\udfc1\\udfc5\\udfc6\\udfc8\\udfc9\\udfcf-\\udfd3\\udfe0-\\udff0\\udff4\\udff8-\\udfff]|\\ud83d[\\udc00-\\udc3e\\udc40\\udc44\\udc45\\udc51-\\udc65\\udc6a\\udc6f\\udc79-\\udc7b\\udc7d-\\udc80\\udc84\\udc88-\\udc8e\\udc90\\udc92-\\udca9\\udcab-\\udcfc\\udcff-\\udd3d\\udd4b-\\udd4e\\udd50-\\udd67\\udda4\\uddfb-\\ude44\\ude48-\\ude4a\\ude80-\\udea2\\udea4-\\udeb3\\udeb7-\\udebf\\udec1-\\udec5\\uded0-\\uded2\\uded5-\\uded7\\udeeb\\udeec\\udef4-\\udefc\\udfe0-\\udfeb]|\\ud83e[\\udd0d\\udd0e\\udd10-\\udd17\\udd1d\\udd20-\\udd25\\udd27-\\udd2f\\udd3a\\udd3c\\udd3f-\\udd45\\udd47-\\udd76\\udd78\\udd7a-\\uddb4\\uddb7\\uddba\\uddbc-\\uddcb\\uddd0\\uddde-\\uddff\\ude70-\\ude74\\ude78-\\ude7a\\ude80-\\ude86\\ude90-\\udea8\\udeb0-\\udeb6\\udec0-\\udec2\\uded0-\\uded6]|[\\u23e9-\\u23ec\\u23f0\\u23f3\\u267e\\u26ce\\u2705\\u2728\\u274c\\u274e\\u2753-\\u2755\\u2795-\\u2797\\u27b0\\u27bf\\ue50a])|\\ufe0f/g;","import twemojiRegex from 'twemoji-parser/dist/lib/regex';\n\n/**\n * Regex that can capture the ID in Discord Channel mentions\n * @raw `/^<#(?<id>\\d{17,19})>$/`\n * @remark Capture group 1 is the ID of the channel. It is named `id`.\n */\nexport const ChannelMentionRegex = /^<#(?<id>\\d{17,19})>$/;\n\n/**\n * Regex that can capture the channel and message IDs in a channelId-messageId pattern\n * This pattern can be found when you hold Shift and hover over a message, and click the \"ID\" button\n * @raw `/^(?<channelId>\\d{17,19})-(?<messageId>\\d{17,19})$/`\n * @remark Capture group 1 is the ID of the channel, named `channelId`.\n * @remark Capture group 2 is the ID of the message, named `messageId`.\n */\nexport const ChannelMessageRegex = /^(?<channelId>\\d{17,19})-(?<messageId>\\d{17,19})$/;\n\n/**\n * Regex that matches links on the known Discord host names\n * @raw `/(?<subdomain>\\w+)\\.?(?<hostname>dis(?:cord)?(?:app|merch|status)?)\\.(?<tld>com|g(?:d|g|ift)|(?:de(?:sign|v))|media|new|store|net)/i`\n * @remark The regex is case insensitive\n * @remark Capture group 1 is the subdomain for this URL. It is named `subdomain`.\n * @remark Capture group 2 is the hostname for this URL, primarily `discord` but can also be `discordmerch`, `discordstatus`, `dis`, and `discordapp`. It is named `hostname`.\n * @remark Capture group 3 is the Top-Level Domain *without* `.`. It is named `tld`.\n */\nexport const DiscordHostnameRegex =\n\t/(?<subdomain>\\w+)\\.?(?<hostname>dis(?:cord)?(?:app|merch|status)?)\\.(?<tld>com|g(?:d|g|ift)|(?:de(?:sign|v))|media|new|store|net)/i;\n\n/**\n * Regex that can can capture the code of Discord invite links\n * @raw `/^(?:https?:\\/\\/)?(?:www\\.)?(?:discord\\.gg\\/|discord(?:app)?\\.com\\/invite\\/)?(?<code>[\\w\\d-]{2,})$/i`\n * @remark Capture group 1 is the invite URL's unique code. It is named `code`.\n */\nexport const DiscordInviteLinkRegex = /^(?:https?:\\/\\/)?(?:www\\.)?(?:discord\\.gg\\/|discord(?:app)?\\.com\\/invite\\/)?(?<code>[\\w\\d-]{2,})$/i;\n\n/**\n * Regex that can capture the ID of any animated or non-animated custom Discord emoji\n * @raw `/^(?:<(?<animated>a)?:(?<name>\\w{2,32}):)?(?<id>\\d{17,21})>?$/`\n * @remark Capture group 1 can be used to determine whether the emoji is animated or not. It is named `animated`.\n * @remark Capture group 2 is the name of the emoji as it is typed in a message. It is named `name`.\n * @remark Capture group 3 is the ID of the emoji. It is named `id`.\n */\nexport const EmojiRegex = /^(?:<(?<animated>a)?:(?<name>\\w{2,32}):)?(?<id>\\d{17,21})>?$/;\n\n/**\n * Regex that matches any animated or non-animated custom Discord emoji.\n * Unlike {@link EmojiRegex} It can be a substring of a larger string.\n * @raw `/<a?:\\w{2,32}:\\d{17,18}>/`\n */\nexport const FormattedCustomEmoji = /<a?:\\w{2,32}:\\d{17,18}>/;\n\n/**\n * Regex that can capture any animated or non-animated custom Discord emoji.\n * Similar to {@link FormattedCustomEmoji} and unlike {@link EmojiRegex} can also be a substring of a larger string.\n * @raw `/(?<animated>a?):(?<name>[^:]+):(?<id>\\d{17,19})/`\n * @remark Capture group 1 can be used to determine whether the emoji is animated or not. It is named `animated`.\n * @remark Capture group 2 is the name of the emoji as it is typed in a message. It is named `name`.\n * @remark Capture group 3 is the ID of the emoji. It is named `id`.\n */\nexport const FormattedCustomEmojiWithGroups = /(?<animated>a?):(?<name>[^:]+):(?<id>\\d{17,19})/;\n\n/**\n * Regex that matches any URL starting with `http` or `https`\n * @raw `/^https?:\\/\\//`\n * @remark for WebSocket URLs see {@link WebsocketGenericUrlRegex}\n */\nexport const HttpUrlRegex = /^https?:\\/\\//;\n\n/**\n * Regex that can capture the Guild, Channel, and Message ID based on a shareable Discord message link.\n * @raw `/^(?:https:\\/\\/)?(?:ptb\\.|canary\\.)?discord(?:app)?\\.com\\/channels\\/(?<guildId>(?:\\d{17,19}|@me))\\/(?<channelId>\\d{17,19})\\/(?<messageId>\\d{17,19})$/`\n * @remark Capture group 1 is the ID of the guild the message was sent in. It is named `guildId`.\n * @remark Capture group 2 is the ID of the channel in that guild the message was sent in. It is named `channelId`.\n * @remark Capture group 3 is the ID of the message itself. It is named `messageId`.\n */\nexport const MessageLinkRegex =\n\t/^(?:https:\\/\\/)?(?:ptb\\.|canary\\.)?discord(?:app)?\\.com\\/channels\\/(?<guildId>(?:\\d{17,19}|@me))\\/(?<channelId>\\d{17,19})\\/(?<messageId>\\d{17,19})$/;\n\n/**\n * Regex that matches any animated or non-animated custom Discord emoji *without the wrapping `<...>` symbols.\n * This means that a string that matches this regex can directly be send inside a Discord message.\n * Other than this difference it is similar to {@link FormattedCustomEmoji}.\n * @raw `/a?:\\w{2,32}:\\d{17,18}/`\n */\nexport const ParsedCustomEmoji = /a?:\\w{2,32}:\\d{17,18}/;\n\n/**\n * Regex that matches any animated or non-animated custom Discord emoji *without the wrapping `<...>` symbols.\n * This means that a string that matches this regex can directly be send inside a Discord message.\n * Other than this difference it is similar to {@link FormattedCustomEmojiWithGroups}.\n * @raw `/(?<animated>a?):(?<name>[^:]+):(?<id>\\d{17,19})/`\n * @remark Capture group 1 can be used to determine whether the emoji is animated or not. It is named `animated`.\n * @remark Capture group 2 is the name of the emoji as it is typed in a message. It is named `name`.\n * @remark Capture group 3 is the ID of the emoji. It is named `id`.\n */\nexport const ParsedCustomEmojiWithGroups = /(?<animated>a?):(?<name>[^:]+):(?<id>\\d{17,19})/;\n\n/**\n * Regex that can capture the ID in Discord Role mentions\n * @raw `/^<@&(?<id>\\d{17,19})>$/`\n * @remark Capture group 1 is the ID of the role. It is named `id`.\n */\nexport const RoleMentionRegex = /^<@&(?<id>\\d{17,19})>$/;\n\n/**\n * Regex that can capture any Discord Snowflake ID\n * @raw `/^(?<id>\\d{17,19})$/`\n * @remark Capture group 1 is the Snowflake. It is named `id`.\n */\nexport const SnowflakeRegex = /^(?<id>\\d{17,19})$/;\n\n/**\n * Regex that can capture a Twemoji (Twitter Emoji)\n * @raw {@linkplain https://github.com/twitter/twemoji-parser/blob/master/src/lib/regex.js See official source code}\n */\nexport const TwemojiRegex = twemojiRegex;\n\n/**\n * Regex that can capture the ID of a user in Discord user mentions\n * @raw `/^<@!?(?<id>\\d{17,19})>$/`\n * @remark Capture group 1 is the ID of the user. It is named `id`.\n */\nexport const UserOrMemberMentionRegex = /^<@!?(?<id>\\d{17,19})>$/;\n\n/**\n * Regex that matches any WebSocket URL starting with `ws` or `wss`\n * @raw `/^wss?:\\/\\//`\n * @remark for regular HTTP URLs see {@link HttpUrlRegex}\n */\nexport const WebSocketUrlRegex = /^wss?:\\/\\//;\n\n/**\n * Regex that captures the Webhook ID and token from a Discord Webhook URL.\n * @raw `/(?<url>^https:\\/\\/(?:(?:canary|ptb).)?discordapp.com\\/api\\/webhooks\\/(?<id>\\d+)\\/(?<token>[\\w-]+)\\/?$)/`\n * @remark Capture group 1 is the full URL of the Discord Webhook. It is named `url`.\n * @remark Capture group 2 is the ID of the Discord Webhook. It is named `id`.\n * @remark Capture group 3 is the token of the Discord Webhook. It is named `token`.\n * @remark for regular HTTP URLs see {@link HttpUrlRegex}\n */\nexport const WebhookRegex = /(?<url>^https:\\/\\/(?:(?:canary|ptb).)?discordapp.com\\/api\\/webhooks\\/(?<id>\\d+)\\/(?<token>[\\w-]+)\\/?$)/;\n","/**\n * Namespace containing limits related to Discord channels.\n */\nexport const ChannelLimits = {\n\t/**\n\t * Maximum characters allowed in a channel description.\n\t */\n\tMaximumDescriptionLength: 1024,\n\t/**\n\t * Maximum characters allowed in a channel name.\n\t */\n\tMaximumNameLength: 100,\n\t/**\n\t * Maximum viewers allowed per screen share.\n\t */\n\tMaximumViewersPerScreenShare: 50\n} as const;\n\n/**\n * Namespace containing limits related to Discord embeds.\n */\nexport const EmbedLimits = {\n\t/**\n\t * Maximum characters allowed in the author field of an embed.\n\t */\n\tMaximumAuthorNameLength: 256,\n\n\t/**\n\t * Maximum characters allowed in an embed description.\n\t */\n\tMaximumDescriptionLength: 4096,\n\n\t/**\n\t * Maximum characters allowed in the name of a field in an embed.\n\t */\n\tMaximumFieldNameLength: 256,\n\n\t/**\n\t * Maximum fields allowed in an embed.\n\t */\n\tMaximumFields: 25,\n\n\t/**\n\t * Maximum characters allowed in the avlue of a field in an embed.\n\t */\n\tMaximumFieldValueLength: 1024,\n\n\t/**\n\t * Maximum characters allowed in a footer of an embed.\n\t */\n\tMaximumFooterLength: 2048,\n\n\t/**\n\t * Maximum characters allowed in the title of an embed.\n\t */\n\tMaximumTitleLength: 256,\n\n\t/**\n\t * Maximum characters allowed in an embed, in total.\n\t */\n\tMaximumTotalCharacters: 6000\n} as const;\n\n/**\n * Namespace containing limits related to Discord emojis.\n */\nexport const EmojiLimits = {\n\t/**\n\t * Maximum characters allowed in a custom guild emoji.\n\t */\n\tMaximumEmojiNameLength: 32\n} as const;\n\n/**\n * Namespace containing limits related to Discord guilds.\n */\nexport const GuildLimits = {\n\t/**\n\t * Maximum channels allowed per guild, including category channels.\n\t */\n\tMaximumChannels: 500,\n\t/**\n\t * Maximum roles allowed in a guild.\n\t */\n\tMaximumRoles: 250\n} as const;\n\n/**\n * Namespace containing limits related to Discord guild members.\n */\nexport const GuildMemberLimits = {\n\t/**\n\t * Maximum characters allowed in the display name of a guild member.\n\t */\n\tMaximumDisplayNameLength: 32\n} as const;\n\n/**\n * Namespace containing limits related to Discord messages.\n */\nexport const MessageLimits = {\n\t/**\n\t * Maximum embeds allowed in a single message.\n\t */\n\tMaximumEmbeds: 10,\n\n\t/**\n\t * Maximum characters allowed in a single message for a user.\n\t */\n\tMaximumLength: 2000,\n\n\t/**\n\t * Maximum characters allowed in a single message for a nitro user.\n\t */\n\tMaximumNitroLength: 4000\n} as const;\n\n/**\n * Namespace containing limits related to Discord roles.\n */\nexport const RoleLimits = {\n\t/**\n\t * Maximum characters allowed in a role name.\n\t */\n\tMaximumNameLength: 100\n} as const;\n\n/**\n * Namespace containing limits related to Discord users and Direct Messages.\n */\nexport const UserLimits = {\n\t/**\n\t * Maximum numbers of users in a DM group.\n\t */\n\tMaximumUsersPerDMGroup: 10\n} as const;\n"],"names":["twemojiRegex"],"mappings":";;AAEA,MAAM,CAAC,cAAc,CAAC,KAAO,EAAE,YAAY,EAAE;AAC7C,EAAE,KAAK,EAAE,IAAI;AACb,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA;AACA,4BAAe,GAAG,qvYAAqvY;;ACPvwY;;;;;MAKa,mBAAmB,GAAG,wBAAwB;AAE3D;;;;;;;MAOa,mBAAmB,GAAG,oDAAoD;AAEvF;;;;;;;;MAQa,oBAAoB,GAChC,qIAAqI;AAEtI;;;;;MAKa,sBAAsB,GAAG,qGAAqG;AAE3I;;;;;;;MAOa,UAAU,GAAG,+DAA+D;AAEzF;;;;;MAKa,oBAAoB,GAAG,0BAA0B;AAE9D;;;;;;;;MAQa,8BAA8B,GAAG,kDAAkD;AAEhG;;;;;MAKa,YAAY,GAAG,eAAe;AAE3C;;;;;;;MAOa,gBAAgB,GAC5B,sJAAsJ;AAEvJ;;;;;;MAMa,iBAAiB,GAAG,wBAAwB;AAEzD;;;;;;;;;MASa,2BAA2B,GAAG,kDAAkD;AAE7F;;;;;MAKa,gBAAgB,GAAG,yBAAyB;AAEzD;;;;;MAKa,cAAc,GAAG,qBAAqB;AAEnD;;;;MAIa,YAAY,GAAGA,SAAa;AAEzC;;;;;MAKa,wBAAwB,GAAG,0BAA0B;AAElE;;;;;MAKa,iBAAiB,GAAG,aAAa;AAE9C;;;;;;;;MAQa,YAAY,GAAG;;AC5I5B;;;MAGa,aAAa,GAAG;;;;IAI5B,wBAAwB,EAAE,IAAI;;;;IAI9B,iBAAiB,EAAE,GAAG;;;;IAItB,4BAA4B,EAAE,EAAE;EACtB;AAEX;;;MAGa,WAAW,GAAG;;;;IAI1B,uBAAuB,EAAE,GAAG;;;;IAK5B,wBAAwB,EAAE,IAAI;;;;IAK9B,sBAAsB,EAAE,GAAG;;;;IAK3B,aAAa,EAAE,EAAE;;;;IAKjB,uBAAuB,EAAE,IAAI;;;;IAK7B,mBAAmB,EAAE,IAAI;;;;IAKzB,kBAAkB,EAAE,GAAG;;;;IAKvB,sBAAsB,EAAE,IAAI;EAClB;AAEX;;;MAGa,WAAW,GAAG;;;;IAI1B,sBAAsB,EAAE,EAAE;EAChB;AAEX;;;MAGa,WAAW,GAAG;;;;IAI1B,eAAe,EAAE,GAAG;;;;IAIpB,YAAY,EAAE,GAAG;EACP;AAEX;;;MAGa,iBAAiB,GAAG;;;;IAIhC,wBAAwB,EAAE,EAAE;EAClB;AAEX;;;MAGa,aAAa,GAAG;;;;IAI5B,aAAa,EAAE,EAAE;;;;IAKjB,aAAa,EAAE,IAAI;;;;IAKnB,kBAAkB,EAAE,IAAI;EACd;AAEX;;;MAGa,UAAU,GAAG;;;;IAIzB,iBAAiB,EAAE,GAAG;EACZ;AAEX;;;MAGa,UAAU,GAAG;;;;IAIzB,sBAAsB,EAAE,EAAE;;;;;"}
package/dist/index.umd.js CHANGED
@@ -137,20 +137,149 @@
137
137
  */
138
138
  const WebhookRegex = /(?<url>^https:\/\/(?:(?:canary|ptb).)?discordapp.com\/api\/webhooks\/(?<id>\d+)\/(?<token>[\w-]+)\/?$)/;
139
139
 
140
+ /**
141
+ * Namespace containing limits related to Discord channels.
142
+ */
143
+ const ChannelLimits = {
144
+ /**
145
+ * Maximum characters allowed in a channel description.
146
+ */
147
+ MaximumDescriptionLength: 1024,
148
+ /**
149
+ * Maximum characters allowed in a channel name.
150
+ */
151
+ MaximumNameLength: 100,
152
+ /**
153
+ * Maximum viewers allowed per screen share.
154
+ */
155
+ MaximumViewersPerScreenShare: 50
156
+ };
157
+ /**
158
+ * Namespace containing limits related to Discord embeds.
159
+ */
160
+ const EmbedLimits = {
161
+ /**
162
+ * Maximum characters allowed in the author field of an embed.
163
+ */
164
+ MaximumAuthorNameLength: 256,
165
+ /**
166
+ * Maximum characters allowed in an embed description.
167
+ */
168
+ MaximumDescriptionLength: 4096,
169
+ /**
170
+ * Maximum characters allowed in the name of a field in an embed.
171
+ */
172
+ MaximumFieldNameLength: 256,
173
+ /**
174
+ * Maximum fields allowed in an embed.
175
+ */
176
+ MaximumFields: 25,
177
+ /**
178
+ * Maximum characters allowed in the avlue of a field in an embed.
179
+ */
180
+ MaximumFieldValueLength: 1024,
181
+ /**
182
+ * Maximum characters allowed in a footer of an embed.
183
+ */
184
+ MaximumFooterLength: 2048,
185
+ /**
186
+ * Maximum characters allowed in the title of an embed.
187
+ */
188
+ MaximumTitleLength: 256,
189
+ /**
190
+ * Maximum characters allowed in an embed, in total.
191
+ */
192
+ MaximumTotalCharacters: 6000
193
+ };
194
+ /**
195
+ * Namespace containing limits related to Discord emojis.
196
+ */
197
+ const EmojiLimits = {
198
+ /**
199
+ * Maximum characters allowed in a custom guild emoji.
200
+ */
201
+ MaximumEmojiNameLength: 32
202
+ };
203
+ /**
204
+ * Namespace containing limits related to Discord guilds.
205
+ */
206
+ const GuildLimits = {
207
+ /**
208
+ * Maximum channels allowed per guild, including category channels.
209
+ */
210
+ MaximumChannels: 500,
211
+ /**
212
+ * Maximum roles allowed in a guild.
213
+ */
214
+ MaximumRoles: 250
215
+ };
216
+ /**
217
+ * Namespace containing limits related to Discord guild members.
218
+ */
219
+ const GuildMemberLimits = {
220
+ /**
221
+ * Maximum characters allowed in the display name of a guild member.
222
+ */
223
+ MaximumDisplayNameLength: 32
224
+ };
225
+ /**
226
+ * Namespace containing limits related to Discord messages.
227
+ */
228
+ const MessageLimits = {
229
+ /**
230
+ * Maximum embeds allowed in a single message.
231
+ */
232
+ MaximumEmbeds: 10,
233
+ /**
234
+ * Maximum characters allowed in a single message for a user.
235
+ */
236
+ MaximumLength: 2000,
237
+ /**
238
+ * Maximum characters allowed in a single message for a nitro user.
239
+ */
240
+ MaximumNitroLength: 4000
241
+ };
242
+ /**
243
+ * Namespace containing limits related to Discord roles.
244
+ */
245
+ const RoleLimits = {
246
+ /**
247
+ * Maximum characters allowed in a role name.
248
+ */
249
+ MaximumNameLength: 100
250
+ };
251
+ /**
252
+ * Namespace containing limits related to Discord users and Direct Messages.
253
+ */
254
+ const UserLimits = {
255
+ /**
256
+ * Maximum numbers of users in a DM group.
257
+ */
258
+ MaximumUsersPerDMGroup: 10
259
+ };
260
+
261
+ exports.ChannelLimits = ChannelLimits;
140
262
  exports.ChannelMentionRegex = ChannelMentionRegex;
141
263
  exports.ChannelMessageRegex = ChannelMessageRegex;
142
264
  exports.DiscordHostnameRegex = DiscordHostnameRegex;
143
265
  exports.DiscordInviteLinkRegex = DiscordInviteLinkRegex;
266
+ exports.EmbedLimits = EmbedLimits;
267
+ exports.EmojiLimits = EmojiLimits;
144
268
  exports.EmojiRegex = EmojiRegex;
145
269
  exports.FormattedCustomEmoji = FormattedCustomEmoji;
146
270
  exports.FormattedCustomEmojiWithGroups = FormattedCustomEmojiWithGroups;
271
+ exports.GuildLimits = GuildLimits;
272
+ exports.GuildMemberLimits = GuildMemberLimits;
147
273
  exports.HttpUrlRegex = HttpUrlRegex;
274
+ exports.MessageLimits = MessageLimits;
148
275
  exports.MessageLinkRegex = MessageLinkRegex;
149
276
  exports.ParsedCustomEmoji = ParsedCustomEmoji;
150
277
  exports.ParsedCustomEmojiWithGroups = ParsedCustomEmojiWithGroups;
278
+ exports.RoleLimits = RoleLimits;
151
279
  exports.RoleMentionRegex = RoleMentionRegex;
152
280
  exports.SnowflakeRegex = SnowflakeRegex;
153
281
  exports.TwemojiRegex = TwemojiRegex;
282
+ exports.UserLimits = UserLimits;
154
283
  exports.UserOrMemberMentionRegex = UserOrMemberMentionRegex;
155
284
  exports.WebSocketUrlRegex = WebSocketUrlRegex;
156
285
  exports.WebhookRegex = WebhookRegex;
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.js","sources":["../../../node_modules/twemoji-parser/dist/lib/regex.js","../src/lib/regexes.ts"],"sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n// Copyright Twitter Inc. Licensed under MIT\n// https://github.com/twitter/twemoji-parser/blob/master/LICENSE.md\n\n// This file is generated by source/emoji/scripts/generate.sh\nexports.default = /(?:\\ud83d\\udc68\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffc-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc68\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udffe]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffc-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffe]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d[\\udc68\\udc69]|\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d[\\udc68\\udc69]|\\ud83e\\uddd1\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1|\\ud83d\\udc6b\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc6c\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc6d\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc8f\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc91\\ud83c[\\udffb-\\udfff]|\\ud83d[\\udc6b-\\udc6d\\udc8f\\udc91])|(?:\\ud83d[\\udc68\\udc69]|\\ud83e\\uddd1)(?:\\ud83c[\\udffb-\\udfff])?\\u200d(?:\\u2695\\ufe0f|\\u2696\\ufe0f|\\u2708\\ufe0f|\\ud83c[\\udf3e\\udf73\\udf7c\\udf84\\udf93\\udfa4\\udfa8\\udfeb\\udfed]|\\ud83d[\\udcbb\\udcbc\\udd27\\udd2c\\ude80\\ude92]|\\ud83e[\\uddaf-\\uddb3\\uddbc\\uddbd])|(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75]|\\u26f9)((?:\\ud83c[\\udffb-\\udfff]|\\ufe0f)\\u200d[\\u2640\\u2642]\\ufe0f)|(?:\\ud83c[\\udfc3\\udfc4\\udfca]|\\ud83d[\\udc6e\\udc70\\udc71\\udc73\\udc77\\udc81\\udc82\\udc86\\udc87\\ude45-\\ude47\\ude4b\\ude4d\\ude4e\\udea3\\udeb4-\\udeb6]|\\ud83e[\\udd26\\udd35\\udd37-\\udd39\\udd3d\\udd3e\\uddb8\\uddb9\\uddcd-\\uddcf\\uddd4\\uddd6-\\udddd])(?:\\ud83c[\\udffb-\\udfff])?\\u200d[\\u2640\\u2642]\\ufe0f|(?:\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83c\\udff3\\ufe0f\\u200d\\u26a7\\ufe0f|\\ud83c\\udff3\\ufe0f\\u200d\\ud83c\\udf08|\\ud83d\\ude36\\u200d\\ud83c\\udf2b\\ufe0f|\\u2764\\ufe0f\\u200d\\ud83d\\udd25|\\u2764\\ufe0f\\u200d\\ud83e\\ude79|\\ud83c\\udff4\\u200d\\u2620\\ufe0f|\\ud83d\\udc15\\u200d\\ud83e\\uddba|\\ud83d\\udc3b\\u200d\\u2744\\ufe0f|\\ud83d\\udc41\\u200d\\ud83d\\udde8|\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc6f\\u200d\\u2640\\ufe0f|\\ud83d\\udc6f\\u200d\\u2642\\ufe0f|\\ud83d\\ude2e\\u200d\\ud83d\\udca8|\\ud83d\\ude35\\u200d\\ud83d\\udcab|\\ud83e\\udd3c\\u200d\\u2640\\ufe0f|\\ud83e\\udd3c\\u200d\\u2642\\ufe0f|\\ud83e\\uddde\\u200d\\u2640\\ufe0f|\\ud83e\\uddde\\u200d\\u2642\\ufe0f|\\ud83e\\udddf\\u200d\\u2640\\ufe0f|\\ud83e\\udddf\\u200d\\u2642\\ufe0f|\\ud83d\\udc08\\u200d\\u2b1b)|[#*0-9]\\ufe0f?\\u20e3|(?:[©®\\u2122\\u265f]\\ufe0f)|(?:\\ud83c[\\udc04\\udd70\\udd71\\udd7e\\udd7f\\ude02\\ude1a\\ude2f\\ude37\\udf21\\udf24-\\udf2c\\udf36\\udf7d\\udf96\\udf97\\udf99-\\udf9b\\udf9e\\udf9f\\udfcd\\udfce\\udfd4-\\udfdf\\udff3\\udff5\\udff7]|\\ud83d[\\udc3f\\udc41\\udcfd\\udd49\\udd4a\\udd6f\\udd70\\udd73\\udd76-\\udd79\\udd87\\udd8a-\\udd8d\\udda5\\udda8\\uddb1\\uddb2\\uddbc\\uddc2-\\uddc4\\uddd1-\\uddd3\\udddc-\\uddde\\udde1\\udde3\\udde8\\uddef\\uddf3\\uddfa\\udecb\\udecd-\\udecf\\udee0-\\udee5\\udee9\\udef0\\udef3]|[\\u203c\\u2049\\u2139\\u2194-\\u2199\\u21a9\\u21aa\\u231a\\u231b\\u2328\\u23cf\\u23ed-\\u23ef\\u23f1\\u23f2\\u23f8-\\u23fa\\u24c2\\u25aa\\u25ab\\u25b6\\u25c0\\u25fb-\\u25fe\\u2600-\\u2604\\u260e\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262a\\u262e\\u262f\\u2638-\\u263a\\u2640\\u2642\\u2648-\\u2653\\u2660\\u2663\\u2665\\u2666\\u2668\\u267b\\u267f\\u2692-\\u2697\\u2699\\u269b\\u269c\\u26a0\\u26a1\\u26a7\\u26aa\\u26ab\\u26b0\\u26b1\\u26bd\\u26be\\u26c4\\u26c5\\u26c8\\u26cf\\u26d1\\u26d3\\u26d4\\u26e9\\u26ea\\u26f0-\\u26f5\\u26f8\\u26fa\\u26fd\\u2702\\u2708\\u2709\\u270f\\u2712\\u2714\\u2716\\u271d\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u2764\\u27a1\\u2934\\u2935\\u2b05-\\u2b07\\u2b1b\\u2b1c\\u2b50\\u2b55\\u3030\\u303d\\u3297\\u3299])(?:\\ufe0f|(?!\\ufe0e))|(?:(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75\\udd90]|[\\u261d\\u26f7\\u26f9\\u270c\\u270d])(?:\\ufe0f|(?!\\ufe0e))|(?:\\ud83c[\\udf85\\udfc2-\\udfc4\\udfc7\\udfca]|\\ud83d[\\udc42\\udc43\\udc46-\\udc50\\udc66-\\udc69\\udc6e\\udc70-\\udc78\\udc7c\\udc81-\\udc83\\udc85-\\udc87\\udcaa\\udd7a\\udd95\\udd96\\ude45-\\ude47\\ude4b-\\ude4f\\udea3\\udeb4-\\udeb6\\udec0\\udecc]|\\ud83e[\\udd0c\\udd0f\\udd18-\\udd1c\\udd1e\\udd1f\\udd26\\udd30-\\udd39\\udd3d\\udd3e\\udd77\\uddb5\\uddb6\\uddb8\\uddb9\\uddbb\\uddcd-\\uddcf\\uddd1-\\udddd]|[\\u270a\\u270b]))(?:\\ud83c[\\udffb-\\udfff])?|(?:\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc65\\udb40\\udc6e\\udb40\\udc67\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc73\\udb40\\udc63\\udb40\\udc74\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc77\\udb40\\udc6c\\udb40\\udc73\\udb40\\udc7f|\\ud83c\\udde6\\ud83c[\\udde8-\\uddec\\uddee\\uddf1\\uddf2\\uddf4\\uddf6-\\uddfa\\uddfc\\uddfd\\uddff]|\\ud83c\\udde7\\ud83c[\\udde6\\udde7\\udde9-\\uddef\\uddf1-\\uddf4\\uddf6-\\uddf9\\uddfb\\uddfc\\uddfe\\uddff]|\\ud83c\\udde8\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\uddee\\uddf0-\\uddf5\\uddf7\\uddfa-\\uddff]|\\ud83c\\udde9\\ud83c[\\uddea\\uddec\\uddef\\uddf0\\uddf2\\uddf4\\uddff]|\\ud83c\\uddea\\ud83c[\\udde6\\udde8\\uddea\\uddec\\udded\\uddf7-\\uddfa]|\\ud83c\\uddeb\\ud83c[\\uddee-\\uddf0\\uddf2\\uddf4\\uddf7]|\\ud83c\\uddec\\ud83c[\\udde6\\udde7\\udde9-\\uddee\\uddf1-\\uddf3\\uddf5-\\uddfa\\uddfc\\uddfe]|\\ud83c\\udded\\ud83c[\\uddf0\\uddf2\\uddf3\\uddf7\\uddf9\\uddfa]|\\ud83c\\uddee\\ud83c[\\udde8-\\uddea\\uddf1-\\uddf4\\uddf6-\\uddf9]|\\ud83c\\uddef\\ud83c[\\uddea\\uddf2\\uddf4\\uddf5]|\\ud83c\\uddf0\\ud83c[\\uddea\\uddec-\\uddee\\uddf2\\uddf3\\uddf5\\uddf7\\uddfc\\uddfe\\uddff]|\\ud83c\\uddf1\\ud83c[\\udde6-\\udde8\\uddee\\uddf0\\uddf7-\\uddfb\\uddfe]|\\ud83c\\uddf2\\ud83c[\\udde6\\udde8-\\udded\\uddf0-\\uddff]|\\ud83c\\uddf3\\ud83c[\\udde6\\udde8\\uddea-\\uddec\\uddee\\uddf1\\uddf4\\uddf5\\uddf7\\uddfa\\uddff]|\\ud83c\\uddf4\\ud83c\\uddf2|\\ud83c\\uddf5\\ud83c[\\udde6\\uddea-\\udded\\uddf0-\\uddf3\\uddf7-\\uddf9\\uddfc\\uddfe]|\\ud83c\\uddf6\\ud83c\\udde6|\\ud83c\\uddf7\\ud83c[\\uddea\\uddf4\\uddf8\\uddfa\\uddfc]|\\ud83c\\uddf8\\ud83c[\\udde6-\\uddea\\uddec-\\uddf4\\uddf7-\\uddf9\\uddfb\\uddfd-\\uddff]|\\ud83c\\uddf9\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\udded\\uddef-\\uddf4\\uddf7\\uddf9\\uddfb\\uddfc\\uddff]|\\ud83c\\uddfa\\ud83c[\\udde6\\uddec\\uddf2\\uddf3\\uddf8\\uddfe\\uddff]|\\ud83c\\uddfb\\ud83c[\\udde6\\udde8\\uddea\\uddec\\uddee\\uddf3\\uddfa]|\\ud83c\\uddfc\\ud83c[\\uddeb\\uddf8]|\\ud83c\\uddfd\\ud83c\\uddf0|\\ud83c\\uddfe\\ud83c[\\uddea\\uddf9]|\\ud83c\\uddff\\ud83c[\\udde6\\uddf2\\uddfc]|\\ud83c[\\udccf\\udd8e\\udd91-\\udd9a\\udde6-\\uddff\\ude01\\ude32-\\ude36\\ude38-\\ude3a\\ude50\\ude51\\udf00-\\udf20\\udf2d-\\udf35\\udf37-\\udf7c\\udf7e-\\udf84\\udf86-\\udf93\\udfa0-\\udfc1\\udfc5\\udfc6\\udfc8\\udfc9\\udfcf-\\udfd3\\udfe0-\\udff0\\udff4\\udff8-\\udfff]|\\ud83d[\\udc00-\\udc3e\\udc40\\udc44\\udc45\\udc51-\\udc65\\udc6a\\udc6f\\udc79-\\udc7b\\udc7d-\\udc80\\udc84\\udc88-\\udc8e\\udc90\\udc92-\\udca9\\udcab-\\udcfc\\udcff-\\udd3d\\udd4b-\\udd4e\\udd50-\\udd67\\udda4\\uddfb-\\ude44\\ude48-\\ude4a\\ude80-\\udea2\\udea4-\\udeb3\\udeb7-\\udebf\\udec1-\\udec5\\uded0-\\uded2\\uded5-\\uded7\\udeeb\\udeec\\udef4-\\udefc\\udfe0-\\udfeb]|\\ud83e[\\udd0d\\udd0e\\udd10-\\udd17\\udd1d\\udd20-\\udd25\\udd27-\\udd2f\\udd3a\\udd3c\\udd3f-\\udd45\\udd47-\\udd76\\udd78\\udd7a-\\uddb4\\uddb7\\uddba\\uddbc-\\uddcb\\uddd0\\uddde-\\uddff\\ude70-\\ude74\\ude78-\\ude7a\\ude80-\\ude86\\ude90-\\udea8\\udeb0-\\udeb6\\udec0-\\udec2\\uded0-\\uded6]|[\\u23e9-\\u23ec\\u23f0\\u23f3\\u267e\\u26ce\\u2705\\u2728\\u274c\\u274e\\u2753-\\u2755\\u2795-\\u2797\\u27b0\\u27bf\\ue50a])|\\ufe0f/g;","import twemojiRegex from 'twemoji-parser/dist/lib/regex';\n\n/**\n * Regex that can capture the ID in Discord Channel mentions\n * @raw `/^<#(?<id>\\d{17,19})>$/`\n * @remark Capture group 1 is the ID of the channel. It is named `id`.\n */\nexport const ChannelMentionRegex = /^<#(?<id>\\d{17,19})>$/;\n\n/**\n * Regex that can capture the channel and message IDs in a channelId-messageId pattern\n * This pattern can be found when you hold Shift and hover over a message, and click the \"ID\" button\n * @raw `/^(?<channelId>\\d{17,19})-(?<messageId>\\d{17,19})$/`\n * @remark Capture group 1 is the ID of the channel, named `channelId`.\n * @remark Capture group 2 is the ID of the message, named `messageId`.\n */\nexport const ChannelMessageRegex = /^(?<channelId>\\d{17,19})-(?<messageId>\\d{17,19})$/;\n\n/**\n * Regex that matches links on the known Discord host names\n * @raw `/(?<subdomain>\\w+)\\.?(?<hostname>dis(?:cord)?(?:app|merch|status)?)\\.(?<tld>com|g(?:d|g|ift)|(?:de(?:sign|v))|media|new|store|net)/i`\n * @remark The regex is case insensitive\n * @remark Capture group 1 is the subdomain for this URL. It is named `subdomain`.\n * @remark Capture group 2 is the hostname for this URL, primarily `discord` but can also be `discordmerch`, `discordstatus`, `dis`, and `discordapp`. It is named `hostname`.\n * @remark Capture group 3 is the Top-Level Domain *without* `.`. It is named `tld`.\n */\nexport const DiscordHostnameRegex =\n\t/(?<subdomain>\\w+)\\.?(?<hostname>dis(?:cord)?(?:app|merch|status)?)\\.(?<tld>com|g(?:d|g|ift)|(?:de(?:sign|v))|media|new|store|net)/i;\n\n/**\n * Regex that can can capture the code of Discord invite links\n * @raw `/^(?:https?:\\/\\/)?(?:www\\.)?(?:discord\\.gg\\/|discord(?:app)?\\.com\\/invite\\/)?(?<code>[\\w\\d-]{2,})$/i`\n * @remark Capture group 1 is the invite URL's unique code. It is named `code`.\n */\nexport const DiscordInviteLinkRegex = /^(?:https?:\\/\\/)?(?:www\\.)?(?:discord\\.gg\\/|discord(?:app)?\\.com\\/invite\\/)?(?<code>[\\w\\d-]{2,})$/i;\n\n/**\n * Regex that can capture the ID of any animated or non-animated custom Discord emoji\n * @raw `/^(?:<(?<animated>a)?:(?<name>\\w{2,32}):)?(?<id>\\d{17,21})>?$/`\n * @remark Capture group 1 can be used to determine whether the emoji is animated or not. It is named `animated`.\n * @remark Capture group 2 is the name of the emoji as it is typed in a message. It is named `name`.\n * @remark Capture group 3 is the ID of the emoji. It is named `id`.\n */\nexport const EmojiRegex = /^(?:<(?<animated>a)?:(?<name>\\w{2,32}):)?(?<id>\\d{17,21})>?$/;\n\n/**\n * Regex that matches any animated or non-animated custom Discord emoji.\n * Unlike {@link EmojiRegex} It can be a substring of a larger string.\n * @raw `/<a?:\\w{2,32}:\\d{17,18}>/`\n */\nexport const FormattedCustomEmoji = /<a?:\\w{2,32}:\\d{17,18}>/;\n\n/**\n * Regex that can capture any animated or non-animated custom Discord emoji.\n * Similar to {@link FormattedCustomEmoji} and unlike {@link EmojiRegex} can also be a substring of a larger string.\n * @raw `/(?<animated>a?):(?<name>[^:]+):(?<id>\\d{17,19})/`\n * @remark Capture group 1 can be used to determine whether the emoji is animated or not. It is named `animated`.\n * @remark Capture group 2 is the name of the emoji as it is typed in a message. It is named `name`.\n * @remark Capture group 3 is the ID of the emoji. It is named `id`.\n */\nexport const FormattedCustomEmojiWithGroups = /(?<animated>a?):(?<name>[^:]+):(?<id>\\d{17,19})/;\n\n/**\n * Regex that matches any URL starting with `http` or `https`\n * @raw `/^https?:\\/\\//`\n * @remark for WebSocket URLs see {@link WebsocketGenericUrlRegex}\n */\nexport const HttpUrlRegex = /^https?:\\/\\//;\n\n/**\n * Regex that can capture the Guild, Channel, and Message ID based on a shareable Discord message link.\n * @raw `/^(?:https:\\/\\/)?(?:ptb\\.|canary\\.)?discord(?:app)?\\.com\\/channels\\/(?<guildId>(?:\\d{17,19}|@me))\\/(?<channelId>\\d{17,19})\\/(?<messageId>\\d{17,19})$/`\n * @remark Capture group 1 is the ID of the guild the message was sent in. It is named `guildId`.\n * @remark Capture group 2 is the ID of the channel in that guild the message was sent in. It is named `channelId`.\n * @remark Capture group 3 is the ID of the message itself. It is named `messageId`.\n */\nexport const MessageLinkRegex =\n\t/^(?:https:\\/\\/)?(?:ptb\\.|canary\\.)?discord(?:app)?\\.com\\/channels\\/(?<guildId>(?:\\d{17,19}|@me))\\/(?<channelId>\\d{17,19})\\/(?<messageId>\\d{17,19})$/;\n\n/**\n * Regex that matches any animated or non-animated custom Discord emoji *without the wrapping `<...>` symbols.\n * This means that a string that matches this regex can directly be send inside a Discord message.\n * Other than this difference it is similar to {@link FormattedCustomEmoji}.\n * @raw `/a?:\\w{2,32}:\\d{17,18}/`\n */\nexport const ParsedCustomEmoji = /a?:\\w{2,32}:\\d{17,18}/;\n\n/**\n * Regex that matches any animated or non-animated custom Discord emoji *without the wrapping `<...>` symbols.\n * This means that a string that matches this regex can directly be send inside a Discord message.\n * Other than this difference it is similar to {@link FormattedCustomEmojiWithGroups}.\n * @raw `/(?<animated>a?):(?<name>[^:]+):(?<id>\\d{17,19})/`\n * @remark Capture group 1 can be used to determine whether the emoji is animated or not. It is named `animated`.\n * @remark Capture group 2 is the name of the emoji as it is typed in a message. It is named `name`.\n * @remark Capture group 3 is the ID of the emoji. It is named `id`.\n */\nexport const ParsedCustomEmojiWithGroups = /(?<animated>a?):(?<name>[^:]+):(?<id>\\d{17,19})/;\n\n/**\n * Regex that can capture the ID in Discord Role mentions\n * @raw `/^<@&(?<id>\\d{17,19})>$/`\n * @remark Capture group 1 is the ID of the role. It is named `id`.\n */\nexport const RoleMentionRegex = /^<@&(?<id>\\d{17,19})>$/;\n\n/**\n * Regex that can capture any Discord Snowflake ID\n * @raw `/^(?<id>\\d{17,19})$/`\n * @remark Capture group 1 is the Snowflake. It is named `id`.\n */\nexport const SnowflakeRegex = /^(?<id>\\d{17,19})$/;\n\n/**\n * Regex that can capture a Twemoji (Twitter Emoji)\n * @raw {@linkplain https://github.com/twitter/twemoji-parser/blob/master/src/lib/regex.js See official source code}\n */\nexport const TwemojiRegex = twemojiRegex;\n\n/**\n * Regex that can capture the ID of a user in Discord user mentions\n * @raw `/^<@!?(?<id>\\d{17,19})>$/`\n * @remark Capture group 1 is the ID of the user. It is named `id`.\n */\nexport const UserOrMemberMentionRegex = /^<@!?(?<id>\\d{17,19})>$/;\n\n/**\n * Regex that matches any WebSocket URL starting with `ws` or `wss`\n * @raw `/^wss?:\\/\\//`\n * @remark for regular HTTP URLs see {@link HttpUrlRegex}\n */\nexport const WebSocketUrlRegex = /^wss?:\\/\\//;\n\n/**\n * Regex that captures the Webhook ID and token from a Discord Webhook URL.\n * @raw `/(?<url>^https:\\/\\/(?:(?:canary|ptb).)?discordapp.com\\/api\\/webhooks\\/(?<id>\\d+)\\/(?<token>[\\w-]+)\\/?$)/`\n * @remark Capture group 1 is the full URL of the Discord Webhook. It is named `url`.\n * @remark Capture group 2 is the ID of the Discord Webhook. It is named `id`.\n * @remark Capture group 3 is the token of the Discord Webhook. It is named `token`.\n * @remark for regular HTTP URLs see {@link HttpUrlRegex}\n */\nexport const WebhookRegex = /(?<url>^https:\\/\\/(?:(?:canary|ptb).)?discordapp.com\\/api\\/webhooks\\/(?<id>\\d+)\\/(?<token>[\\w-]+)\\/?$)/;\n"],"names":["twemojiRegex"],"mappings":";;;;;;;;EAEA,MAAM,CAAC,cAAc,CAAC,KAAO,EAAE,YAAY,EAAE;EAC7C,EAAE,KAAK,EAAE,IAAI;EACb,CAAC,CAAC,CAAC;EACH;EACA;AACA;EACA;EACA,4BAAe,GAAG,qvYAAqvY;;ECPvwY;;;;;QAKa,mBAAmB,GAAG,wBAAwB;EAE3D;;;;;;;QAOa,mBAAmB,GAAG,oDAAoD;EAEvF;;;;;;;;QAQa,oBAAoB,GAChC,qIAAqI;EAEtI;;;;;QAKa,sBAAsB,GAAG,qGAAqG;EAE3I;;;;;;;QAOa,UAAU,GAAG,+DAA+D;EAEzF;;;;;QAKa,oBAAoB,GAAG,0BAA0B;EAE9D;;;;;;;;QAQa,8BAA8B,GAAG,kDAAkD;EAEhG;;;;;QAKa,YAAY,GAAG,eAAe;EAE3C;;;;;;;QAOa,gBAAgB,GAC5B,sJAAsJ;EAEvJ;;;;;;QAMa,iBAAiB,GAAG,wBAAwB;EAEzD;;;;;;;;;QASa,2BAA2B,GAAG,kDAAkD;EAE7F;;;;;QAKa,gBAAgB,GAAG,yBAAyB;EAEzD;;;;;QAKa,cAAc,GAAG,qBAAqB;EAEnD;;;;QAIa,YAAY,GAAGA,SAAa;EAEzC;;;;;QAKa,wBAAwB,GAAG,0BAA0B;EAElE;;;;;QAKa,iBAAiB,GAAG,aAAa;EAE9C;;;;;;;;QAQa,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.umd.js","sources":["../../../node_modules/twemoji-parser/dist/lib/regex.js","../src/lib/regexes.ts","../src/lib/limits.ts"],"sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n// Copyright Twitter Inc. Licensed under MIT\n// https://github.com/twitter/twemoji-parser/blob/master/LICENSE.md\n\n// This file is generated by source/emoji/scripts/generate.sh\nexports.default = /(?:\\ud83d\\udc68\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffc-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc68\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udffe]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffc-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\u2764\\ufe0f\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udffe]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d[\\udc68\\udc69]|\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d[\\udc68\\udc69]|\\ud83e\\uddd1\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1|\\ud83d\\udc6b\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc6c\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc6d\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc8f\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc91\\ud83c[\\udffb-\\udfff]|\\ud83d[\\udc6b-\\udc6d\\udc8f\\udc91])|(?:\\ud83d[\\udc68\\udc69]|\\ud83e\\uddd1)(?:\\ud83c[\\udffb-\\udfff])?\\u200d(?:\\u2695\\ufe0f|\\u2696\\ufe0f|\\u2708\\ufe0f|\\ud83c[\\udf3e\\udf73\\udf7c\\udf84\\udf93\\udfa4\\udfa8\\udfeb\\udfed]|\\ud83d[\\udcbb\\udcbc\\udd27\\udd2c\\ude80\\ude92]|\\ud83e[\\uddaf-\\uddb3\\uddbc\\uddbd])|(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75]|\\u26f9)((?:\\ud83c[\\udffb-\\udfff]|\\ufe0f)\\u200d[\\u2640\\u2642]\\ufe0f)|(?:\\ud83c[\\udfc3\\udfc4\\udfca]|\\ud83d[\\udc6e\\udc70\\udc71\\udc73\\udc77\\udc81\\udc82\\udc86\\udc87\\ude45-\\ude47\\ude4b\\ude4d\\ude4e\\udea3\\udeb4-\\udeb6]|\\ud83e[\\udd26\\udd35\\udd37-\\udd39\\udd3d\\udd3e\\uddb8\\uddb9\\uddcd-\\uddcf\\uddd4\\uddd6-\\udddd])(?:\\ud83c[\\udffb-\\udfff])?\\u200d[\\u2640\\u2642]\\ufe0f|(?:\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83c\\udff3\\ufe0f\\u200d\\u26a7\\ufe0f|\\ud83c\\udff3\\ufe0f\\u200d\\ud83c\\udf08|\\ud83d\\ude36\\u200d\\ud83c\\udf2b\\ufe0f|\\u2764\\ufe0f\\u200d\\ud83d\\udd25|\\u2764\\ufe0f\\u200d\\ud83e\\ude79|\\ud83c\\udff4\\u200d\\u2620\\ufe0f|\\ud83d\\udc15\\u200d\\ud83e\\uddba|\\ud83d\\udc3b\\u200d\\u2744\\ufe0f|\\ud83d\\udc41\\u200d\\ud83d\\udde8|\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc6f\\u200d\\u2640\\ufe0f|\\ud83d\\udc6f\\u200d\\u2642\\ufe0f|\\ud83d\\ude2e\\u200d\\ud83d\\udca8|\\ud83d\\ude35\\u200d\\ud83d\\udcab|\\ud83e\\udd3c\\u200d\\u2640\\ufe0f|\\ud83e\\udd3c\\u200d\\u2642\\ufe0f|\\ud83e\\uddde\\u200d\\u2640\\ufe0f|\\ud83e\\uddde\\u200d\\u2642\\ufe0f|\\ud83e\\udddf\\u200d\\u2640\\ufe0f|\\ud83e\\udddf\\u200d\\u2642\\ufe0f|\\ud83d\\udc08\\u200d\\u2b1b)|[#*0-9]\\ufe0f?\\u20e3|(?:[©®\\u2122\\u265f]\\ufe0f)|(?:\\ud83c[\\udc04\\udd70\\udd71\\udd7e\\udd7f\\ude02\\ude1a\\ude2f\\ude37\\udf21\\udf24-\\udf2c\\udf36\\udf7d\\udf96\\udf97\\udf99-\\udf9b\\udf9e\\udf9f\\udfcd\\udfce\\udfd4-\\udfdf\\udff3\\udff5\\udff7]|\\ud83d[\\udc3f\\udc41\\udcfd\\udd49\\udd4a\\udd6f\\udd70\\udd73\\udd76-\\udd79\\udd87\\udd8a-\\udd8d\\udda5\\udda8\\uddb1\\uddb2\\uddbc\\uddc2-\\uddc4\\uddd1-\\uddd3\\udddc-\\uddde\\udde1\\udde3\\udde8\\uddef\\uddf3\\uddfa\\udecb\\udecd-\\udecf\\udee0-\\udee5\\udee9\\udef0\\udef3]|[\\u203c\\u2049\\u2139\\u2194-\\u2199\\u21a9\\u21aa\\u231a\\u231b\\u2328\\u23cf\\u23ed-\\u23ef\\u23f1\\u23f2\\u23f8-\\u23fa\\u24c2\\u25aa\\u25ab\\u25b6\\u25c0\\u25fb-\\u25fe\\u2600-\\u2604\\u260e\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262a\\u262e\\u262f\\u2638-\\u263a\\u2640\\u2642\\u2648-\\u2653\\u2660\\u2663\\u2665\\u2666\\u2668\\u267b\\u267f\\u2692-\\u2697\\u2699\\u269b\\u269c\\u26a0\\u26a1\\u26a7\\u26aa\\u26ab\\u26b0\\u26b1\\u26bd\\u26be\\u26c4\\u26c5\\u26c8\\u26cf\\u26d1\\u26d3\\u26d4\\u26e9\\u26ea\\u26f0-\\u26f5\\u26f8\\u26fa\\u26fd\\u2702\\u2708\\u2709\\u270f\\u2712\\u2714\\u2716\\u271d\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u2764\\u27a1\\u2934\\u2935\\u2b05-\\u2b07\\u2b1b\\u2b1c\\u2b50\\u2b55\\u3030\\u303d\\u3297\\u3299])(?:\\ufe0f|(?!\\ufe0e))|(?:(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75\\udd90]|[\\u261d\\u26f7\\u26f9\\u270c\\u270d])(?:\\ufe0f|(?!\\ufe0e))|(?:\\ud83c[\\udf85\\udfc2-\\udfc4\\udfc7\\udfca]|\\ud83d[\\udc42\\udc43\\udc46-\\udc50\\udc66-\\udc69\\udc6e\\udc70-\\udc78\\udc7c\\udc81-\\udc83\\udc85-\\udc87\\udcaa\\udd7a\\udd95\\udd96\\ude45-\\ude47\\ude4b-\\ude4f\\udea3\\udeb4-\\udeb6\\udec0\\udecc]|\\ud83e[\\udd0c\\udd0f\\udd18-\\udd1c\\udd1e\\udd1f\\udd26\\udd30-\\udd39\\udd3d\\udd3e\\udd77\\uddb5\\uddb6\\uddb8\\uddb9\\uddbb\\uddcd-\\uddcf\\uddd1-\\udddd]|[\\u270a\\u270b]))(?:\\ud83c[\\udffb-\\udfff])?|(?:\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc65\\udb40\\udc6e\\udb40\\udc67\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc73\\udb40\\udc63\\udb40\\udc74\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc77\\udb40\\udc6c\\udb40\\udc73\\udb40\\udc7f|\\ud83c\\udde6\\ud83c[\\udde8-\\uddec\\uddee\\uddf1\\uddf2\\uddf4\\uddf6-\\uddfa\\uddfc\\uddfd\\uddff]|\\ud83c\\udde7\\ud83c[\\udde6\\udde7\\udde9-\\uddef\\uddf1-\\uddf4\\uddf6-\\uddf9\\uddfb\\uddfc\\uddfe\\uddff]|\\ud83c\\udde8\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\uddee\\uddf0-\\uddf5\\uddf7\\uddfa-\\uddff]|\\ud83c\\udde9\\ud83c[\\uddea\\uddec\\uddef\\uddf0\\uddf2\\uddf4\\uddff]|\\ud83c\\uddea\\ud83c[\\udde6\\udde8\\uddea\\uddec\\udded\\uddf7-\\uddfa]|\\ud83c\\uddeb\\ud83c[\\uddee-\\uddf0\\uddf2\\uddf4\\uddf7]|\\ud83c\\uddec\\ud83c[\\udde6\\udde7\\udde9-\\uddee\\uddf1-\\uddf3\\uddf5-\\uddfa\\uddfc\\uddfe]|\\ud83c\\udded\\ud83c[\\uddf0\\uddf2\\uddf3\\uddf7\\uddf9\\uddfa]|\\ud83c\\uddee\\ud83c[\\udde8-\\uddea\\uddf1-\\uddf4\\uddf6-\\uddf9]|\\ud83c\\uddef\\ud83c[\\uddea\\uddf2\\uddf4\\uddf5]|\\ud83c\\uddf0\\ud83c[\\uddea\\uddec-\\uddee\\uddf2\\uddf3\\uddf5\\uddf7\\uddfc\\uddfe\\uddff]|\\ud83c\\uddf1\\ud83c[\\udde6-\\udde8\\uddee\\uddf0\\uddf7-\\uddfb\\uddfe]|\\ud83c\\uddf2\\ud83c[\\udde6\\udde8-\\udded\\uddf0-\\uddff]|\\ud83c\\uddf3\\ud83c[\\udde6\\udde8\\uddea-\\uddec\\uddee\\uddf1\\uddf4\\uddf5\\uddf7\\uddfa\\uddff]|\\ud83c\\uddf4\\ud83c\\uddf2|\\ud83c\\uddf5\\ud83c[\\udde6\\uddea-\\udded\\uddf0-\\uddf3\\uddf7-\\uddf9\\uddfc\\uddfe]|\\ud83c\\uddf6\\ud83c\\udde6|\\ud83c\\uddf7\\ud83c[\\uddea\\uddf4\\uddf8\\uddfa\\uddfc]|\\ud83c\\uddf8\\ud83c[\\udde6-\\uddea\\uddec-\\uddf4\\uddf7-\\uddf9\\uddfb\\uddfd-\\uddff]|\\ud83c\\uddf9\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\udded\\uddef-\\uddf4\\uddf7\\uddf9\\uddfb\\uddfc\\uddff]|\\ud83c\\uddfa\\ud83c[\\udde6\\uddec\\uddf2\\uddf3\\uddf8\\uddfe\\uddff]|\\ud83c\\uddfb\\ud83c[\\udde6\\udde8\\uddea\\uddec\\uddee\\uddf3\\uddfa]|\\ud83c\\uddfc\\ud83c[\\uddeb\\uddf8]|\\ud83c\\uddfd\\ud83c\\uddf0|\\ud83c\\uddfe\\ud83c[\\uddea\\uddf9]|\\ud83c\\uddff\\ud83c[\\udde6\\uddf2\\uddfc]|\\ud83c[\\udccf\\udd8e\\udd91-\\udd9a\\udde6-\\uddff\\ude01\\ude32-\\ude36\\ude38-\\ude3a\\ude50\\ude51\\udf00-\\udf20\\udf2d-\\udf35\\udf37-\\udf7c\\udf7e-\\udf84\\udf86-\\udf93\\udfa0-\\udfc1\\udfc5\\udfc6\\udfc8\\udfc9\\udfcf-\\udfd3\\udfe0-\\udff0\\udff4\\udff8-\\udfff]|\\ud83d[\\udc00-\\udc3e\\udc40\\udc44\\udc45\\udc51-\\udc65\\udc6a\\udc6f\\udc79-\\udc7b\\udc7d-\\udc80\\udc84\\udc88-\\udc8e\\udc90\\udc92-\\udca9\\udcab-\\udcfc\\udcff-\\udd3d\\udd4b-\\udd4e\\udd50-\\udd67\\udda4\\uddfb-\\ude44\\ude48-\\ude4a\\ude80-\\udea2\\udea4-\\udeb3\\udeb7-\\udebf\\udec1-\\udec5\\uded0-\\uded2\\uded5-\\uded7\\udeeb\\udeec\\udef4-\\udefc\\udfe0-\\udfeb]|\\ud83e[\\udd0d\\udd0e\\udd10-\\udd17\\udd1d\\udd20-\\udd25\\udd27-\\udd2f\\udd3a\\udd3c\\udd3f-\\udd45\\udd47-\\udd76\\udd78\\udd7a-\\uddb4\\uddb7\\uddba\\uddbc-\\uddcb\\uddd0\\uddde-\\uddff\\ude70-\\ude74\\ude78-\\ude7a\\ude80-\\ude86\\ude90-\\udea8\\udeb0-\\udeb6\\udec0-\\udec2\\uded0-\\uded6]|[\\u23e9-\\u23ec\\u23f0\\u23f3\\u267e\\u26ce\\u2705\\u2728\\u274c\\u274e\\u2753-\\u2755\\u2795-\\u2797\\u27b0\\u27bf\\ue50a])|\\ufe0f/g;","import twemojiRegex from 'twemoji-parser/dist/lib/regex';\n\n/**\n * Regex that can capture the ID in Discord Channel mentions\n * @raw `/^<#(?<id>\\d{17,19})>$/`\n * @remark Capture group 1 is the ID of the channel. It is named `id`.\n */\nexport const ChannelMentionRegex = /^<#(?<id>\\d{17,19})>$/;\n\n/**\n * Regex that can capture the channel and message IDs in a channelId-messageId pattern\n * This pattern can be found when you hold Shift and hover over a message, and click the \"ID\" button\n * @raw `/^(?<channelId>\\d{17,19})-(?<messageId>\\d{17,19})$/`\n * @remark Capture group 1 is the ID of the channel, named `channelId`.\n * @remark Capture group 2 is the ID of the message, named `messageId`.\n */\nexport const ChannelMessageRegex = /^(?<channelId>\\d{17,19})-(?<messageId>\\d{17,19})$/;\n\n/**\n * Regex that matches links on the known Discord host names\n * @raw `/(?<subdomain>\\w+)\\.?(?<hostname>dis(?:cord)?(?:app|merch|status)?)\\.(?<tld>com|g(?:d|g|ift)|(?:de(?:sign|v))|media|new|store|net)/i`\n * @remark The regex is case insensitive\n * @remark Capture group 1 is the subdomain for this URL. It is named `subdomain`.\n * @remark Capture group 2 is the hostname for this URL, primarily `discord` but can also be `discordmerch`, `discordstatus`, `dis`, and `discordapp`. It is named `hostname`.\n * @remark Capture group 3 is the Top-Level Domain *without* `.`. It is named `tld`.\n */\nexport const DiscordHostnameRegex =\n\t/(?<subdomain>\\w+)\\.?(?<hostname>dis(?:cord)?(?:app|merch|status)?)\\.(?<tld>com|g(?:d|g|ift)|(?:de(?:sign|v))|media|new|store|net)/i;\n\n/**\n * Regex that can can capture the code of Discord invite links\n * @raw `/^(?:https?:\\/\\/)?(?:www\\.)?(?:discord\\.gg\\/|discord(?:app)?\\.com\\/invite\\/)?(?<code>[\\w\\d-]{2,})$/i`\n * @remark Capture group 1 is the invite URL's unique code. It is named `code`.\n */\nexport const DiscordInviteLinkRegex = /^(?:https?:\\/\\/)?(?:www\\.)?(?:discord\\.gg\\/|discord(?:app)?\\.com\\/invite\\/)?(?<code>[\\w\\d-]{2,})$/i;\n\n/**\n * Regex that can capture the ID of any animated or non-animated custom Discord emoji\n * @raw `/^(?:<(?<animated>a)?:(?<name>\\w{2,32}):)?(?<id>\\d{17,21})>?$/`\n * @remark Capture group 1 can be used to determine whether the emoji is animated or not. It is named `animated`.\n * @remark Capture group 2 is the name of the emoji as it is typed in a message. It is named `name`.\n * @remark Capture group 3 is the ID of the emoji. It is named `id`.\n */\nexport const EmojiRegex = /^(?:<(?<animated>a)?:(?<name>\\w{2,32}):)?(?<id>\\d{17,21})>?$/;\n\n/**\n * Regex that matches any animated or non-animated custom Discord emoji.\n * Unlike {@link EmojiRegex} It can be a substring of a larger string.\n * @raw `/<a?:\\w{2,32}:\\d{17,18}>/`\n */\nexport const FormattedCustomEmoji = /<a?:\\w{2,32}:\\d{17,18}>/;\n\n/**\n * Regex that can capture any animated or non-animated custom Discord emoji.\n * Similar to {@link FormattedCustomEmoji} and unlike {@link EmojiRegex} can also be a substring of a larger string.\n * @raw `/(?<animated>a?):(?<name>[^:]+):(?<id>\\d{17,19})/`\n * @remark Capture group 1 can be used to determine whether the emoji is animated or not. It is named `animated`.\n * @remark Capture group 2 is the name of the emoji as it is typed in a message. It is named `name`.\n * @remark Capture group 3 is the ID of the emoji. It is named `id`.\n */\nexport const FormattedCustomEmojiWithGroups = /(?<animated>a?):(?<name>[^:]+):(?<id>\\d{17,19})/;\n\n/**\n * Regex that matches any URL starting with `http` or `https`\n * @raw `/^https?:\\/\\//`\n * @remark for WebSocket URLs see {@link WebsocketGenericUrlRegex}\n */\nexport const HttpUrlRegex = /^https?:\\/\\//;\n\n/**\n * Regex that can capture the Guild, Channel, and Message ID based on a shareable Discord message link.\n * @raw `/^(?:https:\\/\\/)?(?:ptb\\.|canary\\.)?discord(?:app)?\\.com\\/channels\\/(?<guildId>(?:\\d{17,19}|@me))\\/(?<channelId>\\d{17,19})\\/(?<messageId>\\d{17,19})$/`\n * @remark Capture group 1 is the ID of the guild the message was sent in. It is named `guildId`.\n * @remark Capture group 2 is the ID of the channel in that guild the message was sent in. It is named `channelId`.\n * @remark Capture group 3 is the ID of the message itself. It is named `messageId`.\n */\nexport const MessageLinkRegex =\n\t/^(?:https:\\/\\/)?(?:ptb\\.|canary\\.)?discord(?:app)?\\.com\\/channels\\/(?<guildId>(?:\\d{17,19}|@me))\\/(?<channelId>\\d{17,19})\\/(?<messageId>\\d{17,19})$/;\n\n/**\n * Regex that matches any animated or non-animated custom Discord emoji *without the wrapping `<...>` symbols.\n * This means that a string that matches this regex can directly be send inside a Discord message.\n * Other than this difference it is similar to {@link FormattedCustomEmoji}.\n * @raw `/a?:\\w{2,32}:\\d{17,18}/`\n */\nexport const ParsedCustomEmoji = /a?:\\w{2,32}:\\d{17,18}/;\n\n/**\n * Regex that matches any animated or non-animated custom Discord emoji *without the wrapping `<...>` symbols.\n * This means that a string that matches this regex can directly be send inside a Discord message.\n * Other than this difference it is similar to {@link FormattedCustomEmojiWithGroups}.\n * @raw `/(?<animated>a?):(?<name>[^:]+):(?<id>\\d{17,19})/`\n * @remark Capture group 1 can be used to determine whether the emoji is animated or not. It is named `animated`.\n * @remark Capture group 2 is the name of the emoji as it is typed in a message. It is named `name`.\n * @remark Capture group 3 is the ID of the emoji. It is named `id`.\n */\nexport const ParsedCustomEmojiWithGroups = /(?<animated>a?):(?<name>[^:]+):(?<id>\\d{17,19})/;\n\n/**\n * Regex that can capture the ID in Discord Role mentions\n * @raw `/^<@&(?<id>\\d{17,19})>$/`\n * @remark Capture group 1 is the ID of the role. It is named `id`.\n */\nexport const RoleMentionRegex = /^<@&(?<id>\\d{17,19})>$/;\n\n/**\n * Regex that can capture any Discord Snowflake ID\n * @raw `/^(?<id>\\d{17,19})$/`\n * @remark Capture group 1 is the Snowflake. It is named `id`.\n */\nexport const SnowflakeRegex = /^(?<id>\\d{17,19})$/;\n\n/**\n * Regex that can capture a Twemoji (Twitter Emoji)\n * @raw {@linkplain https://github.com/twitter/twemoji-parser/blob/master/src/lib/regex.js See official source code}\n */\nexport const TwemojiRegex = twemojiRegex;\n\n/**\n * Regex that can capture the ID of a user in Discord user mentions\n * @raw `/^<@!?(?<id>\\d{17,19})>$/`\n * @remark Capture group 1 is the ID of the user. It is named `id`.\n */\nexport const UserOrMemberMentionRegex = /^<@!?(?<id>\\d{17,19})>$/;\n\n/**\n * Regex that matches any WebSocket URL starting with `ws` or `wss`\n * @raw `/^wss?:\\/\\//`\n * @remark for regular HTTP URLs see {@link HttpUrlRegex}\n */\nexport const WebSocketUrlRegex = /^wss?:\\/\\//;\n\n/**\n * Regex that captures the Webhook ID and token from a Discord Webhook URL.\n * @raw `/(?<url>^https:\\/\\/(?:(?:canary|ptb).)?discordapp.com\\/api\\/webhooks\\/(?<id>\\d+)\\/(?<token>[\\w-]+)\\/?$)/`\n * @remark Capture group 1 is the full URL of the Discord Webhook. It is named `url`.\n * @remark Capture group 2 is the ID of the Discord Webhook. It is named `id`.\n * @remark Capture group 3 is the token of the Discord Webhook. It is named `token`.\n * @remark for regular HTTP URLs see {@link HttpUrlRegex}\n */\nexport const WebhookRegex = /(?<url>^https:\\/\\/(?:(?:canary|ptb).)?discordapp.com\\/api\\/webhooks\\/(?<id>\\d+)\\/(?<token>[\\w-]+)\\/?$)/;\n","/**\n * Namespace containing limits related to Discord channels.\n */\nexport const ChannelLimits = {\n\t/**\n\t * Maximum characters allowed in a channel description.\n\t */\n\tMaximumDescriptionLength: 1024,\n\t/**\n\t * Maximum characters allowed in a channel name.\n\t */\n\tMaximumNameLength: 100,\n\t/**\n\t * Maximum viewers allowed per screen share.\n\t */\n\tMaximumViewersPerScreenShare: 50\n} as const;\n\n/**\n * Namespace containing limits related to Discord embeds.\n */\nexport const EmbedLimits = {\n\t/**\n\t * Maximum characters allowed in the author field of an embed.\n\t */\n\tMaximumAuthorNameLength: 256,\n\n\t/**\n\t * Maximum characters allowed in an embed description.\n\t */\n\tMaximumDescriptionLength: 4096,\n\n\t/**\n\t * Maximum characters allowed in the name of a field in an embed.\n\t */\n\tMaximumFieldNameLength: 256,\n\n\t/**\n\t * Maximum fields allowed in an embed.\n\t */\n\tMaximumFields: 25,\n\n\t/**\n\t * Maximum characters allowed in the avlue of a field in an embed.\n\t */\n\tMaximumFieldValueLength: 1024,\n\n\t/**\n\t * Maximum characters allowed in a footer of an embed.\n\t */\n\tMaximumFooterLength: 2048,\n\n\t/**\n\t * Maximum characters allowed in the title of an embed.\n\t */\n\tMaximumTitleLength: 256,\n\n\t/**\n\t * Maximum characters allowed in an embed, in total.\n\t */\n\tMaximumTotalCharacters: 6000\n} as const;\n\n/**\n * Namespace containing limits related to Discord emojis.\n */\nexport const EmojiLimits = {\n\t/**\n\t * Maximum characters allowed in a custom guild emoji.\n\t */\n\tMaximumEmojiNameLength: 32\n} as const;\n\n/**\n * Namespace containing limits related to Discord guilds.\n */\nexport const GuildLimits = {\n\t/**\n\t * Maximum channels allowed per guild, including category channels.\n\t */\n\tMaximumChannels: 500,\n\t/**\n\t * Maximum roles allowed in a guild.\n\t */\n\tMaximumRoles: 250\n} as const;\n\n/**\n * Namespace containing limits related to Discord guild members.\n */\nexport const GuildMemberLimits = {\n\t/**\n\t * Maximum characters allowed in the display name of a guild member.\n\t */\n\tMaximumDisplayNameLength: 32\n} as const;\n\n/**\n * Namespace containing limits related to Discord messages.\n */\nexport const MessageLimits = {\n\t/**\n\t * Maximum embeds allowed in a single message.\n\t */\n\tMaximumEmbeds: 10,\n\n\t/**\n\t * Maximum characters allowed in a single message for a user.\n\t */\n\tMaximumLength: 2000,\n\n\t/**\n\t * Maximum characters allowed in a single message for a nitro user.\n\t */\n\tMaximumNitroLength: 4000\n} as const;\n\n/**\n * Namespace containing limits related to Discord roles.\n */\nexport const RoleLimits = {\n\t/**\n\t * Maximum characters allowed in a role name.\n\t */\n\tMaximumNameLength: 100\n} as const;\n\n/**\n * Namespace containing limits related to Discord users and Direct Messages.\n */\nexport const UserLimits = {\n\t/**\n\t * Maximum numbers of users in a DM group.\n\t */\n\tMaximumUsersPerDMGroup: 10\n} as const;\n"],"names":["twemojiRegex"],"mappings":";;;;;;;;EAEA,MAAM,CAAC,cAAc,CAAC,KAAO,EAAE,YAAY,EAAE;EAC7C,EAAE,KAAK,EAAE,IAAI;EACb,CAAC,CAAC,CAAC;EACH;EACA;AACA;EACA;EACA,4BAAe,GAAG,qvYAAqvY;;ECPvwY;;;;;QAKa,mBAAmB,GAAG,wBAAwB;EAE3D;;;;;;;QAOa,mBAAmB,GAAG,oDAAoD;EAEvF;;;;;;;;QAQa,oBAAoB,GAChC,qIAAqI;EAEtI;;;;;QAKa,sBAAsB,GAAG,qGAAqG;EAE3I;;;;;;;QAOa,UAAU,GAAG,+DAA+D;EAEzF;;;;;QAKa,oBAAoB,GAAG,0BAA0B;EAE9D;;;;;;;;QAQa,8BAA8B,GAAG,kDAAkD;EAEhG;;;;;QAKa,YAAY,GAAG,eAAe;EAE3C;;;;;;;QAOa,gBAAgB,GAC5B,sJAAsJ;EAEvJ;;;;;;QAMa,iBAAiB,GAAG,wBAAwB;EAEzD;;;;;;;;;QASa,2BAA2B,GAAG,kDAAkD;EAE7F;;;;;QAKa,gBAAgB,GAAG,yBAAyB;EAEzD;;;;;QAKa,cAAc,GAAG,qBAAqB;EAEnD;;;;QAIa,YAAY,GAAGA,SAAa;EAEzC;;;;;QAKa,wBAAwB,GAAG,0BAA0B;EAElE;;;;;QAKa,iBAAiB,GAAG,aAAa;EAE9C;;;;;;;;QAQa,YAAY,GAAG;;EC5I5B;;;QAGa,aAAa,GAAG;;;;MAI5B,wBAAwB,EAAE,IAAI;;;;MAI9B,iBAAiB,EAAE,GAAG;;;;MAItB,4BAA4B,EAAE,EAAE;IACtB;EAEX;;;QAGa,WAAW,GAAG;;;;MAI1B,uBAAuB,EAAE,GAAG;;;;MAK5B,wBAAwB,EAAE,IAAI;;;;MAK9B,sBAAsB,EAAE,GAAG;;;;MAK3B,aAAa,EAAE,EAAE;;;;MAKjB,uBAAuB,EAAE,IAAI;;;;MAK7B,mBAAmB,EAAE,IAAI;;;;MAKzB,kBAAkB,EAAE,GAAG;;;;MAKvB,sBAAsB,EAAE,IAAI;IAClB;EAEX;;;QAGa,WAAW,GAAG;;;;MAI1B,sBAAsB,EAAE,EAAE;IAChB;EAEX;;;QAGa,WAAW,GAAG;;;;MAI1B,eAAe,EAAE,GAAG;;;;MAIpB,YAAY,EAAE,GAAG;IACP;EAEX;;;QAGa,iBAAiB,GAAG;;;;MAIhC,wBAAwB,EAAE,EAAE;IAClB;EAEX;;;QAGa,aAAa,GAAG;;;;MAI5B,aAAa,EAAE,EAAE;;;;MAKjB,aAAa,EAAE,IAAI;;;;MAKnB,kBAAkB,EAAE,IAAI;IACd;EAEX;;;QAGa,UAAU,GAAG;;;;MAIzB,iBAAiB,EAAE,GAAG;IACZ;EAEX;;;QAGa,UAAU,GAAG;;;;MAIzB,sBAAsB,EAAE,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Namespace containing limits related to Discord channels.
3
+ */
4
+ export declare const ChannelLimits: {
5
+ /**
6
+ * Maximum characters allowed in a channel description.
7
+ */
8
+ readonly MaximumDescriptionLength: 1024;
9
+ /**
10
+ * Maximum characters allowed in a channel name.
11
+ */
12
+ readonly MaximumNameLength: 100;
13
+ /**
14
+ * Maximum viewers allowed per screen share.
15
+ */
16
+ readonly MaximumViewersPerScreenShare: 50;
17
+ };
18
+ /**
19
+ * Namespace containing limits related to Discord embeds.
20
+ */
21
+ export declare const EmbedLimits: {
22
+ /**
23
+ * Maximum characters allowed in the author field of an embed.
24
+ */
25
+ readonly MaximumAuthorNameLength: 256;
26
+ /**
27
+ * Maximum characters allowed in an embed description.
28
+ */
29
+ readonly MaximumDescriptionLength: 4096;
30
+ /**
31
+ * Maximum characters allowed in the name of a field in an embed.
32
+ */
33
+ readonly MaximumFieldNameLength: 256;
34
+ /**
35
+ * Maximum fields allowed in an embed.
36
+ */
37
+ readonly MaximumFields: 25;
38
+ /**
39
+ * Maximum characters allowed in the avlue of a field in an embed.
40
+ */
41
+ readonly MaximumFieldValueLength: 1024;
42
+ /**
43
+ * Maximum characters allowed in a footer of an embed.
44
+ */
45
+ readonly MaximumFooterLength: 2048;
46
+ /**
47
+ * Maximum characters allowed in the title of an embed.
48
+ */
49
+ readonly MaximumTitleLength: 256;
50
+ /**
51
+ * Maximum characters allowed in an embed, in total.
52
+ */
53
+ readonly MaximumTotalCharacters: 6000;
54
+ };
55
+ /**
56
+ * Namespace containing limits related to Discord emojis.
57
+ */
58
+ export declare const EmojiLimits: {
59
+ /**
60
+ * Maximum characters allowed in a custom guild emoji.
61
+ */
62
+ readonly MaximumEmojiNameLength: 32;
63
+ };
64
+ /**
65
+ * Namespace containing limits related to Discord guilds.
66
+ */
67
+ export declare const GuildLimits: {
68
+ /**
69
+ * Maximum channels allowed per guild, including category channels.
70
+ */
71
+ readonly MaximumChannels: 500;
72
+ /**
73
+ * Maximum roles allowed in a guild.
74
+ */
75
+ readonly MaximumRoles: 250;
76
+ };
77
+ /**
78
+ * Namespace containing limits related to Discord guild members.
79
+ */
80
+ export declare const GuildMemberLimits: {
81
+ /**
82
+ * Maximum characters allowed in the display name of a guild member.
83
+ */
84
+ readonly MaximumDisplayNameLength: 32;
85
+ };
86
+ /**
87
+ * Namespace containing limits related to Discord messages.
88
+ */
89
+ export declare const MessageLimits: {
90
+ /**
91
+ * Maximum embeds allowed in a single message.
92
+ */
93
+ readonly MaximumEmbeds: 10;
94
+ /**
95
+ * Maximum characters allowed in a single message for a user.
96
+ */
97
+ readonly MaximumLength: 2000;
98
+ /**
99
+ * Maximum characters allowed in a single message for a nitro user.
100
+ */
101
+ readonly MaximumNitroLength: 4000;
102
+ };
103
+ /**
104
+ * Namespace containing limits related to Discord roles.
105
+ */
106
+ export declare const RoleLimits: {
107
+ /**
108
+ * Maximum characters allowed in a role name.
109
+ */
110
+ readonly MaximumNameLength: 100;
111
+ };
112
+ /**
113
+ * Namespace containing limits related to Discord users and Direct Messages.
114
+ */
115
+ export declare const UserLimits: {
116
+ /**
117
+ * Maximum numbers of users in a DM group.
118
+ */
119
+ readonly MaximumUsersPerDMGroup: 10;
120
+ };
121
+ //# sourceMappingURL=limits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"limits.d.ts","sourceRoot":"","sources":["../../src/lib/limits.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,aAAa;IACzB;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;CAEM,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,WAAW;IACvB;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;CAEM,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,WAAW;IACvB;;OAEG;;CAEM,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,WAAW;IACvB;;OAEG;;IAEH;;OAEG;;CAEM,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,iBAAiB;IAC7B;;OAEG;;CAEM,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa;IACzB;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;CAEM,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,UAAU;IACtB;;OAEG;;CAEM,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,UAAU;IACtB;;OAEG;;CAEM,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapphire/discord-utilities",
3
- "version": "2.2.3",
3
+ "version": "2.3.0",
4
4
  "description": "Discord specific utilities for your JavaScript/TypeScript bots",
5
5
  "author": "@sapphire",
6
6
  "license": "MIT",
@@ -54,5 +54,5 @@
54
54
  "dependencies": {
55
55
  "twemoji-parser": "^13.1.0"
56
56
  },
57
- "gitHead": "4889ea35a0b081021981ff3d73e5005dd1e922ce"
57
+ "gitHead": "ee85ae25c3942ab86e08f842f6b6ce1c7a909592"
58
58
  }