@sapphire/discord-utilities 2.11.2-next.bbacb66.0 → 2.11.2

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/CHANGELOG.md CHANGED
@@ -2,6 +2,54 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ # [@sapphire/discord-utilities@2.11.2](https://github.com/sapphiredev/utilities/compare/@sapphire/discord-utilities@2.11.1...@sapphire/discord-utilities@2.11.2) - (2022-06-10)
6
+
7
+ ## 🐛 Bug Fixes
8
+
9
+ - **discord-utilities:** Fixed the export of TwemojiRegex (#376) ([3c4800d](https://github.com/sapphiredev/utilities/commit/3c4800d8cdbb5b2c7b2263fe133a75d7fa66cc84))
10
+
11
+ # [@sapphire/discord-utilities@2.11.1](https://github.com/sapphiredev/utilities/compare/@sapphire/discord-utilities@2.11.0...@sapphire/discord-utilities@2.11.1) - (2022-06-01)
12
+
13
+ ## 🐛 Bug Fixes
14
+
15
+ - **discord-utilities:** Update invite link regex (#354) ([910de28](https://github.com/sapphiredev/utilities/commit/910de28f2934f8e1ea8aa78f1e846909f14da959))
16
+ - **deps:** Update all non-major dependencies ([50cd8de](https://github.com/sapphiredev/utilities/commit/50cd8dea593b6f5ae75571209456b3421e2ca59a))
17
+
18
+ ## 📝 Documentation
19
+
20
+ - **discord-utilities:** Fix `label` typo (#356) ([dba9ad2](https://github.com/sapphiredev/utilities/commit/dba9ad2f46d433fc78e0ffe6047be8935c0e15d6))
21
+
22
+ # [@sapphire/discord-utilities@2.11.0](https://github.com/sapphiredev/utilities/compare/@sapphire/discord-utilities@2.10.3...@sapphire/discord-utilities@2.11.0) - (2022-05-21)
23
+
24
+ ## 📝 Documentation
25
+
26
+ - Add @MajesticString as a contributor ([295b3e9](https://github.com/sapphiredev/utilities/commit/295b3e9849a4b0fe64074bae02f6426378a303c3))
27
+ - Add @Mzato0001 as a contributor ([c790ef2](https://github.com/sapphiredev/utilities/commit/c790ef25df2d7e22888fa9f8169167aa555e9e19))
28
+ - **discord-utilities:** Fix changelog file ([c1b6337](https://github.com/sapphiredev/utilities/commit/c1b6337113aa07665dbf5c1aedb7f432db3f8e3b))
29
+ - Add @NotKaskus as a contributor ([00da8f1](https://github.com/sapphiredev/utilities/commit/00da8f199137b9277119823f322d1f2d168d928a))
30
+ - Add @imranbarbhuiya as a contributor ([fb674c2](https://github.com/sapphiredev/utilities/commit/fb674c2c5594d41e71662263553dcb4bac9e37f4))
31
+ - Add @axisiscool as a contributor ([ce1aa31](https://github.com/sapphiredev/utilities/commit/ce1aa316871a88d3663efbdf2a42d3d8dfe6a27f))
32
+ - Add @dhruv-kaushikk as a contributor ([ebbf43f](https://github.com/sapphiredev/utilities/commit/ebbf43f63617daba96e72c50a234bf8b64f6ddc4))
33
+ - Add @Commandtechno as a contributor ([f1d69fa](https://github.com/sapphiredev/utilities/commit/f1d69fabe1ee0abe4be08b19e63dbec03102f7ce))
34
+ - **discord-utilities:** Fix changelog format ([1114e5c](https://github.com/sapphiredev/utilities/commit/1114e5c04dae2c8311d6544750dac94aa3c34e39))
35
+ - Fix typedoc causing OOM crashes ([63ba41c](https://github.com/sapphiredev/utilities/commit/63ba41c4b6678554b1c7043a22d3296db4f59360))
36
+
37
+ ## 🚀 Features
38
+
39
+ - **discord-utilities:** Add modal limits (#355) ([f2a69ec](https://github.com/sapphiredev/utilities/commit/f2a69ec141997fa0722161b9905c9fbc8033af7a))
40
+
41
+ # [@sapphire/discord-utilities@2.10.2](https://github.com/sapphiredev/utilities/compare/@sapphire/discord-utilities@2.10.1...@sapphire/discord-utilities@2.10.2) - (2022-03-20)
42
+
43
+ ## 🐛 Bug Fixes
44
+
45
+ - **deps:** Update dependency twemoji-parser to v14 (#315) ([3a659a7](https://github.com/sapphiredev/utilities/commit/3a659a7242e397f351bbeea4be404ca81eab93d6))
46
+
47
+ # [@sapphire/discord-utilities@2.10.0](https://github.com/sapphiredev/utilities/compare/@sapphire/discord-utilities@2.9.0...@sapphire/discord-utilities@2.10.0) - (2022-03-06)
48
+
49
+ ## 🚀 Features
50
+
51
+ - Allow module: NodeNext (#306) ([9dc6dd6](https://github.com/sapphiredev/utilities/commit/9dc6dd619efab879bb2b0b3c9e64304e10a67ed6))
52
+
5
53
  # [@sapphire/discord-utilities@2.11.1](https://github.com/sapphiredev/utilities/compare/@sapphire/discord-utilities@2.11.0...@sapphire/discord-utilities@2.11.1) - (2022-06-01)
6
54
 
7
55
  ## 🐛 Bug Fixes
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
- export * from './lib/regexes';
2
1
  export * from './lib/limits';
2
+ export * from './lib/regexes';
3
+ export * from './lib/TwemojiRegex';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1,13 +1,8 @@
1
1
  var SapphireDiscordUtilities = (() => {
2
- var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __commonJS = (cb, mod) => function __require() {
9
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
10
- };
11
6
  var __export = (target, all) => {
12
7
  for (var name in all)
13
8
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -20,20 +15,8 @@ var SapphireDiscordUtilities = (() => {
20
15
  }
21
16
  return to;
22
17
  };
23
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
24
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
19
 
26
- // ../../node_modules/twemoji-parser/dist/lib/regex.js
27
- var require_regex = __commonJS({
28
- "../../node_modules/twemoji-parser/dist/lib/regex.js"(exports) {
29
- "use strict";
30
- Object.defineProperty(exports, "__esModule", {
31
- value: true
32
- });
33
- exports.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]|\ud83e\udef1\ud83c\udffb\u200d\ud83e\udef2\ud83c[\udffc-\udfff]|\ud83e\udef1\ud83c\udffc\u200d\ud83e\udef2\ud83c[\udffb\udffd-\udfff]|\ud83e\udef1\ud83c\udffd\u200d\ud83e\udef2\ud83c[\udffb\udffc\udffe\udfff]|\ud83e\udef1\ud83c\udffe\u200d\ud83e\udef2\ud83c[\udffb-\udffd\udfff]|\ud83e\udef1\ud83c\udfff\u200d\ud83e\udef2\ud83c[\udffb-\udffe]|\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]|\ud83e\udd1d\ud83c[\udffb-\udfff]|\ud83d[\udc6b-\udc6d\udc8f\udc91]|\ud83e\udd1d)|(?:\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\udec3-\udec5\udef0-\udef6]|[\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\udedd-\udedf\udeeb\udeec\udef4-\udefc\udfe0-\udfeb\udff0]|\ud83e[\udd0d\udd0e\udd10-\udd17\udd20-\udd25\udd27-\udd2f\udd3a\udd3c\udd3f-\udd45\udd47-\udd76\udd78-\uddb4\uddb7\uddba\uddbc-\uddcc\uddd0\uddde-\uddff\ude70-\ude74\ude78-\ude7c\ude80-\ude86\ude90-\udeac\udeb0-\udeba\udec0-\udec2\uded0-\uded9\udee0-\udee7]|[\u23e9-\u23ec\u23f0\u23f3\u267e\u26ce\u2705\u2728\u274c\u274e\u2753-\u2755\u2795-\u2797\u27b0\u27bf\ue50a])|\ufe0f/g;
34
- }
35
- });
36
-
37
20
  // src/index.ts
38
21
  var src_exports = {};
39
22
  __export(src_exports, {
@@ -74,27 +57,6 @@ var SapphireDiscordUtilities = (() => {
74
57
  WebhookRegex: () => WebhookRegex
75
58
  });
76
59
 
77
- // src/lib/regexes.ts
78
- var import_regex = __toESM(require_regex());
79
- var ChannelMentionRegex = /^<#(?<id>\d{17,19})>$/;
80
- var ChannelMessageRegex = /^(?<channelId>\d{17,19})-(?<messageId>\d{17,19})$/;
81
- var DiscordHostnameRegex = /(?<subdomain>\w+)\.?(?<hostname>dis(?:cord)?(?:app|merch|status)?)\.(?<tld>com|g(?:d|g|ift)|(?:de(?:sign|v))|media|new|store|net)/i;
82
- var DiscordInviteLinkRegex = /(?:^|\b)discord(?:(?:app)?\.com\/invite|\.gg(?:\/invite)?)\/(?<code>[\w-]{2,255})(?:$|\b)/gi;
83
- var EmojiRegex = /^(?:<(?<animated>a)?:(?<name>\w{2,32}):)?(?<id>\d{17,21})>?$/;
84
- var FormattedCustomEmoji = /<a?:\w{2,32}:\d{17,18}>/;
85
- var FormattedCustomEmojiWithGroups = /(?<animated>a?):(?<name>[^:]+):(?<id>\d{17,19})/;
86
- var HttpUrlRegex = /^https?:\/\//;
87
- var MessageLinkRegex = /^(?:https:\/\/)?(?:ptb\.|canary\.)?discord(?:app)?\.com\/channels\/(?<guildId>(?:\d{17,19}|@me))\/(?<channelId>\d{17,19})\/(?<messageId>\d{17,19})$/;
88
- var ParsedCustomEmoji = /a?:\w{2,32}:\d{17,18}/;
89
- var ParsedCustomEmojiWithGroups = /(?<animated>a?):(?<name>[^:]+):(?<id>\d{17,19})/;
90
- var RoleMentionRegex = /^<@&(?<id>\d{17,19})>$/;
91
- var SnowflakeRegex = /^(?<id>\d{17,19})$/;
92
- var TokenRegex = /(?<mfaToken>mfa\.[a-z0-9_-]{20,})|(?<basicToken>[a-z0-9_-]{23,28}\.[a-z0-9_-]{6,7}\.[a-z0-9_-]{27})/i;
93
- var TwemojiRegex = import_regex.default;
94
- var UserOrMemberMentionRegex = /^<@!?(?<id>\d{17,19})>$/;
95
- var WebSocketUrlRegex = /^wss?:\/\//;
96
- var WebhookRegex = /(?<url>^https:\/\/(?:(?:canary|ptb).)?discord(?:app)?.com\/api(?:\/v\d+)?\/webhooks\/(?<id>\d+)\/(?<token>[\w-]+)\/?$)/;
97
-
98
60
  // src/lib/limits.ts
99
61
  var ChannelLimits = {
100
62
  MaximumDescriptionLength: 1024,
@@ -184,6 +146,28 @@ var SapphireDiscordUtilities = (() => {
184
146
  MaximumPlaceholderCharacters: 100,
185
147
  MaximumValueCharacters: 4e3
186
148
  };
149
+
150
+ // src/lib/regexes.ts
151
+ var ChannelMentionRegex = /^<#(?<id>\d{17,19})>$/;
152
+ var ChannelMessageRegex = /^(?<channelId>\d{17,19})-(?<messageId>\d{17,19})$/;
153
+ var DiscordHostnameRegex = /(?<subdomain>\w+)\.?(?<hostname>dis(?:cord)?(?:app|merch|status)?)\.(?<tld>com|g(?:d|g|ift)|(?:de(?:sign|v))|media|new|store|net)/i;
154
+ var DiscordInviteLinkRegex = /(?:^|\b)discord(?:(?:app)?\.com\/invite|\.gg(?:\/invite)?)\/(?<code>[\w-]{2,255})(?:$|\b)/gi;
155
+ var EmojiRegex = /^(?:<(?<animated>a)?:(?<name>\w{2,32}):)?(?<id>\d{17,21})>?$/;
156
+ var FormattedCustomEmoji = /<a?:\w{2,32}:\d{17,18}>/;
157
+ var FormattedCustomEmojiWithGroups = /(?<animated>a?):(?<name>[^:]+):(?<id>\d{17,19})/;
158
+ var HttpUrlRegex = /^https?:\/\//;
159
+ var MessageLinkRegex = /^(?:https:\/\/)?(?:ptb\.|canary\.)?discord(?:app)?\.com\/channels\/(?<guildId>(?:\d{17,19}|@me))\/(?<channelId>\d{17,19})\/(?<messageId>\d{17,19})$/;
160
+ var ParsedCustomEmoji = /a?:\w{2,32}:\d{17,18}/;
161
+ var ParsedCustomEmojiWithGroups = /(?<animated>a?):(?<name>[^:]+):(?<id>\d{17,19})/;
162
+ var RoleMentionRegex = /^<@&(?<id>\d{17,19})>$/;
163
+ var SnowflakeRegex = /^(?<id>\d{17,19})$/;
164
+ var TokenRegex = /(?<mfaToken>mfa\.[a-z0-9_-]{20,})|(?<basicToken>[a-z0-9_-]{23,28}\.[a-z0-9_-]{6,7}\.[a-z0-9_-]{27})/i;
165
+ var UserOrMemberMentionRegex = /^<@!?(?<id>\d{17,19})>$/;
166
+ var WebSocketUrlRegex = /^wss?:\/\//;
167
+ var WebhookRegex = /(?<url>^https:\/\/(?:(?:canary|ptb).)?discord(?:app)?.com\/api(?:\/v\d+)?\/webhooks\/(?<id>\d+)\/(?<token>[\w-]+)\/?$)/;
168
+
169
+ // src/lib/TwemojiRegex.ts
170
+ var TwemojiRegex = /(?:\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]|\ud83e\udef1\ud83c\udffb\u200d\ud83e\udef2\ud83c[\udffc-\udfff]|\ud83e\udef1\ud83c\udffc\u200d\ud83e\udef2\ud83c[\udffb\udffd-\udfff]|\ud83e\udef1\ud83c\udffd\u200d\ud83e\udef2\ud83c[\udffb\udffc\udffe\udfff]|\ud83e\udef1\ud83c\udffe\u200d\ud83e\udef2\ud83c[\udffb-\udffd\udfff]|\ud83e\udef1\ud83c\udfff\u200d\ud83e\udef2\ud83c[\udffb-\udffe]|\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]|\ud83e\udd1d\ud83c[\udffb-\udfff]|\ud83d[\udc6b-\udc6d\udc8f\udc91]|\ud83e\udd1d)|(?:\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\udec3-\udec5\udef0-\udef6]|[\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\udedd-\udedf\udeeb\udeec\udef4-\udefc\udfe0-\udfeb\udff0]|\ud83e[\udd0d\udd0e\udd10-\udd17\udd20-\udd25\udd27-\udd2f\udd3a\udd3c\udd3f-\udd45\udd47-\udd76\udd78-\uddb4\uddb7\uddba\uddbc-\uddcc\uddd0\uddde-\uddff\ude70-\ude74\ude78-\ude7c\ude80-\ude86\ude90-\udeac\udeb0-\udeba\udec0-\udec2\uded0-\uded9\udee0-\udee7]|[\u23e9-\u23ec\u23f0\u23f3\u267e\u26ce\u2705\u2728\u274c\u274e\u2753-\u2755\u2795-\u2797\u27b0\u27bf\ue50a])|\ufe0f/g;
187
171
  return __toCommonJS(src_exports);
188
172
  })();
189
173
  //# sourceMappingURL=index.global.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/twemoji-parser/dist/lib/regex.js","../src/index.ts","../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]|\\ud83e\\udef1\\ud83c\\udffb\\u200d\\ud83e\\udef2\\ud83c[\\udffc-\\udfff]|\\ud83e\\udef1\\ud83c\\udffc\\u200d\\ud83e\\udef2\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83e\\udef1\\ud83c\\udffd\\u200d\\ud83e\\udef2\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83e\\udef1\\ud83c\\udffe\\u200d\\ud83e\\udef2\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83e\\udef1\\ud83c\\udfff\\u200d\\ud83e\\udef2\\ud83c[\\udffb-\\udffe]|\\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]|\\ud83e\\udd1d\\ud83c[\\udffb-\\udfff]|\\ud83d[\\udc6b-\\udc6d\\udc8f\\udc91]|\\ud83e\\udd1d)|(?:\\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\\udec3-\\udec5\\udef0-\\udef6]|[\\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\\udedd-\\udedf\\udeeb\\udeec\\udef4-\\udefc\\udfe0-\\udfeb\\udff0]|\\ud83e[\\udd0d\\udd0e\\udd10-\\udd17\\udd20-\\udd25\\udd27-\\udd2f\\udd3a\\udd3c\\udd3f-\\udd45\\udd47-\\udd76\\udd78-\\uddb4\\uddb7\\uddba\\uddbc-\\uddcc\\uddd0\\uddde-\\uddff\\ude70-\\ude74\\ude78-\\ude7c\\ude80-\\ude86\\ude90-\\udeac\\udeb0-\\udeba\\udec0-\\udec2\\uded0-\\uded9\\udee0-\\udee7]|[\\u23e9-\\u23ec\\u23f0\\u23f3\\u267e\\u26ce\\u2705\\u2728\\u274c\\u274e\\u2753-\\u2755\\u2795-\\u2797\\u27b0\\u27bf\\ue50a])|\\ufe0f/g;","export * from './lib/regexes';\nexport * from './lib/limits';\n","import twemojiRegex from 'twemoji-parser/dist/lib/regex.js';\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 `/(?:^|\\b)discord(?:(?:app)?\\.com\\/invite|\\.gg(?:\\/invite)?)\\/(?<code>[\\w-]{2,255})(?:$|\\b)/gi`\n * @remark Capture group 1 is the invite URL's unique code. It is named `code`.\n */\nexport const DiscordInviteLinkRegex = /(?:^|\\b)discord(?:(?:app)?\\.com\\/invite|\\.gg(?:\\/invite)?)\\/(?<code>[\\w-]{2,255})(?:$|\\b)/gi;\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 Discord Token\n * @raw `/(?<mfaToken>mfa\\.[a-z0-9_-]{20,})|(?<basicToken>[a-z0-9_-]{23,28}\\.[a-z0-9_-]{6,7}\\.[a-z0-9_-]{27})/i`\n * @remark Capture group 1 can be used to retrieve a token for a User that has Multi-Factor Authentication enabled. It is named `mfaToken`.\n * @remark Capture group 2 can be used to retrieve a token for a User that doesn't have Multi-Factor Authentication enabled, or a Bot application. It is named `basicToken`.\n * @remark For a valid token, either Capture group 1 or Capture group 2 will always be undefined, whereas the other group will then be defined and\n * contain the matched token.\n * You can use the name of the capture group to determine if the validated token was configured for a user with Multi-Factor Authentication, for a user without Multi-Factor Authentication, or for a bot application.\n * If both capture groups are undefined, then the token is invalid.\n */\nexport const TokenRegex = /(?<mfaToken>mfa\\.[a-z0-9_-]{20,})|(?<basicToken>[a-z0-9_-]{23,28}\\.[a-z0-9_-]{6,7}\\.[a-z0-9_-]{27})/i;\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).)?discord(?:app)?.com\\/api(?:\\/v\\d+)?\\/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\n\t/**\n\t * Maximum characters allowed in a channel name.\n\t */\n\tMaximumNameLength: 100,\n\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\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 interactions.\n */\nexport const InteractionLimits = {\n\t/**\n\t * Maximum buttons allowed in a single action row.\n\t */\n\tMaximumButtonsPerActionRow: 5,\n\n\t/**\n\t * Maximum select menus allowed in a single action row.\n\t */\n\tMaximumSelectMenusPerActionRow: 1,\n\n\t/**\n\t * Maximum text inputs allowed in a single action row.\n\t */\n\tMaximumTextInputsPerActionRow: 1,\n\n\t/**\n\t * Maximum options allowed in a single select menu.\n\t */\n\tMaximumOptionsInSelectMenus: 25\n} as const;\n\n/**\n * Namespace containing limits related to Discord application commands (slash commands).\n */\nexport const ApplicationCommandLimits = {\n\t/**\n\t * Maximum characters allowed in an application command name.\n\t */\n\tMaximumNameCharacters: 32,\n\n\t/**\n\t * Maximum characters allowed in an application command description.\n\t */\n\tMaximumDescriptionCharacters: 100,\n\n\t/**\n\t * Maximum options allowed in an application command.\n\t */\n\tMaximumOptionsLength: 25\n} as const;\n\n/**\n * Namespace containing limits related to Choices of Discord Application Commands.\n */\nexport const ApplicationCommandOptionLimits = {\n\t/**\n\t * Maximum characters allowed in the name of an option of an application command.\n\t */\n\tMaximumNameCharacters: 32,\n\n\t/**\n\t * Maximum characters allowed in the description of an option of an application command.\n\t */\n\tMaximumDescriptionCharacters: 100,\n\n\t/**\n\t * Maximum length of choices allowed in the option of an application command.\n\t */\n\tMaximumChoicesLength: 25\n} as const;\n\n/**\n * Namespace containing limits related to Message Buttons.\n */\nexport const ButtonLimits = {\n\t/**\n\t * Maximum characters allowed in a button label.\n\t */\n\tMaximumLabelCharacters: 80,\n\n\t/**\n\t * Maximum characters allowed in a button custom ID.\n\t */\n\tMaximumCustomIdCharacters: 100\n} as const;\n\n/**\n * Namespace containing limits related to Select Menus.\n */\nexport const SelectMenuLimits = {\n\t/**\n\t * Maximum characters allowed in a select menu custom ID.\n\t */\n\tMaximumCustomIdCharacters: 100,\n\n\t/**\n\t * Maximum amount of options allowed in a select menu.\n\t */\n\tMaximumOptionsLength: 25,\n\n\t/**\n\t * Maximum characters allowed in a select menu placeholder.\n\t */\n\tMaximumPlaceholderCharacters: 100,\n\n\t/**\n\t * Maximum \"minimum\" values allowed in a select menu.\n\t */\n\tMaximumMinValuesSize: 25,\n\n\t/**\n\t * Maximum \"maximum\" values allowed in a select menu.\n\t */\n\tMaximumMaxValuesSize: 25,\n\n\t/**\n\t * Maximum characters allowed in a select menu option's name.\n\t */\n\tMaximumLengthOfNameOfOption: 100\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 action rows allowed in a single message.\n\t */\n\tMaximumActionRows: 5,\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\n\t/**\n\t * Maximum numbers of reactions allowed for a message.\n\t */\n\tMaximumReactions: 20,\n\n\t/**\n\t * Maximum upload size for a free user in a guild of tier 1 or below, or in DMs.\n\t * Size is in bytes, and correspond to 8MB.\n\t */\n\tMaximumUploadSize: 8_000_000,\n\n\t/**\n\t * Maximum upload size for a nitro user, in any guild or in DMs.\n\t * Size is in bytes, and correspond to 10MB.\n\t */\n\tMaximumNitroUploadSize: 100_000_000,\n\n\t/**\n\t * Maximum upload size for a free user for all different boost levels available in a guild.\n\t * Sizes are in bytes, and correspond to 8MB, 8MB, 50MB, and 100MB.\n\t */\n\tMaximumUploadSizeInGuild: [8_000_000, 8_000_000, 50_000_000, 100_000_000]\n} as const;\n\n/**\n * Namespace containing limits related to built-in moderation features.\n */\nexport const ModerationLimits = {\n\t/**\n\t * Maximum duration of a guild timeout, in seconds (corresponds to 28 days).\n\t */\n\tMaximumTimeoutDuration: 2_419_200\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\n\t/**\n\t * Maximum characters allowed in a user's biography (the \"About Me\" section).\n\t */\n\tMaximumBiographyLength: 190\n} as const;\n\n/**\n * Namespace container limits related to Discord autocomplete interactions.\n */\nexport const AutoCompleteLimits = {\n\t/**\n\t * Maximum options allowed in a single autocomplete response.\n\t */\n\tMaximumAmountOfOptions: 20,\n\n\t/**\n\t * Maximum characters allowed in a select menu option's name.\n\t */\n\tMaximumLengthOfNameOfOption: 100\n} as const;\n\n/**\n * Namespace containing limits related to Discord Modals.\n */\nexport const ModalLimits = {\n\t/**\n\t * Maximum characters allowed in a modal custom ID.\n\t */\n\tMaximumCustomIdCharacters: 100,\n\n\t/**\n\t * Maximum characters allowed in a modal title.\n\t */\n\tMaximumTitleCharacters: 45,\n\n\t/**\n\t * Maximum components allowed in a modal.\n\t */\n\tMaximumComponents: 5\n} as const;\n\n/**\n * Namespace containing limits related to Discord Modal Text Input component.\n */\nexport const TextInputLimits = {\n\t/**\n\t * Maximum characters allowed in a text input custom ID.\n\t */\n\tMaximumCustomIdCharacters: 100,\n\n\t/**\n\t * Maximum characters allowed in a text input label.\n\t */\n\tMaximumLabelCharacters: 45,\n\n\t/**\n\t * Maximum characters allowed in a text input placeholder.\n\t */\n\tMaximumPlaceholderCharacters: 100,\n\n\t/**\n\t * Maximum characters allowed in a text input value.\n\t */\n\tMaximumValueCharacters: 4000\n} as const;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAEA,aAAO,eAAe,SAAS,cAAc;AAAA,QAC3C,OAAO;AAAA,MACT,CAAC;AAKD,cAAQ,UAAU;AAAA;AAAA;;;ACTlB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,qBAAyB;AAOlB,MAAM,sBAAsB;AAS5B,MAAM,sBAAsB;AAU5B,MAAM,uBACZ;AAOM,MAAM,yBAAyB;AAS/B,MAAM,aAAa;AAOnB,MAAM,uBAAuB;AAU7B,MAAM,iCAAiC;AAOvC,MAAM,eAAe;AASrB,MAAM,mBACZ;AAQM,MAAM,oBAAoB;AAW1B,MAAM,8BAA8B;AAOpC,MAAM,mBAAmB;AAOzB,MAAM,iBAAiB;AAYvB,MAAM,aAAa;AAMnB,MAAM,eAAe;AAOrB,MAAM,2BAA2B;AAOjC,MAAM,oBAAoB;AAU1B,MAAM,eAAe;;;ACrJrB,MAAM,gBAAgB;AAAA,IAI5B,0BAA0B;AAAA,IAK1B,mBAAmB;AAAA,IAKnB,8BAA8B;AAAA,EAC/B;AAKO,MAAM,cAAc;AAAA,IAI1B,yBAAyB;AAAA,IAKzB,0BAA0B;AAAA,IAK1B,wBAAwB;AAAA,IAKxB,eAAe;AAAA,IAKf,yBAAyB;AAAA,IAKzB,qBAAqB;AAAA,IAKrB,oBAAoB;AAAA,IAKpB,wBAAwB;AAAA,EACzB;AAKO,MAAM,cAAc;AAAA,IAI1B,wBAAwB;AAAA,EACzB;AAKO,MAAM,cAAc;AAAA,IAI1B,iBAAiB;AAAA,IAKjB,cAAc;AAAA,EACf;AAKO,MAAM,oBAAoB;AAAA,IAIhC,0BAA0B;AAAA,EAC3B;AAKO,MAAM,oBAAoB;AAAA,IAIhC,4BAA4B;AAAA,IAK5B,gCAAgC;AAAA,IAKhC,+BAA+B;AAAA,IAK/B,6BAA6B;AAAA,EAC9B;AAKO,MAAM,2BAA2B;AAAA,IAIvC,uBAAuB;AAAA,IAKvB,8BAA8B;AAAA,IAK9B,sBAAsB;AAAA,EACvB;AAKO,MAAM,iCAAiC;AAAA,IAI7C,uBAAuB;AAAA,IAKvB,8BAA8B;AAAA,IAK9B,sBAAsB;AAAA,EACvB;AAKO,MAAM,eAAe;AAAA,IAI3B,wBAAwB;AAAA,IAKxB,2BAA2B;AAAA,EAC5B;AAKO,MAAM,mBAAmB;AAAA,IAI/B,2BAA2B;AAAA,IAK3B,sBAAsB;AAAA,IAKtB,8BAA8B;AAAA,IAK9B,sBAAsB;AAAA,IAKtB,sBAAsB;AAAA,IAKtB,6BAA6B;AAAA,EAC9B;AAKO,MAAM,gBAAgB;AAAA,IAI5B,eAAe;AAAA,IAKf,mBAAmB;AAAA,IAKnB,eAAe;AAAA,IAKf,oBAAoB;AAAA,IAKpB,kBAAkB;AAAA,IAMlB,mBAAmB;AAAA,IAMnB,wBAAwB;AAAA,IAMxB,0BAA0B,CAAC,KAAW,KAAW,KAAY,GAAW;AAAA,EACzE;AAKO,MAAM,mBAAmB;AAAA,IAI/B,wBAAwB;AAAA,EACzB;AAKO,MAAM,aAAa;AAAA,IAIzB,mBAAmB;AAAA,EACpB;AAKO,MAAM,aAAa;AAAA,IAIzB,wBAAwB;AAAA,IAKxB,wBAAwB;AAAA,EACzB;AAKO,MAAM,qBAAqB;AAAA,IAIjC,wBAAwB;AAAA,IAKxB,6BAA6B;AAAA,EAC9B;AAKO,MAAM,cAAc;AAAA,IAI1B,2BAA2B;AAAA,IAK3B,wBAAwB;AAAA,IAKxB,mBAAmB;AAAA,EACpB;AAKO,MAAM,kBAAkB;AAAA,IAI9B,2BAA2B;AAAA,IAK3B,wBAAwB;AAAA,IAKxB,8BAA8B;AAAA,IAK9B,wBAAwB;AAAA,EACzB;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts","../src/lib/limits.ts","../src/lib/regexes.ts","../src/lib/TwemojiRegex.ts"],"sourcesContent":["export * from './lib/limits';\nexport * from './lib/regexes';\nexport * from './lib/TwemojiRegex';\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\n\t/**\n\t * Maximum characters allowed in a channel name.\n\t */\n\tMaximumNameLength: 100,\n\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\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 interactions.\n */\nexport const InteractionLimits = {\n\t/**\n\t * Maximum buttons allowed in a single action row.\n\t */\n\tMaximumButtonsPerActionRow: 5,\n\n\t/**\n\t * Maximum select menus allowed in a single action row.\n\t */\n\tMaximumSelectMenusPerActionRow: 1,\n\n\t/**\n\t * Maximum text inputs allowed in a single action row.\n\t */\n\tMaximumTextInputsPerActionRow: 1,\n\n\t/**\n\t * Maximum options allowed in a single select menu.\n\t */\n\tMaximumOptionsInSelectMenus: 25\n} as const;\n\n/**\n * Namespace containing limits related to Discord application commands (slash commands).\n */\nexport const ApplicationCommandLimits = {\n\t/**\n\t * Maximum characters allowed in an application command name.\n\t */\n\tMaximumNameCharacters: 32,\n\n\t/**\n\t * Maximum characters allowed in an application command description.\n\t */\n\tMaximumDescriptionCharacters: 100,\n\n\t/**\n\t * Maximum options allowed in an application command.\n\t */\n\tMaximumOptionsLength: 25\n} as const;\n\n/**\n * Namespace containing limits related to Choices of Discord Application Commands.\n */\nexport const ApplicationCommandOptionLimits = {\n\t/**\n\t * Maximum characters allowed in the name of an option of an application command.\n\t */\n\tMaximumNameCharacters: 32,\n\n\t/**\n\t * Maximum characters allowed in the description of an option of an application command.\n\t */\n\tMaximumDescriptionCharacters: 100,\n\n\t/**\n\t * Maximum length of choices allowed in the option of an application command.\n\t */\n\tMaximumChoicesLength: 25\n} as const;\n\n/**\n * Namespace containing limits related to Message Buttons.\n */\nexport const ButtonLimits = {\n\t/**\n\t * Maximum characters allowed in a button label.\n\t */\n\tMaximumLabelCharacters: 80,\n\n\t/**\n\t * Maximum characters allowed in a button custom ID.\n\t */\n\tMaximumCustomIdCharacters: 100\n} as const;\n\n/**\n * Namespace containing limits related to Select Menus.\n */\nexport const SelectMenuLimits = {\n\t/**\n\t * Maximum characters allowed in a select menu custom ID.\n\t */\n\tMaximumCustomIdCharacters: 100,\n\n\t/**\n\t * Maximum amount of options allowed in a select menu.\n\t */\n\tMaximumOptionsLength: 25,\n\n\t/**\n\t * Maximum characters allowed in a select menu placeholder.\n\t */\n\tMaximumPlaceholderCharacters: 100,\n\n\t/**\n\t * Maximum \"minimum\" values allowed in a select menu.\n\t */\n\tMaximumMinValuesSize: 25,\n\n\t/**\n\t * Maximum \"maximum\" values allowed in a select menu.\n\t */\n\tMaximumMaxValuesSize: 25,\n\n\t/**\n\t * Maximum characters allowed in a select menu option's name.\n\t */\n\tMaximumLengthOfNameOfOption: 100\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 action rows allowed in a single message.\n\t */\n\tMaximumActionRows: 5,\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\n\t/**\n\t * Maximum numbers of reactions allowed for a message.\n\t */\n\tMaximumReactions: 20,\n\n\t/**\n\t * Maximum upload size for a free user in a guild of tier 1 or below, or in DMs.\n\t * Size is in bytes, and correspond to 8MB.\n\t */\n\tMaximumUploadSize: 8_000_000,\n\n\t/**\n\t * Maximum upload size for a nitro user, in any guild or in DMs.\n\t * Size is in bytes, and correspond to 10MB.\n\t */\n\tMaximumNitroUploadSize: 100_000_000,\n\n\t/**\n\t * Maximum upload size for a free user for all different boost levels available in a guild.\n\t * Sizes are in bytes, and correspond to 8MB, 8MB, 50MB, and 100MB.\n\t */\n\tMaximumUploadSizeInGuild: [8_000_000, 8_000_000, 50_000_000, 100_000_000]\n} as const;\n\n/**\n * Namespace containing limits related to built-in moderation features.\n */\nexport const ModerationLimits = {\n\t/**\n\t * Maximum duration of a guild timeout, in seconds (corresponds to 28 days).\n\t */\n\tMaximumTimeoutDuration: 2_419_200\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\n\t/**\n\t * Maximum characters allowed in a user's biography (the \"About Me\" section).\n\t */\n\tMaximumBiographyLength: 190\n} as const;\n\n/**\n * Namespace container limits related to Discord autocomplete interactions.\n */\nexport const AutoCompleteLimits = {\n\t/**\n\t * Maximum options allowed in a single autocomplete response.\n\t */\n\tMaximumAmountOfOptions: 20,\n\n\t/**\n\t * Maximum characters allowed in a select menu option's name.\n\t */\n\tMaximumLengthOfNameOfOption: 100\n} as const;\n\n/**\n * Namespace containing limits related to Discord Modals.\n */\nexport const ModalLimits = {\n\t/**\n\t * Maximum characters allowed in a modal custom ID.\n\t */\n\tMaximumCustomIdCharacters: 100,\n\n\t/**\n\t * Maximum characters allowed in a modal title.\n\t */\n\tMaximumTitleCharacters: 45,\n\n\t/**\n\t * Maximum components allowed in a modal.\n\t */\n\tMaximumComponents: 5\n} as const;\n\n/**\n * Namespace containing limits related to Discord Modal Text Input component.\n */\nexport const TextInputLimits = {\n\t/**\n\t * Maximum characters allowed in a text input custom ID.\n\t */\n\tMaximumCustomIdCharacters: 100,\n\n\t/**\n\t * Maximum characters allowed in a text input label.\n\t */\n\tMaximumLabelCharacters: 45,\n\n\t/**\n\t * Maximum characters allowed in a text input placeholder.\n\t */\n\tMaximumPlaceholderCharacters: 100,\n\n\t/**\n\t * Maximum characters allowed in a text input value.\n\t */\n\tMaximumValueCharacters: 4000\n} as const;\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 `/(?:^|\\b)discord(?:(?:app)?\\.com\\/invite|\\.gg(?:\\/invite)?)\\/(?<code>[\\w-]{2,255})(?:$|\\b)/gi`\n * @remark Capture group 1 is the invite URL's unique code. It is named `code`.\n */\nexport const DiscordInviteLinkRegex = /(?:^|\\b)discord(?:(?:app)?\\.com\\/invite|\\.gg(?:\\/invite)?)\\/(?<code>[\\w-]{2,255})(?:$|\\b)/gi;\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 Discord Token\n * @raw `/(?<mfaToken>mfa\\.[a-z0-9_-]{20,})|(?<basicToken>[a-z0-9_-]{23,28}\\.[a-z0-9_-]{6,7}\\.[a-z0-9_-]{27})/i`\n * @remark Capture group 1 can be used to retrieve a token for a User that has Multi-Factor Authentication enabled. It is named `mfaToken`.\n * @remark Capture group 2 can be used to retrieve a token for a User that doesn't have Multi-Factor Authentication enabled, or a Bot application. It is named `basicToken`.\n * @remark For a valid token, either Capture group 1 or Capture group 2 will always be undefined, whereas the other group will then be defined and\n * contain the matched token.\n * You can use the name of the capture group to determine if the validated token was configured for a user with Multi-Factor Authentication, for a user without Multi-Factor Authentication, or for a bot application.\n * If both capture groups are undefined, then the token is invalid.\n */\nexport const TokenRegex = /(?<mfaToken>mfa\\.[a-z0-9_-]{20,})|(?<basicToken>[a-z0-9_-]{23,28}\\.[a-z0-9_-]{6,7}\\.[a-z0-9_-]{27})/i;\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).)?discord(?:app)?.com\\/api(?:\\/v\\d+)?\\/webhooks\\/(?<id>\\d+)\\/(?<token>[\\w-]+)\\/?$)/;\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 =\n\t/(?:\\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]|\\ud83e\\udef1\\ud83c\\udffb\\u200d\\ud83e\\udef2\\ud83c[\\udffc-\\udfff]|\\ud83e\\udef1\\ud83c\\udffc\\u200d\\ud83e\\udef2\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83e\\udef1\\ud83c\\udffd\\u200d\\ud83e\\udef2\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83e\\udef1\\ud83c\\udffe\\u200d\\ud83e\\udef2\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83e\\udef1\\ud83c\\udfff\\u200d\\ud83e\\udef2\\ud83c[\\udffb-\\udffe]|\\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]|\\ud83e\\udd1d\\ud83c[\\udffb-\\udfff]|\\ud83d[\\udc6b-\\udc6d\\udc8f\\udc91]|\\ud83e\\udd1d)|(?:\\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\\udec3-\\udec5\\udef0-\\udef6]|[\\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\\udedd-\\udedf\\udeeb\\udeec\\udef4-\\udefc\\udfe0-\\udfeb\\udff0]|\\ud83e[\\udd0d\\udd0e\\udd10-\\udd17\\udd20-\\udd25\\udd27-\\udd2f\\udd3a\\udd3c\\udd3f-\\udd45\\udd47-\\udd76\\udd78-\\uddb4\\uddb7\\uddba\\uddbc-\\uddcc\\uddd0\\uddde-\\uddff\\ude70-\\ude74\\ude78-\\ude7c\\ude80-\\ude86\\ude90-\\udeac\\udeb0-\\udeba\\udec0-\\udec2\\uded0-\\uded9\\udee0-\\udee7]|[\\u23e9-\\u23ec\\u23f0\\u23f3\\u267e\\u26ce\\u2705\\u2728\\u274c\\u274e\\u2753-\\u2755\\u2795-\\u2797\\u27b0\\u27bf\\ue50a])|\\ufe0f/g;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACGO,MAAM,gBAAgB;AAAA,IAI5B,0BAA0B;AAAA,IAK1B,mBAAmB;AAAA,IAKnB,8BAA8B;AAAA,EAC/B;AAKO,MAAM,cAAc;AAAA,IAI1B,yBAAyB;AAAA,IAKzB,0BAA0B;AAAA,IAK1B,wBAAwB;AAAA,IAKxB,eAAe;AAAA,IAKf,yBAAyB;AAAA,IAKzB,qBAAqB;AAAA,IAKrB,oBAAoB;AAAA,IAKpB,wBAAwB;AAAA,EACzB;AAKO,MAAM,cAAc;AAAA,IAI1B,wBAAwB;AAAA,EACzB;AAKO,MAAM,cAAc;AAAA,IAI1B,iBAAiB;AAAA,IAKjB,cAAc;AAAA,EACf;AAKO,MAAM,oBAAoB;AAAA,IAIhC,0BAA0B;AAAA,EAC3B;AAKO,MAAM,oBAAoB;AAAA,IAIhC,4BAA4B;AAAA,IAK5B,gCAAgC;AAAA,IAKhC,+BAA+B;AAAA,IAK/B,6BAA6B;AAAA,EAC9B;AAKO,MAAM,2BAA2B;AAAA,IAIvC,uBAAuB;AAAA,IAKvB,8BAA8B;AAAA,IAK9B,sBAAsB;AAAA,EACvB;AAKO,MAAM,iCAAiC;AAAA,IAI7C,uBAAuB;AAAA,IAKvB,8BAA8B;AAAA,IAK9B,sBAAsB;AAAA,EACvB;AAKO,MAAM,eAAe;AAAA,IAI3B,wBAAwB;AAAA,IAKxB,2BAA2B;AAAA,EAC5B;AAKO,MAAM,mBAAmB;AAAA,IAI/B,2BAA2B;AAAA,IAK3B,sBAAsB;AAAA,IAKtB,8BAA8B;AAAA,IAK9B,sBAAsB;AAAA,IAKtB,sBAAsB;AAAA,IAKtB,6BAA6B;AAAA,EAC9B;AAKO,MAAM,gBAAgB;AAAA,IAI5B,eAAe;AAAA,IAKf,mBAAmB;AAAA,IAKnB,eAAe;AAAA,IAKf,oBAAoB;AAAA,IAKpB,kBAAkB;AAAA,IAMlB,mBAAmB;AAAA,IAMnB,wBAAwB;AAAA,IAMxB,0BAA0B,CAAC,KAAW,KAAW,KAAY,GAAW;AAAA,EACzE;AAKO,MAAM,mBAAmB;AAAA,IAI/B,wBAAwB;AAAA,EACzB;AAKO,MAAM,aAAa;AAAA,IAIzB,mBAAmB;AAAA,EACpB;AAKO,MAAM,aAAa;AAAA,IAIzB,wBAAwB;AAAA,IAKxB,wBAAwB;AAAA,EACzB;AAKO,MAAM,qBAAqB;AAAA,IAIjC,wBAAwB;AAAA,IAKxB,6BAA6B;AAAA,EAC9B;AAKO,MAAM,cAAc;AAAA,IAI1B,2BAA2B;AAAA,IAK3B,wBAAwB;AAAA,IAKxB,mBAAmB;AAAA,EACpB;AAKO,MAAM,kBAAkB;AAAA,IAI9B,2BAA2B;AAAA,IAK3B,wBAAwB;AAAA,IAKxB,8BAA8B;AAAA,IAK9B,wBAAwB;AAAA,EACzB;;;AC/VO,MAAM,sBAAsB;AAS5B,MAAM,sBAAsB;AAU5B,MAAM,uBACZ;AAOM,MAAM,yBAAyB;AAS/B,MAAM,aAAa;AAOnB,MAAM,uBAAuB;AAU7B,MAAM,iCAAiC;AAOvC,MAAM,eAAe;AASrB,MAAM,mBACZ;AAQM,MAAM,oBAAoB;AAW1B,MAAM,8BAA8B;AAOpC,MAAM,mBAAmB;AAOzB,MAAM,iBAAiB;AAYvB,MAAM,aAAa;AAOnB,MAAM,2BAA2B;AAOjC,MAAM,oBAAoB;AAU1B,MAAM,eAAe;;;AC5IrB,MAAM,eACZ;","names":[]}
package/dist/index.js CHANGED
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
6
  var __export = (target, all) => {
9
7
  for (var name in all)
@@ -17,7 +15,6 @@ var __copyProps = (to, from, except, desc) => {
17
15
  }
18
16
  return to;
19
17
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
21
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
19
 
23
20
  // src/index.ts
@@ -61,27 +58,6 @@ __export(src_exports, {
61
58
  });
62
59
  module.exports = __toCommonJS(src_exports);
63
60
 
64
- // src/lib/regexes.ts
65
- var import_regex = __toESM(require("twemoji-parser/dist/lib/regex.js"));
66
- var ChannelMentionRegex = /^<#(?<id>\d{17,19})>$/;
67
- var ChannelMessageRegex = /^(?<channelId>\d{17,19})-(?<messageId>\d{17,19})$/;
68
- var DiscordHostnameRegex = /(?<subdomain>\w+)\.?(?<hostname>dis(?:cord)?(?:app|merch|status)?)\.(?<tld>com|g(?:d|g|ift)|(?:de(?:sign|v))|media|new|store|net)/i;
69
- var DiscordInviteLinkRegex = /(?:^|\b)discord(?:(?:app)?\.com\/invite|\.gg(?:\/invite)?)\/(?<code>[\w-]{2,255})(?:$|\b)/gi;
70
- var EmojiRegex = /^(?:<(?<animated>a)?:(?<name>\w{2,32}):)?(?<id>\d{17,21})>?$/;
71
- var FormattedCustomEmoji = /<a?:\w{2,32}:\d{17,18}>/;
72
- var FormattedCustomEmojiWithGroups = /(?<animated>a?):(?<name>[^:]+):(?<id>\d{17,19})/;
73
- var HttpUrlRegex = /^https?:\/\//;
74
- var MessageLinkRegex = /^(?:https:\/\/)?(?:ptb\.|canary\.)?discord(?:app)?\.com\/channels\/(?<guildId>(?:\d{17,19}|@me))\/(?<channelId>\d{17,19})\/(?<messageId>\d{17,19})$/;
75
- var ParsedCustomEmoji = /a?:\w{2,32}:\d{17,18}/;
76
- var ParsedCustomEmojiWithGroups = /(?<animated>a?):(?<name>[^:]+):(?<id>\d{17,19})/;
77
- var RoleMentionRegex = /^<@&(?<id>\d{17,19})>$/;
78
- var SnowflakeRegex = /^(?<id>\d{17,19})$/;
79
- var TokenRegex = /(?<mfaToken>mfa\.[a-z0-9_-]{20,})|(?<basicToken>[a-z0-9_-]{23,28}\.[a-z0-9_-]{6,7}\.[a-z0-9_-]{27})/i;
80
- var TwemojiRegex = import_regex.default;
81
- var UserOrMemberMentionRegex = /^<@!?(?<id>\d{17,19})>$/;
82
- var WebSocketUrlRegex = /^wss?:\/\//;
83
- var WebhookRegex = /(?<url>^https:\/\/(?:(?:canary|ptb).)?discord(?:app)?.com\/api(?:\/v\d+)?\/webhooks\/(?<id>\d+)\/(?<token>[\w-]+)\/?$)/;
84
-
85
61
  // src/lib/limits.ts
86
62
  var ChannelLimits = {
87
63
  MaximumDescriptionLength: 1024,
@@ -171,6 +147,28 @@ var TextInputLimits = {
171
147
  MaximumPlaceholderCharacters: 100,
172
148
  MaximumValueCharacters: 4e3
173
149
  };
150
+
151
+ // src/lib/regexes.ts
152
+ var ChannelMentionRegex = /^<#(?<id>\d{17,19})>$/;
153
+ var ChannelMessageRegex = /^(?<channelId>\d{17,19})-(?<messageId>\d{17,19})$/;
154
+ var DiscordHostnameRegex = /(?<subdomain>\w+)\.?(?<hostname>dis(?:cord)?(?:app|merch|status)?)\.(?<tld>com|g(?:d|g|ift)|(?:de(?:sign|v))|media|new|store|net)/i;
155
+ var DiscordInviteLinkRegex = /(?:^|\b)discord(?:(?:app)?\.com\/invite|\.gg(?:\/invite)?)\/(?<code>[\w-]{2,255})(?:$|\b)/gi;
156
+ var EmojiRegex = /^(?:<(?<animated>a)?:(?<name>\w{2,32}):)?(?<id>\d{17,21})>?$/;
157
+ var FormattedCustomEmoji = /<a?:\w{2,32}:\d{17,18}>/;
158
+ var FormattedCustomEmojiWithGroups = /(?<animated>a?):(?<name>[^:]+):(?<id>\d{17,19})/;
159
+ var HttpUrlRegex = /^https?:\/\//;
160
+ var MessageLinkRegex = /^(?:https:\/\/)?(?:ptb\.|canary\.)?discord(?:app)?\.com\/channels\/(?<guildId>(?:\d{17,19}|@me))\/(?<channelId>\d{17,19})\/(?<messageId>\d{17,19})$/;
161
+ var ParsedCustomEmoji = /a?:\w{2,32}:\d{17,18}/;
162
+ var ParsedCustomEmojiWithGroups = /(?<animated>a?):(?<name>[^:]+):(?<id>\d{17,19})/;
163
+ var RoleMentionRegex = /^<@&(?<id>\d{17,19})>$/;
164
+ var SnowflakeRegex = /^(?<id>\d{17,19})$/;
165
+ var TokenRegex = /(?<mfaToken>mfa\.[a-z0-9_-]{20,})|(?<basicToken>[a-z0-9_-]{23,28}\.[a-z0-9_-]{6,7}\.[a-z0-9_-]{27})/i;
166
+ var UserOrMemberMentionRegex = /^<@!?(?<id>\d{17,19})>$/;
167
+ var WebSocketUrlRegex = /^wss?:\/\//;
168
+ var WebhookRegex = /(?<url>^https:\/\/(?:(?:canary|ptb).)?discord(?:app)?.com\/api(?:\/v\d+)?\/webhooks\/(?<id>\d+)\/(?<token>[\w-]+)\/?$)/;
169
+
170
+ // src/lib/TwemojiRegex.ts
171
+ var TwemojiRegex = /(?:\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]|\ud83e\udef1\ud83c\udffb\u200d\ud83e\udef2\ud83c[\udffc-\udfff]|\ud83e\udef1\ud83c\udffc\u200d\ud83e\udef2\ud83c[\udffb\udffd-\udfff]|\ud83e\udef1\ud83c\udffd\u200d\ud83e\udef2\ud83c[\udffb\udffc\udffe\udfff]|\ud83e\udef1\ud83c\udffe\u200d\ud83e\udef2\ud83c[\udffb-\udffd\udfff]|\ud83e\udef1\ud83c\udfff\u200d\ud83e\udef2\ud83c[\udffb-\udffe]|\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]|\ud83e\udd1d\ud83c[\udffb-\udfff]|\ud83d[\udc6b-\udc6d\udc8f\udc91]|\ud83e\udd1d)|(?:\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\udec3-\udec5\udef0-\udef6]|[\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\udedd-\udedf\udeeb\udeec\udef4-\udefc\udfe0-\udfeb\udff0]|\ud83e[\udd0d\udd0e\udd10-\udd17\udd20-\udd25\udd27-\udd2f\udd3a\udd3c\udd3f-\udd45\udd47-\udd76\udd78-\uddb4\uddb7\uddba\uddbc-\uddcc\uddd0\uddde-\uddff\ude70-\ude74\ude78-\ude7c\ude80-\ude86\ude90-\udeac\udeb0-\udeba\udec0-\udec2\uded0-\uded9\udee0-\udee7]|[\u23e9-\u23ec\u23f0\u23f3\u267e\u26ce\u2705\u2728\u274c\u274e\u2753-\u2755\u2795-\u2797\u27b0\u27bf\ue50a])|\ufe0f/g;
174
172
  // Annotate the CommonJS export names for ESM import in node:
175
173
  0 && (module.exports = {
176
174
  ApplicationCommandLimits,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/lib/regexes.ts","../src/lib/limits.ts"],"sourcesContent":["export * from './lib/regexes';\nexport * from './lib/limits';\n","import twemojiRegex from 'twemoji-parser/dist/lib/regex.js';\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 `/(?:^|\\b)discord(?:(?:app)?\\.com\\/invite|\\.gg(?:\\/invite)?)\\/(?<code>[\\w-]{2,255})(?:$|\\b)/gi`\n * @remark Capture group 1 is the invite URL's unique code. It is named `code`.\n */\nexport const DiscordInviteLinkRegex = /(?:^|\\b)discord(?:(?:app)?\\.com\\/invite|\\.gg(?:\\/invite)?)\\/(?<code>[\\w-]{2,255})(?:$|\\b)/gi;\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 Discord Token\n * @raw `/(?<mfaToken>mfa\\.[a-z0-9_-]{20,})|(?<basicToken>[a-z0-9_-]{23,28}\\.[a-z0-9_-]{6,7}\\.[a-z0-9_-]{27})/i`\n * @remark Capture group 1 can be used to retrieve a token for a User that has Multi-Factor Authentication enabled. It is named `mfaToken`.\n * @remark Capture group 2 can be used to retrieve a token for a User that doesn't have Multi-Factor Authentication enabled, or a Bot application. It is named `basicToken`.\n * @remark For a valid token, either Capture group 1 or Capture group 2 will always be undefined, whereas the other group will then be defined and\n * contain the matched token.\n * You can use the name of the capture group to determine if the validated token was configured for a user with Multi-Factor Authentication, for a user without Multi-Factor Authentication, or for a bot application.\n * If both capture groups are undefined, then the token is invalid.\n */\nexport const TokenRegex = /(?<mfaToken>mfa\\.[a-z0-9_-]{20,})|(?<basicToken>[a-z0-9_-]{23,28}\\.[a-z0-9_-]{6,7}\\.[a-z0-9_-]{27})/i;\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).)?discord(?:app)?.com\\/api(?:\\/v\\d+)?\\/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\n\t/**\n\t * Maximum characters allowed in a channel name.\n\t */\n\tMaximumNameLength: 100,\n\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\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 interactions.\n */\nexport const InteractionLimits = {\n\t/**\n\t * Maximum buttons allowed in a single action row.\n\t */\n\tMaximumButtonsPerActionRow: 5,\n\n\t/**\n\t * Maximum select menus allowed in a single action row.\n\t */\n\tMaximumSelectMenusPerActionRow: 1,\n\n\t/**\n\t * Maximum text inputs allowed in a single action row.\n\t */\n\tMaximumTextInputsPerActionRow: 1,\n\n\t/**\n\t * Maximum options allowed in a single select menu.\n\t */\n\tMaximumOptionsInSelectMenus: 25\n} as const;\n\n/**\n * Namespace containing limits related to Discord application commands (slash commands).\n */\nexport const ApplicationCommandLimits = {\n\t/**\n\t * Maximum characters allowed in an application command name.\n\t */\n\tMaximumNameCharacters: 32,\n\n\t/**\n\t * Maximum characters allowed in an application command description.\n\t */\n\tMaximumDescriptionCharacters: 100,\n\n\t/**\n\t * Maximum options allowed in an application command.\n\t */\n\tMaximumOptionsLength: 25\n} as const;\n\n/**\n * Namespace containing limits related to Choices of Discord Application Commands.\n */\nexport const ApplicationCommandOptionLimits = {\n\t/**\n\t * Maximum characters allowed in the name of an option of an application command.\n\t */\n\tMaximumNameCharacters: 32,\n\n\t/**\n\t * Maximum characters allowed in the description of an option of an application command.\n\t */\n\tMaximumDescriptionCharacters: 100,\n\n\t/**\n\t * Maximum length of choices allowed in the option of an application command.\n\t */\n\tMaximumChoicesLength: 25\n} as const;\n\n/**\n * Namespace containing limits related to Message Buttons.\n */\nexport const ButtonLimits = {\n\t/**\n\t * Maximum characters allowed in a button label.\n\t */\n\tMaximumLabelCharacters: 80,\n\n\t/**\n\t * Maximum characters allowed in a button custom ID.\n\t */\n\tMaximumCustomIdCharacters: 100\n} as const;\n\n/**\n * Namespace containing limits related to Select Menus.\n */\nexport const SelectMenuLimits = {\n\t/**\n\t * Maximum characters allowed in a select menu custom ID.\n\t */\n\tMaximumCustomIdCharacters: 100,\n\n\t/**\n\t * Maximum amount of options allowed in a select menu.\n\t */\n\tMaximumOptionsLength: 25,\n\n\t/**\n\t * Maximum characters allowed in a select menu placeholder.\n\t */\n\tMaximumPlaceholderCharacters: 100,\n\n\t/**\n\t * Maximum \"minimum\" values allowed in a select menu.\n\t */\n\tMaximumMinValuesSize: 25,\n\n\t/**\n\t * Maximum \"maximum\" values allowed in a select menu.\n\t */\n\tMaximumMaxValuesSize: 25,\n\n\t/**\n\t * Maximum characters allowed in a select menu option's name.\n\t */\n\tMaximumLengthOfNameOfOption: 100\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 action rows allowed in a single message.\n\t */\n\tMaximumActionRows: 5,\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\n\t/**\n\t * Maximum numbers of reactions allowed for a message.\n\t */\n\tMaximumReactions: 20,\n\n\t/**\n\t * Maximum upload size for a free user in a guild of tier 1 or below, or in DMs.\n\t * Size is in bytes, and correspond to 8MB.\n\t */\n\tMaximumUploadSize: 8_000_000,\n\n\t/**\n\t * Maximum upload size for a nitro user, in any guild or in DMs.\n\t * Size is in bytes, and correspond to 10MB.\n\t */\n\tMaximumNitroUploadSize: 100_000_000,\n\n\t/**\n\t * Maximum upload size for a free user for all different boost levels available in a guild.\n\t * Sizes are in bytes, and correspond to 8MB, 8MB, 50MB, and 100MB.\n\t */\n\tMaximumUploadSizeInGuild: [8_000_000, 8_000_000, 50_000_000, 100_000_000]\n} as const;\n\n/**\n * Namespace containing limits related to built-in moderation features.\n */\nexport const ModerationLimits = {\n\t/**\n\t * Maximum duration of a guild timeout, in seconds (corresponds to 28 days).\n\t */\n\tMaximumTimeoutDuration: 2_419_200\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\n\t/**\n\t * Maximum characters allowed in a user's biography (the \"About Me\" section).\n\t */\n\tMaximumBiographyLength: 190\n} as const;\n\n/**\n * Namespace container limits related to Discord autocomplete interactions.\n */\nexport const AutoCompleteLimits = {\n\t/**\n\t * Maximum options allowed in a single autocomplete response.\n\t */\n\tMaximumAmountOfOptions: 20,\n\n\t/**\n\t * Maximum characters allowed in a select menu option's name.\n\t */\n\tMaximumLengthOfNameOfOption: 100\n} as const;\n\n/**\n * Namespace containing limits related to Discord Modals.\n */\nexport const ModalLimits = {\n\t/**\n\t * Maximum characters allowed in a modal custom ID.\n\t */\n\tMaximumCustomIdCharacters: 100,\n\n\t/**\n\t * Maximum characters allowed in a modal title.\n\t */\n\tMaximumTitleCharacters: 45,\n\n\t/**\n\t * Maximum components allowed in a modal.\n\t */\n\tMaximumComponents: 5\n} as const;\n\n/**\n * Namespace containing limits related to Discord Modal Text Input component.\n */\nexport const TextInputLimits = {\n\t/**\n\t * Maximum characters allowed in a text input custom ID.\n\t */\n\tMaximumCustomIdCharacters: 100,\n\n\t/**\n\t * Maximum characters allowed in a text input label.\n\t */\n\tMaximumLabelCharacters: 45,\n\n\t/**\n\t * Maximum characters allowed in a text input placeholder.\n\t */\n\tMaximumPlaceholderCharacters: 100,\n\n\t/**\n\t * Maximum characters allowed in a text input value.\n\t */\n\tMaximumValueCharacters: 4000\n} as const;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,mBAAyB;AAOlB,IAAM,sBAAsB;AAS5B,IAAM,sBAAsB;AAU5B,IAAM,uBACZ;AAOM,IAAM,yBAAyB;AAS/B,IAAM,aAAa;AAOnB,IAAM,uBAAuB;AAU7B,IAAM,iCAAiC;AAOvC,IAAM,eAAe;AASrB,IAAM,mBACZ;AAQM,IAAM,oBAAoB;AAW1B,IAAM,8BAA8B;AAOpC,IAAM,mBAAmB;AAOzB,IAAM,iBAAiB;AAYvB,IAAM,aAAa;AAMnB,IAAM,eAAe;AAOrB,IAAM,2BAA2B;AAOjC,IAAM,oBAAoB;AAU1B,IAAM,eAAe;;;ACrJrB,IAAM,gBAAgB;AAAA,EAI5B,0BAA0B;AAAA,EAK1B,mBAAmB;AAAA,EAKnB,8BAA8B;AAC/B;AAKO,IAAM,cAAc;AAAA,EAI1B,yBAAyB;AAAA,EAKzB,0BAA0B;AAAA,EAK1B,wBAAwB;AAAA,EAKxB,eAAe;AAAA,EAKf,yBAAyB;AAAA,EAKzB,qBAAqB;AAAA,EAKrB,oBAAoB;AAAA,EAKpB,wBAAwB;AACzB;AAKO,IAAM,cAAc;AAAA,EAI1B,wBAAwB;AACzB;AAKO,IAAM,cAAc;AAAA,EAI1B,iBAAiB;AAAA,EAKjB,cAAc;AACf;AAKO,IAAM,oBAAoB;AAAA,EAIhC,0BAA0B;AAC3B;AAKO,IAAM,oBAAoB;AAAA,EAIhC,4BAA4B;AAAA,EAK5B,gCAAgC;AAAA,EAKhC,+BAA+B;AAAA,EAK/B,6BAA6B;AAC9B;AAKO,IAAM,2BAA2B;AAAA,EAIvC,uBAAuB;AAAA,EAKvB,8BAA8B;AAAA,EAK9B,sBAAsB;AACvB;AAKO,IAAM,iCAAiC;AAAA,EAI7C,uBAAuB;AAAA,EAKvB,8BAA8B;AAAA,EAK9B,sBAAsB;AACvB;AAKO,IAAM,eAAe;AAAA,EAI3B,wBAAwB;AAAA,EAKxB,2BAA2B;AAC5B;AAKO,IAAM,mBAAmB;AAAA,EAI/B,2BAA2B;AAAA,EAK3B,sBAAsB;AAAA,EAKtB,8BAA8B;AAAA,EAK9B,sBAAsB;AAAA,EAKtB,sBAAsB;AAAA,EAKtB,6BAA6B;AAC9B;AAKO,IAAM,gBAAgB;AAAA,EAI5B,eAAe;AAAA,EAKf,mBAAmB;AAAA,EAKnB,eAAe;AAAA,EAKf,oBAAoB;AAAA,EAKpB,kBAAkB;AAAA,EAMlB,mBAAmB;AAAA,EAMnB,wBAAwB;AAAA,EAMxB,0BAA0B,CAAC,KAAW,KAAW,KAAY,GAAW;AACzE;AAKO,IAAM,mBAAmB;AAAA,EAI/B,wBAAwB;AACzB;AAKO,IAAM,aAAa;AAAA,EAIzB,mBAAmB;AACpB;AAKO,IAAM,aAAa;AAAA,EAIzB,wBAAwB;AAAA,EAKxB,wBAAwB;AACzB;AAKO,IAAM,qBAAqB;AAAA,EAIjC,wBAAwB;AAAA,EAKxB,6BAA6B;AAC9B;AAKO,IAAM,cAAc;AAAA,EAI1B,2BAA2B;AAAA,EAK3B,wBAAwB;AAAA,EAKxB,mBAAmB;AACpB;AAKO,IAAM,kBAAkB;AAAA,EAI9B,2BAA2B;AAAA,EAK3B,wBAAwB;AAAA,EAKxB,8BAA8B;AAAA,EAK9B,wBAAwB;AACzB;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts","../src/lib/limits.ts","../src/lib/regexes.ts","../src/lib/TwemojiRegex.ts"],"sourcesContent":["export * from './lib/limits';\nexport * from './lib/regexes';\nexport * from './lib/TwemojiRegex';\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\n\t/**\n\t * Maximum characters allowed in a channel name.\n\t */\n\tMaximumNameLength: 100,\n\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\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 interactions.\n */\nexport const InteractionLimits = {\n\t/**\n\t * Maximum buttons allowed in a single action row.\n\t */\n\tMaximumButtonsPerActionRow: 5,\n\n\t/**\n\t * Maximum select menus allowed in a single action row.\n\t */\n\tMaximumSelectMenusPerActionRow: 1,\n\n\t/**\n\t * Maximum text inputs allowed in a single action row.\n\t */\n\tMaximumTextInputsPerActionRow: 1,\n\n\t/**\n\t * Maximum options allowed in a single select menu.\n\t */\n\tMaximumOptionsInSelectMenus: 25\n} as const;\n\n/**\n * Namespace containing limits related to Discord application commands (slash commands).\n */\nexport const ApplicationCommandLimits = {\n\t/**\n\t * Maximum characters allowed in an application command name.\n\t */\n\tMaximumNameCharacters: 32,\n\n\t/**\n\t * Maximum characters allowed in an application command description.\n\t */\n\tMaximumDescriptionCharacters: 100,\n\n\t/**\n\t * Maximum options allowed in an application command.\n\t */\n\tMaximumOptionsLength: 25\n} as const;\n\n/**\n * Namespace containing limits related to Choices of Discord Application Commands.\n */\nexport const ApplicationCommandOptionLimits = {\n\t/**\n\t * Maximum characters allowed in the name of an option of an application command.\n\t */\n\tMaximumNameCharacters: 32,\n\n\t/**\n\t * Maximum characters allowed in the description of an option of an application command.\n\t */\n\tMaximumDescriptionCharacters: 100,\n\n\t/**\n\t * Maximum length of choices allowed in the option of an application command.\n\t */\n\tMaximumChoicesLength: 25\n} as const;\n\n/**\n * Namespace containing limits related to Message Buttons.\n */\nexport const ButtonLimits = {\n\t/**\n\t * Maximum characters allowed in a button label.\n\t */\n\tMaximumLabelCharacters: 80,\n\n\t/**\n\t * Maximum characters allowed in a button custom ID.\n\t */\n\tMaximumCustomIdCharacters: 100\n} as const;\n\n/**\n * Namespace containing limits related to Select Menus.\n */\nexport const SelectMenuLimits = {\n\t/**\n\t * Maximum characters allowed in a select menu custom ID.\n\t */\n\tMaximumCustomIdCharacters: 100,\n\n\t/**\n\t * Maximum amount of options allowed in a select menu.\n\t */\n\tMaximumOptionsLength: 25,\n\n\t/**\n\t * Maximum characters allowed in a select menu placeholder.\n\t */\n\tMaximumPlaceholderCharacters: 100,\n\n\t/**\n\t * Maximum \"minimum\" values allowed in a select menu.\n\t */\n\tMaximumMinValuesSize: 25,\n\n\t/**\n\t * Maximum \"maximum\" values allowed in a select menu.\n\t */\n\tMaximumMaxValuesSize: 25,\n\n\t/**\n\t * Maximum characters allowed in a select menu option's name.\n\t */\n\tMaximumLengthOfNameOfOption: 100\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 action rows allowed in a single message.\n\t */\n\tMaximumActionRows: 5,\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\n\t/**\n\t * Maximum numbers of reactions allowed for a message.\n\t */\n\tMaximumReactions: 20,\n\n\t/**\n\t * Maximum upload size for a free user in a guild of tier 1 or below, or in DMs.\n\t * Size is in bytes, and correspond to 8MB.\n\t */\n\tMaximumUploadSize: 8_000_000,\n\n\t/**\n\t * Maximum upload size for a nitro user, in any guild or in DMs.\n\t * Size is in bytes, and correspond to 10MB.\n\t */\n\tMaximumNitroUploadSize: 100_000_000,\n\n\t/**\n\t * Maximum upload size for a free user for all different boost levels available in a guild.\n\t * Sizes are in bytes, and correspond to 8MB, 8MB, 50MB, and 100MB.\n\t */\n\tMaximumUploadSizeInGuild: [8_000_000, 8_000_000, 50_000_000, 100_000_000]\n} as const;\n\n/**\n * Namespace containing limits related to built-in moderation features.\n */\nexport const ModerationLimits = {\n\t/**\n\t * Maximum duration of a guild timeout, in seconds (corresponds to 28 days).\n\t */\n\tMaximumTimeoutDuration: 2_419_200\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\n\t/**\n\t * Maximum characters allowed in a user's biography (the \"About Me\" section).\n\t */\n\tMaximumBiographyLength: 190\n} as const;\n\n/**\n * Namespace container limits related to Discord autocomplete interactions.\n */\nexport const AutoCompleteLimits = {\n\t/**\n\t * Maximum options allowed in a single autocomplete response.\n\t */\n\tMaximumAmountOfOptions: 20,\n\n\t/**\n\t * Maximum characters allowed in a select menu option's name.\n\t */\n\tMaximumLengthOfNameOfOption: 100\n} as const;\n\n/**\n * Namespace containing limits related to Discord Modals.\n */\nexport const ModalLimits = {\n\t/**\n\t * Maximum characters allowed in a modal custom ID.\n\t */\n\tMaximumCustomIdCharacters: 100,\n\n\t/**\n\t * Maximum characters allowed in a modal title.\n\t */\n\tMaximumTitleCharacters: 45,\n\n\t/**\n\t * Maximum components allowed in a modal.\n\t */\n\tMaximumComponents: 5\n} as const;\n\n/**\n * Namespace containing limits related to Discord Modal Text Input component.\n */\nexport const TextInputLimits = {\n\t/**\n\t * Maximum characters allowed in a text input custom ID.\n\t */\n\tMaximumCustomIdCharacters: 100,\n\n\t/**\n\t * Maximum characters allowed in a text input label.\n\t */\n\tMaximumLabelCharacters: 45,\n\n\t/**\n\t * Maximum characters allowed in a text input placeholder.\n\t */\n\tMaximumPlaceholderCharacters: 100,\n\n\t/**\n\t * Maximum characters allowed in a text input value.\n\t */\n\tMaximumValueCharacters: 4000\n} as const;\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 `/(?:^|\\b)discord(?:(?:app)?\\.com\\/invite|\\.gg(?:\\/invite)?)\\/(?<code>[\\w-]{2,255})(?:$|\\b)/gi`\n * @remark Capture group 1 is the invite URL's unique code. It is named `code`.\n */\nexport const DiscordInviteLinkRegex = /(?:^|\\b)discord(?:(?:app)?\\.com\\/invite|\\.gg(?:\\/invite)?)\\/(?<code>[\\w-]{2,255})(?:$|\\b)/gi;\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 Discord Token\n * @raw `/(?<mfaToken>mfa\\.[a-z0-9_-]{20,})|(?<basicToken>[a-z0-9_-]{23,28}\\.[a-z0-9_-]{6,7}\\.[a-z0-9_-]{27})/i`\n * @remark Capture group 1 can be used to retrieve a token for a User that has Multi-Factor Authentication enabled. It is named `mfaToken`.\n * @remark Capture group 2 can be used to retrieve a token for a User that doesn't have Multi-Factor Authentication enabled, or a Bot application. It is named `basicToken`.\n * @remark For a valid token, either Capture group 1 or Capture group 2 will always be undefined, whereas the other group will then be defined and\n * contain the matched token.\n * You can use the name of the capture group to determine if the validated token was configured for a user with Multi-Factor Authentication, for a user without Multi-Factor Authentication, or for a bot application.\n * If both capture groups are undefined, then the token is invalid.\n */\nexport const TokenRegex = /(?<mfaToken>mfa\\.[a-z0-9_-]{20,})|(?<basicToken>[a-z0-9_-]{23,28}\\.[a-z0-9_-]{6,7}\\.[a-z0-9_-]{27})/i;\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).)?discord(?:app)?.com\\/api(?:\\/v\\d+)?\\/webhooks\\/(?<id>\\d+)\\/(?<token>[\\w-]+)\\/?$)/;\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 =\n\t/(?:\\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]|\\ud83e\\udef1\\ud83c\\udffb\\u200d\\ud83e\\udef2\\ud83c[\\udffc-\\udfff]|\\ud83e\\udef1\\ud83c\\udffc\\u200d\\ud83e\\udef2\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83e\\udef1\\ud83c\\udffd\\u200d\\ud83e\\udef2\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83e\\udef1\\ud83c\\udffe\\u200d\\ud83e\\udef2\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83e\\udef1\\ud83c\\udfff\\u200d\\ud83e\\udef2\\ud83c[\\udffb-\\udffe]|\\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]|\\ud83e\\udd1d\\ud83c[\\udffb-\\udfff]|\\ud83d[\\udc6b-\\udc6d\\udc8f\\udc91]|\\ud83e\\udd1d)|(?:\\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\\udec3-\\udec5\\udef0-\\udef6]|[\\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\\udedd-\\udedf\\udeeb\\udeec\\udef4-\\udefc\\udfe0-\\udfeb\\udff0]|\\ud83e[\\udd0d\\udd0e\\udd10-\\udd17\\udd20-\\udd25\\udd27-\\udd2f\\udd3a\\udd3c\\udd3f-\\udd45\\udd47-\\udd76\\udd78-\\uddb4\\uddb7\\uddba\\uddbc-\\uddcc\\uddd0\\uddde-\\uddff\\ude70-\\ude74\\ude78-\\ude7c\\ude80-\\ude86\\ude90-\\udeac\\udeb0-\\udeba\\udec0-\\udec2\\uded0-\\uded9\\udee0-\\udee7]|[\\u23e9-\\u23ec\\u23f0\\u23f3\\u267e\\u26ce\\u2705\\u2728\\u274c\\u274e\\u2753-\\u2755\\u2795-\\u2797\\u27b0\\u27bf\\ue50a])|\\ufe0f/g;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACGO,IAAM,gBAAgB;AAAA,EAI5B,0BAA0B;AAAA,EAK1B,mBAAmB;AAAA,EAKnB,8BAA8B;AAC/B;AAKO,IAAM,cAAc;AAAA,EAI1B,yBAAyB;AAAA,EAKzB,0BAA0B;AAAA,EAK1B,wBAAwB;AAAA,EAKxB,eAAe;AAAA,EAKf,yBAAyB;AAAA,EAKzB,qBAAqB;AAAA,EAKrB,oBAAoB;AAAA,EAKpB,wBAAwB;AACzB;AAKO,IAAM,cAAc;AAAA,EAI1B,wBAAwB;AACzB;AAKO,IAAM,cAAc;AAAA,EAI1B,iBAAiB;AAAA,EAKjB,cAAc;AACf;AAKO,IAAM,oBAAoB;AAAA,EAIhC,0BAA0B;AAC3B;AAKO,IAAM,oBAAoB;AAAA,EAIhC,4BAA4B;AAAA,EAK5B,gCAAgC;AAAA,EAKhC,+BAA+B;AAAA,EAK/B,6BAA6B;AAC9B;AAKO,IAAM,2BAA2B;AAAA,EAIvC,uBAAuB;AAAA,EAKvB,8BAA8B;AAAA,EAK9B,sBAAsB;AACvB;AAKO,IAAM,iCAAiC;AAAA,EAI7C,uBAAuB;AAAA,EAKvB,8BAA8B;AAAA,EAK9B,sBAAsB;AACvB;AAKO,IAAM,eAAe;AAAA,EAI3B,wBAAwB;AAAA,EAKxB,2BAA2B;AAC5B;AAKO,IAAM,mBAAmB;AAAA,EAI/B,2BAA2B;AAAA,EAK3B,sBAAsB;AAAA,EAKtB,8BAA8B;AAAA,EAK9B,sBAAsB;AAAA,EAKtB,sBAAsB;AAAA,EAKtB,6BAA6B;AAC9B;AAKO,IAAM,gBAAgB;AAAA,EAI5B,eAAe;AAAA,EAKf,mBAAmB;AAAA,EAKnB,eAAe;AAAA,EAKf,oBAAoB;AAAA,EAKpB,kBAAkB;AAAA,EAMlB,mBAAmB;AAAA,EAMnB,wBAAwB;AAAA,EAMxB,0BAA0B,CAAC,KAAW,KAAW,KAAY,GAAW;AACzE;AAKO,IAAM,mBAAmB;AAAA,EAI/B,wBAAwB;AACzB;AAKO,IAAM,aAAa;AAAA,EAIzB,mBAAmB;AACpB;AAKO,IAAM,aAAa;AAAA,EAIzB,wBAAwB;AAAA,EAKxB,wBAAwB;AACzB;AAKO,IAAM,qBAAqB;AAAA,EAIjC,wBAAwB;AAAA,EAKxB,6BAA6B;AAC9B;AAKO,IAAM,cAAc;AAAA,EAI1B,2BAA2B;AAAA,EAK3B,wBAAwB;AAAA,EAKxB,mBAAmB;AACpB;AAKO,IAAM,kBAAkB;AAAA,EAI9B,2BAA2B;AAAA,EAK3B,wBAAwB;AAAA,EAKxB,8BAA8B;AAAA,EAK9B,wBAAwB;AACzB;;;AC/VO,IAAM,sBAAsB;AAS5B,IAAM,sBAAsB;AAU5B,IAAM,uBACZ;AAOM,IAAM,yBAAyB;AAS/B,IAAM,aAAa;AAOnB,IAAM,uBAAuB;AAU7B,IAAM,iCAAiC;AAOvC,IAAM,eAAe;AASrB,IAAM,mBACZ;AAQM,IAAM,oBAAoB;AAW1B,IAAM,8BAA8B;AAOpC,IAAM,mBAAmB;AAOzB,IAAM,iBAAiB;AAYvB,IAAM,aAAa;AAOnB,IAAM,2BAA2B;AAOjC,IAAM,oBAAoB;AAU1B,IAAM,eAAe;;;AC5IrB,IAAM,eACZ;","names":[]}
package/dist/index.mjs CHANGED
@@ -1,24 +1,3 @@
1
- // src/lib/regexes.ts
2
- import twemojiRegex from "twemoji-parser/dist/lib/regex.js";
3
- var ChannelMentionRegex = /^<#(?<id>\d{17,19})>$/;
4
- var ChannelMessageRegex = /^(?<channelId>\d{17,19})-(?<messageId>\d{17,19})$/;
5
- var DiscordHostnameRegex = /(?<subdomain>\w+)\.?(?<hostname>dis(?:cord)?(?:app|merch|status)?)\.(?<tld>com|g(?:d|g|ift)|(?:de(?:sign|v))|media|new|store|net)/i;
6
- var DiscordInviteLinkRegex = /(?:^|\b)discord(?:(?:app)?\.com\/invite|\.gg(?:\/invite)?)\/(?<code>[\w-]{2,255})(?:$|\b)/gi;
7
- var EmojiRegex = /^(?:<(?<animated>a)?:(?<name>\w{2,32}):)?(?<id>\d{17,21})>?$/;
8
- var FormattedCustomEmoji = /<a?:\w{2,32}:\d{17,18}>/;
9
- var FormattedCustomEmojiWithGroups = /(?<animated>a?):(?<name>[^:]+):(?<id>\d{17,19})/;
10
- var HttpUrlRegex = /^https?:\/\//;
11
- var MessageLinkRegex = /^(?:https:\/\/)?(?:ptb\.|canary\.)?discord(?:app)?\.com\/channels\/(?<guildId>(?:\d{17,19}|@me))\/(?<channelId>\d{17,19})\/(?<messageId>\d{17,19})$/;
12
- var ParsedCustomEmoji = /a?:\w{2,32}:\d{17,18}/;
13
- var ParsedCustomEmojiWithGroups = /(?<animated>a?):(?<name>[^:]+):(?<id>\d{17,19})/;
14
- var RoleMentionRegex = /^<@&(?<id>\d{17,19})>$/;
15
- var SnowflakeRegex = /^(?<id>\d{17,19})$/;
16
- var TokenRegex = /(?<mfaToken>mfa\.[a-z0-9_-]{20,})|(?<basicToken>[a-z0-9_-]{23,28}\.[a-z0-9_-]{6,7}\.[a-z0-9_-]{27})/i;
17
- var TwemojiRegex = twemojiRegex;
18
- var UserOrMemberMentionRegex = /^<@!?(?<id>\d{17,19})>$/;
19
- var WebSocketUrlRegex = /^wss?:\/\//;
20
- var WebhookRegex = /(?<url>^https:\/\/(?:(?:canary|ptb).)?discord(?:app)?.com\/api(?:\/v\d+)?\/webhooks\/(?<id>\d+)\/(?<token>[\w-]+)\/?$)/;
21
-
22
1
  // src/lib/limits.ts
23
2
  var ChannelLimits = {
24
3
  MaximumDescriptionLength: 1024,
@@ -108,6 +87,28 @@ var TextInputLimits = {
108
87
  MaximumPlaceholderCharacters: 100,
109
88
  MaximumValueCharacters: 4e3
110
89
  };
90
+
91
+ // src/lib/regexes.ts
92
+ var ChannelMentionRegex = /^<#(?<id>\d{17,19})>$/;
93
+ var ChannelMessageRegex = /^(?<channelId>\d{17,19})-(?<messageId>\d{17,19})$/;
94
+ var DiscordHostnameRegex = /(?<subdomain>\w+)\.?(?<hostname>dis(?:cord)?(?:app|merch|status)?)\.(?<tld>com|g(?:d|g|ift)|(?:de(?:sign|v))|media|new|store|net)/i;
95
+ var DiscordInviteLinkRegex = /(?:^|\b)discord(?:(?:app)?\.com\/invite|\.gg(?:\/invite)?)\/(?<code>[\w-]{2,255})(?:$|\b)/gi;
96
+ var EmojiRegex = /^(?:<(?<animated>a)?:(?<name>\w{2,32}):)?(?<id>\d{17,21})>?$/;
97
+ var FormattedCustomEmoji = /<a?:\w{2,32}:\d{17,18}>/;
98
+ var FormattedCustomEmojiWithGroups = /(?<animated>a?):(?<name>[^:]+):(?<id>\d{17,19})/;
99
+ var HttpUrlRegex = /^https?:\/\//;
100
+ var MessageLinkRegex = /^(?:https:\/\/)?(?:ptb\.|canary\.)?discord(?:app)?\.com\/channels\/(?<guildId>(?:\d{17,19}|@me))\/(?<channelId>\d{17,19})\/(?<messageId>\d{17,19})$/;
101
+ var ParsedCustomEmoji = /a?:\w{2,32}:\d{17,18}/;
102
+ var ParsedCustomEmojiWithGroups = /(?<animated>a?):(?<name>[^:]+):(?<id>\d{17,19})/;
103
+ var RoleMentionRegex = /^<@&(?<id>\d{17,19})>$/;
104
+ var SnowflakeRegex = /^(?<id>\d{17,19})$/;
105
+ var TokenRegex = /(?<mfaToken>mfa\.[a-z0-9_-]{20,})|(?<basicToken>[a-z0-9_-]{23,28}\.[a-z0-9_-]{6,7}\.[a-z0-9_-]{27})/i;
106
+ var UserOrMemberMentionRegex = /^<@!?(?<id>\d{17,19})>$/;
107
+ var WebSocketUrlRegex = /^wss?:\/\//;
108
+ var WebhookRegex = /(?<url>^https:\/\/(?:(?:canary|ptb).)?discord(?:app)?.com\/api(?:\/v\d+)?\/webhooks\/(?<id>\d+)\/(?<token>[\w-]+)\/?$)/;
109
+
110
+ // src/lib/TwemojiRegex.ts
111
+ var TwemojiRegex = /(?:\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]|\ud83e\udef1\ud83c\udffb\u200d\ud83e\udef2\ud83c[\udffc-\udfff]|\ud83e\udef1\ud83c\udffc\u200d\ud83e\udef2\ud83c[\udffb\udffd-\udfff]|\ud83e\udef1\ud83c\udffd\u200d\ud83e\udef2\ud83c[\udffb\udffc\udffe\udfff]|\ud83e\udef1\ud83c\udffe\u200d\ud83e\udef2\ud83c[\udffb-\udffd\udfff]|\ud83e\udef1\ud83c\udfff\u200d\ud83e\udef2\ud83c[\udffb-\udffe]|\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]|\ud83e\udd1d\ud83c[\udffb-\udfff]|\ud83d[\udc6b-\udc6d\udc8f\udc91]|\ud83e\udd1d)|(?:\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\udec3-\udec5\udef0-\udef6]|[\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\udedd-\udedf\udeeb\udeec\udef4-\udefc\udfe0-\udfeb\udff0]|\ud83e[\udd0d\udd0e\udd10-\udd17\udd20-\udd25\udd27-\udd2f\udd3a\udd3c\udd3f-\udd45\udd47-\udd76\udd78-\uddb4\uddb7\uddba\uddbc-\uddcc\uddd0\uddde-\uddff\ude70-\ude74\ude78-\ude7c\ude80-\ude86\ude90-\udeac\udeb0-\udeba\udec0-\udec2\uded0-\uded9\udee0-\udee7]|[\u23e9-\u23ec\u23f0\u23f3\u267e\u26ce\u2705\u2728\u274c\u274e\u2753-\u2755\u2795-\u2797\u27b0\u27bf\ue50a])|\ufe0f/g;
111
112
  export {
112
113
  ApplicationCommandLimits,
113
114
  ApplicationCommandOptionLimits,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/lib/regexes.ts","../src/lib/limits.ts"],"sourcesContent":["import twemojiRegex from 'twemoji-parser/dist/lib/regex.js';\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 `/(?:^|\\b)discord(?:(?:app)?\\.com\\/invite|\\.gg(?:\\/invite)?)\\/(?<code>[\\w-]{2,255})(?:$|\\b)/gi`\n * @remark Capture group 1 is the invite URL's unique code. It is named `code`.\n */\nexport const DiscordInviteLinkRegex = /(?:^|\\b)discord(?:(?:app)?\\.com\\/invite|\\.gg(?:\\/invite)?)\\/(?<code>[\\w-]{2,255})(?:$|\\b)/gi;\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 Discord Token\n * @raw `/(?<mfaToken>mfa\\.[a-z0-9_-]{20,})|(?<basicToken>[a-z0-9_-]{23,28}\\.[a-z0-9_-]{6,7}\\.[a-z0-9_-]{27})/i`\n * @remark Capture group 1 can be used to retrieve a token for a User that has Multi-Factor Authentication enabled. It is named `mfaToken`.\n * @remark Capture group 2 can be used to retrieve a token for a User that doesn't have Multi-Factor Authentication enabled, or a Bot application. It is named `basicToken`.\n * @remark For a valid token, either Capture group 1 or Capture group 2 will always be undefined, whereas the other group will then be defined and\n * contain the matched token.\n * You can use the name of the capture group to determine if the validated token was configured for a user with Multi-Factor Authentication, for a user without Multi-Factor Authentication, or for a bot application.\n * If both capture groups are undefined, then the token is invalid.\n */\nexport const TokenRegex = /(?<mfaToken>mfa\\.[a-z0-9_-]{20,})|(?<basicToken>[a-z0-9_-]{23,28}\\.[a-z0-9_-]{6,7}\\.[a-z0-9_-]{27})/i;\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).)?discord(?:app)?.com\\/api(?:\\/v\\d+)?\\/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\n\t/**\n\t * Maximum characters allowed in a channel name.\n\t */\n\tMaximumNameLength: 100,\n\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\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 interactions.\n */\nexport const InteractionLimits = {\n\t/**\n\t * Maximum buttons allowed in a single action row.\n\t */\n\tMaximumButtonsPerActionRow: 5,\n\n\t/**\n\t * Maximum select menus allowed in a single action row.\n\t */\n\tMaximumSelectMenusPerActionRow: 1,\n\n\t/**\n\t * Maximum text inputs allowed in a single action row.\n\t */\n\tMaximumTextInputsPerActionRow: 1,\n\n\t/**\n\t * Maximum options allowed in a single select menu.\n\t */\n\tMaximumOptionsInSelectMenus: 25\n} as const;\n\n/**\n * Namespace containing limits related to Discord application commands (slash commands).\n */\nexport const ApplicationCommandLimits = {\n\t/**\n\t * Maximum characters allowed in an application command name.\n\t */\n\tMaximumNameCharacters: 32,\n\n\t/**\n\t * Maximum characters allowed in an application command description.\n\t */\n\tMaximumDescriptionCharacters: 100,\n\n\t/**\n\t * Maximum options allowed in an application command.\n\t */\n\tMaximumOptionsLength: 25\n} as const;\n\n/**\n * Namespace containing limits related to Choices of Discord Application Commands.\n */\nexport const ApplicationCommandOptionLimits = {\n\t/**\n\t * Maximum characters allowed in the name of an option of an application command.\n\t */\n\tMaximumNameCharacters: 32,\n\n\t/**\n\t * Maximum characters allowed in the description of an option of an application command.\n\t */\n\tMaximumDescriptionCharacters: 100,\n\n\t/**\n\t * Maximum length of choices allowed in the option of an application command.\n\t */\n\tMaximumChoicesLength: 25\n} as const;\n\n/**\n * Namespace containing limits related to Message Buttons.\n */\nexport const ButtonLimits = {\n\t/**\n\t * Maximum characters allowed in a button label.\n\t */\n\tMaximumLabelCharacters: 80,\n\n\t/**\n\t * Maximum characters allowed in a button custom ID.\n\t */\n\tMaximumCustomIdCharacters: 100\n} as const;\n\n/**\n * Namespace containing limits related to Select Menus.\n */\nexport const SelectMenuLimits = {\n\t/**\n\t * Maximum characters allowed in a select menu custom ID.\n\t */\n\tMaximumCustomIdCharacters: 100,\n\n\t/**\n\t * Maximum amount of options allowed in a select menu.\n\t */\n\tMaximumOptionsLength: 25,\n\n\t/**\n\t * Maximum characters allowed in a select menu placeholder.\n\t */\n\tMaximumPlaceholderCharacters: 100,\n\n\t/**\n\t * Maximum \"minimum\" values allowed in a select menu.\n\t */\n\tMaximumMinValuesSize: 25,\n\n\t/**\n\t * Maximum \"maximum\" values allowed in a select menu.\n\t */\n\tMaximumMaxValuesSize: 25,\n\n\t/**\n\t * Maximum characters allowed in a select menu option's name.\n\t */\n\tMaximumLengthOfNameOfOption: 100\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 action rows allowed in a single message.\n\t */\n\tMaximumActionRows: 5,\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\n\t/**\n\t * Maximum numbers of reactions allowed for a message.\n\t */\n\tMaximumReactions: 20,\n\n\t/**\n\t * Maximum upload size for a free user in a guild of tier 1 or below, or in DMs.\n\t * Size is in bytes, and correspond to 8MB.\n\t */\n\tMaximumUploadSize: 8_000_000,\n\n\t/**\n\t * Maximum upload size for a nitro user, in any guild or in DMs.\n\t * Size is in bytes, and correspond to 10MB.\n\t */\n\tMaximumNitroUploadSize: 100_000_000,\n\n\t/**\n\t * Maximum upload size for a free user for all different boost levels available in a guild.\n\t * Sizes are in bytes, and correspond to 8MB, 8MB, 50MB, and 100MB.\n\t */\n\tMaximumUploadSizeInGuild: [8_000_000, 8_000_000, 50_000_000, 100_000_000]\n} as const;\n\n/**\n * Namespace containing limits related to built-in moderation features.\n */\nexport const ModerationLimits = {\n\t/**\n\t * Maximum duration of a guild timeout, in seconds (corresponds to 28 days).\n\t */\n\tMaximumTimeoutDuration: 2_419_200\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\n\t/**\n\t * Maximum characters allowed in a user's biography (the \"About Me\" section).\n\t */\n\tMaximumBiographyLength: 190\n} as const;\n\n/**\n * Namespace container limits related to Discord autocomplete interactions.\n */\nexport const AutoCompleteLimits = {\n\t/**\n\t * Maximum options allowed in a single autocomplete response.\n\t */\n\tMaximumAmountOfOptions: 20,\n\n\t/**\n\t * Maximum characters allowed in a select menu option's name.\n\t */\n\tMaximumLengthOfNameOfOption: 100\n} as const;\n\n/**\n * Namespace containing limits related to Discord Modals.\n */\nexport const ModalLimits = {\n\t/**\n\t * Maximum characters allowed in a modal custom ID.\n\t */\n\tMaximumCustomIdCharacters: 100,\n\n\t/**\n\t * Maximum characters allowed in a modal title.\n\t */\n\tMaximumTitleCharacters: 45,\n\n\t/**\n\t * Maximum components allowed in a modal.\n\t */\n\tMaximumComponents: 5\n} as const;\n\n/**\n * Namespace containing limits related to Discord Modal Text Input component.\n */\nexport const TextInputLimits = {\n\t/**\n\t * Maximum characters allowed in a text input custom ID.\n\t */\n\tMaximumCustomIdCharacters: 100,\n\n\t/**\n\t * Maximum characters allowed in a text input label.\n\t */\n\tMaximumLabelCharacters: 45,\n\n\t/**\n\t * Maximum characters allowed in a text input placeholder.\n\t */\n\tMaximumPlaceholderCharacters: 100,\n\n\t/**\n\t * Maximum characters allowed in a text input value.\n\t */\n\tMaximumValueCharacters: 4000\n} as const;\n"],"mappings":";AAAA;AAOO,IAAM,sBAAsB;AAS5B,IAAM,sBAAsB;AAU5B,IAAM,uBACZ;AAOM,IAAM,yBAAyB;AAS/B,IAAM,aAAa;AAOnB,IAAM,uBAAuB;AAU7B,IAAM,iCAAiC;AAOvC,IAAM,eAAe;AASrB,IAAM,mBACZ;AAQM,IAAM,oBAAoB;AAW1B,IAAM,8BAA8B;AAOpC,IAAM,mBAAmB;AAOzB,IAAM,iBAAiB;AAYvB,IAAM,aAAa;AAMnB,IAAM,eAAe;AAOrB,IAAM,2BAA2B;AAOjC,IAAM,oBAAoB;AAU1B,IAAM,eAAe;;;ACrJrB,IAAM,gBAAgB;AAAA,EAI5B,0BAA0B;AAAA,EAK1B,mBAAmB;AAAA,EAKnB,8BAA8B;AAC/B;AAKO,IAAM,cAAc;AAAA,EAI1B,yBAAyB;AAAA,EAKzB,0BAA0B;AAAA,EAK1B,wBAAwB;AAAA,EAKxB,eAAe;AAAA,EAKf,yBAAyB;AAAA,EAKzB,qBAAqB;AAAA,EAKrB,oBAAoB;AAAA,EAKpB,wBAAwB;AACzB;AAKO,IAAM,cAAc;AAAA,EAI1B,wBAAwB;AACzB;AAKO,IAAM,cAAc;AAAA,EAI1B,iBAAiB;AAAA,EAKjB,cAAc;AACf;AAKO,IAAM,oBAAoB;AAAA,EAIhC,0BAA0B;AAC3B;AAKO,IAAM,oBAAoB;AAAA,EAIhC,4BAA4B;AAAA,EAK5B,gCAAgC;AAAA,EAKhC,+BAA+B;AAAA,EAK/B,6BAA6B;AAC9B;AAKO,IAAM,2BAA2B;AAAA,EAIvC,uBAAuB;AAAA,EAKvB,8BAA8B;AAAA,EAK9B,sBAAsB;AACvB;AAKO,IAAM,iCAAiC;AAAA,EAI7C,uBAAuB;AAAA,EAKvB,8BAA8B;AAAA,EAK9B,sBAAsB;AACvB;AAKO,IAAM,eAAe;AAAA,EAI3B,wBAAwB;AAAA,EAKxB,2BAA2B;AAC5B;AAKO,IAAM,mBAAmB;AAAA,EAI/B,2BAA2B;AAAA,EAK3B,sBAAsB;AAAA,EAKtB,8BAA8B;AAAA,EAK9B,sBAAsB;AAAA,EAKtB,sBAAsB;AAAA,EAKtB,6BAA6B;AAC9B;AAKO,IAAM,gBAAgB;AAAA,EAI5B,eAAe;AAAA,EAKf,mBAAmB;AAAA,EAKnB,eAAe;AAAA,EAKf,oBAAoB;AAAA,EAKpB,kBAAkB;AAAA,EAMlB,mBAAmB;AAAA,EAMnB,wBAAwB;AAAA,EAMxB,0BAA0B,CAAC,KAAW,KAAW,KAAY,GAAW;AACzE;AAKO,IAAM,mBAAmB;AAAA,EAI/B,wBAAwB;AACzB;AAKO,IAAM,aAAa;AAAA,EAIzB,mBAAmB;AACpB;AAKO,IAAM,aAAa;AAAA,EAIzB,wBAAwB;AAAA,EAKxB,wBAAwB;AACzB;AAKO,IAAM,qBAAqB;AAAA,EAIjC,wBAAwB;AAAA,EAKxB,6BAA6B;AAC9B;AAKO,IAAM,cAAc;AAAA,EAI1B,2BAA2B;AAAA,EAK3B,wBAAwB;AAAA,EAKxB,mBAAmB;AACpB;AAKO,IAAM,kBAAkB;AAAA,EAI9B,2BAA2B;AAAA,EAK3B,wBAAwB;AAAA,EAKxB,8BAA8B;AAAA,EAK9B,wBAAwB;AACzB;","names":[]}
1
+ {"version":3,"sources":["../src/lib/limits.ts","../src/lib/regexes.ts","../src/lib/TwemojiRegex.ts"],"sourcesContent":["/**\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\n\t/**\n\t * Maximum characters allowed in a channel name.\n\t */\n\tMaximumNameLength: 100,\n\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\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 interactions.\n */\nexport const InteractionLimits = {\n\t/**\n\t * Maximum buttons allowed in a single action row.\n\t */\n\tMaximumButtonsPerActionRow: 5,\n\n\t/**\n\t * Maximum select menus allowed in a single action row.\n\t */\n\tMaximumSelectMenusPerActionRow: 1,\n\n\t/**\n\t * Maximum text inputs allowed in a single action row.\n\t */\n\tMaximumTextInputsPerActionRow: 1,\n\n\t/**\n\t * Maximum options allowed in a single select menu.\n\t */\n\tMaximumOptionsInSelectMenus: 25\n} as const;\n\n/**\n * Namespace containing limits related to Discord application commands (slash commands).\n */\nexport const ApplicationCommandLimits = {\n\t/**\n\t * Maximum characters allowed in an application command name.\n\t */\n\tMaximumNameCharacters: 32,\n\n\t/**\n\t * Maximum characters allowed in an application command description.\n\t */\n\tMaximumDescriptionCharacters: 100,\n\n\t/**\n\t * Maximum options allowed in an application command.\n\t */\n\tMaximumOptionsLength: 25\n} as const;\n\n/**\n * Namespace containing limits related to Choices of Discord Application Commands.\n */\nexport const ApplicationCommandOptionLimits = {\n\t/**\n\t * Maximum characters allowed in the name of an option of an application command.\n\t */\n\tMaximumNameCharacters: 32,\n\n\t/**\n\t * Maximum characters allowed in the description of an option of an application command.\n\t */\n\tMaximumDescriptionCharacters: 100,\n\n\t/**\n\t * Maximum length of choices allowed in the option of an application command.\n\t */\n\tMaximumChoicesLength: 25\n} as const;\n\n/**\n * Namespace containing limits related to Message Buttons.\n */\nexport const ButtonLimits = {\n\t/**\n\t * Maximum characters allowed in a button label.\n\t */\n\tMaximumLabelCharacters: 80,\n\n\t/**\n\t * Maximum characters allowed in a button custom ID.\n\t */\n\tMaximumCustomIdCharacters: 100\n} as const;\n\n/**\n * Namespace containing limits related to Select Menus.\n */\nexport const SelectMenuLimits = {\n\t/**\n\t * Maximum characters allowed in a select menu custom ID.\n\t */\n\tMaximumCustomIdCharacters: 100,\n\n\t/**\n\t * Maximum amount of options allowed in a select menu.\n\t */\n\tMaximumOptionsLength: 25,\n\n\t/**\n\t * Maximum characters allowed in a select menu placeholder.\n\t */\n\tMaximumPlaceholderCharacters: 100,\n\n\t/**\n\t * Maximum \"minimum\" values allowed in a select menu.\n\t */\n\tMaximumMinValuesSize: 25,\n\n\t/**\n\t * Maximum \"maximum\" values allowed in a select menu.\n\t */\n\tMaximumMaxValuesSize: 25,\n\n\t/**\n\t * Maximum characters allowed in a select menu option's name.\n\t */\n\tMaximumLengthOfNameOfOption: 100\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 action rows allowed in a single message.\n\t */\n\tMaximumActionRows: 5,\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\n\t/**\n\t * Maximum numbers of reactions allowed for a message.\n\t */\n\tMaximumReactions: 20,\n\n\t/**\n\t * Maximum upload size for a free user in a guild of tier 1 or below, or in DMs.\n\t * Size is in bytes, and correspond to 8MB.\n\t */\n\tMaximumUploadSize: 8_000_000,\n\n\t/**\n\t * Maximum upload size for a nitro user, in any guild or in DMs.\n\t * Size is in bytes, and correspond to 10MB.\n\t */\n\tMaximumNitroUploadSize: 100_000_000,\n\n\t/**\n\t * Maximum upload size for a free user for all different boost levels available in a guild.\n\t * Sizes are in bytes, and correspond to 8MB, 8MB, 50MB, and 100MB.\n\t */\n\tMaximumUploadSizeInGuild: [8_000_000, 8_000_000, 50_000_000, 100_000_000]\n} as const;\n\n/**\n * Namespace containing limits related to built-in moderation features.\n */\nexport const ModerationLimits = {\n\t/**\n\t * Maximum duration of a guild timeout, in seconds (corresponds to 28 days).\n\t */\n\tMaximumTimeoutDuration: 2_419_200\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\n\t/**\n\t * Maximum characters allowed in a user's biography (the \"About Me\" section).\n\t */\n\tMaximumBiographyLength: 190\n} as const;\n\n/**\n * Namespace container limits related to Discord autocomplete interactions.\n */\nexport const AutoCompleteLimits = {\n\t/**\n\t * Maximum options allowed in a single autocomplete response.\n\t */\n\tMaximumAmountOfOptions: 20,\n\n\t/**\n\t * Maximum characters allowed in a select menu option's name.\n\t */\n\tMaximumLengthOfNameOfOption: 100\n} as const;\n\n/**\n * Namespace containing limits related to Discord Modals.\n */\nexport const ModalLimits = {\n\t/**\n\t * Maximum characters allowed in a modal custom ID.\n\t */\n\tMaximumCustomIdCharacters: 100,\n\n\t/**\n\t * Maximum characters allowed in a modal title.\n\t */\n\tMaximumTitleCharacters: 45,\n\n\t/**\n\t * Maximum components allowed in a modal.\n\t */\n\tMaximumComponents: 5\n} as const;\n\n/**\n * Namespace containing limits related to Discord Modal Text Input component.\n */\nexport const TextInputLimits = {\n\t/**\n\t * Maximum characters allowed in a text input custom ID.\n\t */\n\tMaximumCustomIdCharacters: 100,\n\n\t/**\n\t * Maximum characters allowed in a text input label.\n\t */\n\tMaximumLabelCharacters: 45,\n\n\t/**\n\t * Maximum characters allowed in a text input placeholder.\n\t */\n\tMaximumPlaceholderCharacters: 100,\n\n\t/**\n\t * Maximum characters allowed in a text input value.\n\t */\n\tMaximumValueCharacters: 4000\n} as const;\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 `/(?:^|\\b)discord(?:(?:app)?\\.com\\/invite|\\.gg(?:\\/invite)?)\\/(?<code>[\\w-]{2,255})(?:$|\\b)/gi`\n * @remark Capture group 1 is the invite URL's unique code. It is named `code`.\n */\nexport const DiscordInviteLinkRegex = /(?:^|\\b)discord(?:(?:app)?\\.com\\/invite|\\.gg(?:\\/invite)?)\\/(?<code>[\\w-]{2,255})(?:$|\\b)/gi;\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 Discord Token\n * @raw `/(?<mfaToken>mfa\\.[a-z0-9_-]{20,})|(?<basicToken>[a-z0-9_-]{23,28}\\.[a-z0-9_-]{6,7}\\.[a-z0-9_-]{27})/i`\n * @remark Capture group 1 can be used to retrieve a token for a User that has Multi-Factor Authentication enabled. It is named `mfaToken`.\n * @remark Capture group 2 can be used to retrieve a token for a User that doesn't have Multi-Factor Authentication enabled, or a Bot application. It is named `basicToken`.\n * @remark For a valid token, either Capture group 1 or Capture group 2 will always be undefined, whereas the other group will then be defined and\n * contain the matched token.\n * You can use the name of the capture group to determine if the validated token was configured for a user with Multi-Factor Authentication, for a user without Multi-Factor Authentication, or for a bot application.\n * If both capture groups are undefined, then the token is invalid.\n */\nexport const TokenRegex = /(?<mfaToken>mfa\\.[a-z0-9_-]{20,})|(?<basicToken>[a-z0-9_-]{23,28}\\.[a-z0-9_-]{6,7}\\.[a-z0-9_-]{27})/i;\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).)?discord(?:app)?.com\\/api(?:\\/v\\d+)?\\/webhooks\\/(?<id>\\d+)\\/(?<token>[\\w-]+)\\/?$)/;\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 =\n\t/(?:\\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]|\\ud83e\\udef1\\ud83c\\udffb\\u200d\\ud83e\\udef2\\ud83c[\\udffc-\\udfff]|\\ud83e\\udef1\\ud83c\\udffc\\u200d\\ud83e\\udef2\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83e\\udef1\\ud83c\\udffd\\u200d\\ud83e\\udef2\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83e\\udef1\\ud83c\\udffe\\u200d\\ud83e\\udef2\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83e\\udef1\\ud83c\\udfff\\u200d\\ud83e\\udef2\\ud83c[\\udffb-\\udffe]|\\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]|\\ud83e\\udd1d\\ud83c[\\udffb-\\udfff]|\\ud83d[\\udc6b-\\udc6d\\udc8f\\udc91]|\\ud83e\\udd1d)|(?:\\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\\udec3-\\udec5\\udef0-\\udef6]|[\\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\\udedd-\\udedf\\udeeb\\udeec\\udef4-\\udefc\\udfe0-\\udfeb\\udff0]|\\ud83e[\\udd0d\\udd0e\\udd10-\\udd17\\udd20-\\udd25\\udd27-\\udd2f\\udd3a\\udd3c\\udd3f-\\udd45\\udd47-\\udd76\\udd78-\\uddb4\\uddb7\\uddba\\uddbc-\\uddcc\\uddd0\\uddde-\\uddff\\ude70-\\ude74\\ude78-\\ude7c\\ude80-\\ude86\\ude90-\\udeac\\udeb0-\\udeba\\udec0-\\udec2\\uded0-\\uded9\\udee0-\\udee7]|[\\u23e9-\\u23ec\\u23f0\\u23f3\\u267e\\u26ce\\u2705\\u2728\\u274c\\u274e\\u2753-\\u2755\\u2795-\\u2797\\u27b0\\u27bf\\ue50a])|\\ufe0f/g;\n"],"mappings":";AAGO,IAAM,gBAAgB;AAAA,EAI5B,0BAA0B;AAAA,EAK1B,mBAAmB;AAAA,EAKnB,8BAA8B;AAC/B;AAKO,IAAM,cAAc;AAAA,EAI1B,yBAAyB;AAAA,EAKzB,0BAA0B;AAAA,EAK1B,wBAAwB;AAAA,EAKxB,eAAe;AAAA,EAKf,yBAAyB;AAAA,EAKzB,qBAAqB;AAAA,EAKrB,oBAAoB;AAAA,EAKpB,wBAAwB;AACzB;AAKO,IAAM,cAAc;AAAA,EAI1B,wBAAwB;AACzB;AAKO,IAAM,cAAc;AAAA,EAI1B,iBAAiB;AAAA,EAKjB,cAAc;AACf;AAKO,IAAM,oBAAoB;AAAA,EAIhC,0BAA0B;AAC3B;AAKO,IAAM,oBAAoB;AAAA,EAIhC,4BAA4B;AAAA,EAK5B,gCAAgC;AAAA,EAKhC,+BAA+B;AAAA,EAK/B,6BAA6B;AAC9B;AAKO,IAAM,2BAA2B;AAAA,EAIvC,uBAAuB;AAAA,EAKvB,8BAA8B;AAAA,EAK9B,sBAAsB;AACvB;AAKO,IAAM,iCAAiC;AAAA,EAI7C,uBAAuB;AAAA,EAKvB,8BAA8B;AAAA,EAK9B,sBAAsB;AACvB;AAKO,IAAM,eAAe;AAAA,EAI3B,wBAAwB;AAAA,EAKxB,2BAA2B;AAC5B;AAKO,IAAM,mBAAmB;AAAA,EAI/B,2BAA2B;AAAA,EAK3B,sBAAsB;AAAA,EAKtB,8BAA8B;AAAA,EAK9B,sBAAsB;AAAA,EAKtB,sBAAsB;AAAA,EAKtB,6BAA6B;AAC9B;AAKO,IAAM,gBAAgB;AAAA,EAI5B,eAAe;AAAA,EAKf,mBAAmB;AAAA,EAKnB,eAAe;AAAA,EAKf,oBAAoB;AAAA,EAKpB,kBAAkB;AAAA,EAMlB,mBAAmB;AAAA,EAMnB,wBAAwB;AAAA,EAMxB,0BAA0B,CAAC,KAAW,KAAW,KAAY,GAAW;AACzE;AAKO,IAAM,mBAAmB;AAAA,EAI/B,wBAAwB;AACzB;AAKO,IAAM,aAAa;AAAA,EAIzB,mBAAmB;AACpB;AAKO,IAAM,aAAa;AAAA,EAIzB,wBAAwB;AAAA,EAKxB,wBAAwB;AACzB;AAKO,IAAM,qBAAqB;AAAA,EAIjC,wBAAwB;AAAA,EAKxB,6BAA6B;AAC9B;AAKO,IAAM,cAAc;AAAA,EAI1B,2BAA2B;AAAA,EAK3B,wBAAwB;AAAA,EAKxB,mBAAmB;AACpB;AAKO,IAAM,kBAAkB;AAAA,EAI9B,2BAA2B;AAAA,EAK3B,wBAAwB;AAAA,EAKxB,8BAA8B;AAAA,EAK9B,wBAAwB;AACzB;;;AC/VO,IAAM,sBAAsB;AAS5B,IAAM,sBAAsB;AAU5B,IAAM,uBACZ;AAOM,IAAM,yBAAyB;AAS/B,IAAM,aAAa;AAOnB,IAAM,uBAAuB;AAU7B,IAAM,iCAAiC;AAOvC,IAAM,eAAe;AASrB,IAAM,mBACZ;AAQM,IAAM,oBAAoB;AAW1B,IAAM,8BAA8B;AAOpC,IAAM,mBAAmB;AAOzB,IAAM,iBAAiB;AAYvB,IAAM,aAAa;AAOnB,IAAM,2BAA2B;AAOjC,IAAM,oBAAoB;AAU1B,IAAM,eAAe;;;AC5IrB,IAAM,eACZ;","names":[]}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Regex that can capture a Twemoji (Twitter Emoji)
3
+ * @raw {@linkplain https://github.com/twitter/twemoji-parser/blob/master/src/lib/regex.js See official source code}
4
+ */
5
+ export declare const TwemojiRegex: RegExp;
6
+ //# sourceMappingURL=TwemojiRegex.d.ts.map
@@ -104,11 +104,6 @@ export declare const SnowflakeRegex: RegExp;
104
104
  * If both capture groups are undefined, then the token is invalid.
105
105
  */
106
106
  export declare const TokenRegex: RegExp;
107
- /**
108
- * Regex that can capture a Twemoji (Twitter Emoji)
109
- * @raw {@linkplain https://github.com/twitter/twemoji-parser/blob/master/src/lib/regex.js See official source code}
110
- */
111
- export declare const TwemojiRegex: RegExp;
112
107
  /**
113
108
  * Regex that can capture the ID of a user in Discord user mentions
114
109
  * @raw `/^<@!?(?<id>\d{17,19})>$/`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapphire/discord-utilities",
3
- "version": "2.11.2-next.bbacb66.0",
3
+ "version": "2.11.2",
4
4
  "description": "Discord specific utilities for your JavaScript/TypeScript bots",
5
5
  "author": "@sapphire",
6
6
  "license": "MIT",
@@ -53,11 +53,8 @@
53
53
  "publishConfig": {
54
54
  "access": "public"
55
55
  },
56
- "dependencies": {
57
- "twemoji-parser": "^14.0.0"
58
- },
59
56
  "devDependencies": {
60
- "tsup": "^6.0.1",
57
+ "tsup": "^6.1.2",
61
58
  "typescript": "^4.7.3"
62
59
  }
63
60
  }