@chatsift/discord-utils 0.1.0 → 0.2.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/README.md +3 -3
- package/{types → dist}/embed.d.ts +1 -1
- package/{types → dist}/embed.d.ts.map +1 -1
- package/{types → dist}/index.d.ts +0 -0
- package/{types → dist}/index.d.ts.map +0 -0
- package/dist/index.js +118 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +90 -0
- package/dist/index.mjs.map +1 -0
- package/dist/sortChannels.d.ts +3 -0
- package/dist/sortChannels.d.ts.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +31 -19
- package/LICENSE +0 -14
- package/dist/embed.js +0 -63
- package/dist/embed.js.map +0 -1
- package/dist/sortChannels.js +0 -29
- package/dist/sortChannels.js.map +0 -1
- package/src/__tests__/embed.test.ts +0 -58
- package/src/__tests__/sortChannels.test.ts +0 -33
- package/src/embed.ts +0 -113
- package/src/index.ts +0 -2
- package/src/sortChannels.ts +0 -36
- package/tsconfig.eslint.json +0 -3
- package/tsconfig.json +0 -10
- package/types/sortChannels.d.ts +0 -3
- package/types/sortChannels.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# `@chatsift/discord-utils`
|
|
2
2
|
|
|
3
|
-
[](https://github.com/ChatSift/
|
|
3
|
+
[](https://github.com/ChatSift/utilities/blob/main/LICENSE)
|
|
4
4
|
[](https://www.npmjs.com/package/@chatsift/discord-utils)
|
|
5
|
-
[](https://github.com/ChatSift/utilities/actions/workflows/test.yml)
|
|
6
6
|
|
|
7
7
|
Niche utilities for working with Discord's API
|
|
8
8
|
|
|
@@ -14,7 +14,7 @@ Niche utilities for working with Discord's API
|
|
|
14
14
|
|
|
15
15
|
## Contributing
|
|
16
16
|
|
|
17
|
-
Please see the main [README.md](https://github.com/ChatSift/
|
|
17
|
+
Please see the main [README.md](https://github.com/ChatSift/utilities) for info on how to contribute to this package or the other `@chatsift` packages.
|
|
18
18
|
|
|
19
19
|
## LICENSE
|
|
20
20
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../src/embed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../src/embed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAKrE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;CA+CjB,CAAC;AAOX,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,GAAG,QAAQ,CAG/E;AAOD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAW5D;AAMD,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CA0BvD"}
|
|
File without changes
|
|
File without changes
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,120 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
"use strict";
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
+
|
|
22
|
+
// src/index.ts
|
|
23
|
+
var src_exports = {};
|
|
24
|
+
__export(src_exports, {
|
|
25
|
+
MESSAGE_LIMITS: () => MESSAGE_LIMITS,
|
|
26
|
+
addFields: () => addFields,
|
|
27
|
+
ellipsis: () => ellipsis,
|
|
28
|
+
sortChannels: () => sortChannels,
|
|
29
|
+
truncateEmbed: () => truncateEmbed
|
|
30
|
+
});
|
|
31
|
+
module.exports = __toCommonJS(src_exports);
|
|
32
|
+
|
|
33
|
+
// src/embed.ts
|
|
34
|
+
var MESSAGE_LIMITS = {
|
|
35
|
+
CONTENT: 4e3,
|
|
36
|
+
EMBED_COUNT: 10,
|
|
37
|
+
EMBEDS: {
|
|
38
|
+
TITLE: 256,
|
|
39
|
+
DESCRIPTION: 4096,
|
|
40
|
+
FOOTER: 2048,
|
|
41
|
+
AUTHOR: 256,
|
|
42
|
+
FIELD_COUNT: 25,
|
|
43
|
+
FIELDS: {
|
|
44
|
+
NAME: 256,
|
|
45
|
+
VALUE: 1024
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
function addFields(embed, ...fields) {
|
|
50
|
+
(embed.fields ??= []).push(...fields);
|
|
51
|
+
return embed;
|
|
52
|
+
}
|
|
53
|
+
__name(addFields, "addFields");
|
|
54
|
+
function ellipsis(text, total) {
|
|
55
|
+
if (text.length <= total) {
|
|
56
|
+
return text;
|
|
57
|
+
}
|
|
58
|
+
const keep = total - 3;
|
|
59
|
+
if (keep < 1) {
|
|
60
|
+
return text.slice(0, total);
|
|
61
|
+
}
|
|
62
|
+
return `${text.slice(0, keep)}...`;
|
|
63
|
+
}
|
|
64
|
+
__name(ellipsis, "ellipsis");
|
|
65
|
+
function truncateEmbed(embed) {
|
|
66
|
+
return {
|
|
67
|
+
...embed,
|
|
68
|
+
description: embed.description ? ellipsis(embed.description, MESSAGE_LIMITS.EMBEDS.DESCRIPTION) : void 0,
|
|
69
|
+
title: embed.title ? ellipsis(embed.title, MESSAGE_LIMITS.EMBEDS.TITLE) : void 0,
|
|
70
|
+
author: embed.author ? {
|
|
71
|
+
...embed.author,
|
|
72
|
+
name: ellipsis(embed.author.name, MESSAGE_LIMITS.EMBEDS.AUTHOR)
|
|
73
|
+
} : void 0,
|
|
74
|
+
footer: embed.footer ? {
|
|
75
|
+
...embed.footer,
|
|
76
|
+
text: ellipsis(embed.footer.text, MESSAGE_LIMITS.EMBEDS.FOOTER)
|
|
77
|
+
} : void 0,
|
|
78
|
+
fields: embed.fields ? embed.fields.map((field) => ({
|
|
79
|
+
name: ellipsis(field.name, MESSAGE_LIMITS.EMBEDS.FIELDS.NAME),
|
|
80
|
+
value: ellipsis(field.value, MESSAGE_LIMITS.EMBEDS.FIELDS.VALUE)
|
|
81
|
+
})).slice(0, MESSAGE_LIMITS.EMBEDS.FIELD_COUNT) : []
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
__name(truncateEmbed, "truncateEmbed");
|
|
85
|
+
|
|
86
|
+
// src/sortChannels.ts
|
|
87
|
+
var import_utils = require("@chatsift/utils");
|
|
88
|
+
var import_v10 = require("discord-api-types/v10");
|
|
89
|
+
var GUILD_TEXT_TYPES = [import_v10.ChannelType.GuildText, import_v10.ChannelType.GuildNews, import_v10.ChannelType.GuildForum];
|
|
90
|
+
function sortChannels(unsorted) {
|
|
91
|
+
const filtered = unsorted.filter((c) => GUILD_TEXT_TYPES.includes(c.type) || c.type === import_v10.ChannelType.GuildCategory);
|
|
92
|
+
const grouped = (0, import_utils.groupBy)(filtered, (c) => c.parent_id ?? "top");
|
|
93
|
+
const sortedTopLevel = grouped.top?.filter((channel) => !channel.parent_id).sort((a, b) => {
|
|
94
|
+
if (a.type === import_v10.ChannelType.GuildText && b.type === import_v10.ChannelType.GuildCategory) {
|
|
95
|
+
return -1;
|
|
96
|
+
}
|
|
97
|
+
if (a.type === import_v10.ChannelType.GuildCategory && b.type === import_v10.ChannelType.GuildText) {
|
|
98
|
+
return 1;
|
|
99
|
+
}
|
|
100
|
+
return a.position - b.position;
|
|
101
|
+
});
|
|
102
|
+
const channels = [];
|
|
103
|
+
for (const top of sortedTopLevel ?? []) {
|
|
104
|
+
channels.push(top);
|
|
105
|
+
if (top.type === import_v10.ChannelType.GuildCategory) {
|
|
106
|
+
channels.push(...(grouped[top.id] ?? []).sort((a, b) => a.position - b.position));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return channels.length ? channels : filtered.sort((a, b) => a.position - b.position);
|
|
110
|
+
}
|
|
111
|
+
__name(sortChannels, "sortChannels");
|
|
112
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
113
|
+
0 && (module.exports = {
|
|
114
|
+
MESSAGE_LIMITS,
|
|
115
|
+
addFields,
|
|
116
|
+
ellipsis,
|
|
117
|
+
sortChannels,
|
|
118
|
+
truncateEmbed
|
|
119
|
+
});
|
|
6
120
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/embed.ts","../src/sortChannels.ts"],"sourcesContent":["export * from './embed';\nexport * from './sortChannels';\n","import type { APIEmbed, APIEmbedField } from 'discord-api-types/v10';\n\n/**\n * Limits commonly encountered with Discord's API\n */\nexport const MESSAGE_LIMITS = {\n\t/**\n\t * How long a message can be in characters\n\t */\n\tCONTENT: 4000,\n\t/**\n\t * How many embeds can be in a message\n\t */\n\tEMBED_COUNT: 10,\n\t/**\n\t * Embed specific limits\n\t */\n\tEMBEDS: {\n\t\t/**\n\t\t * How long an embed title can be in characters\n\t\t */\n\t\tTITLE: 256,\n\t\t/**\n\t\t * How long an embed description can be in characters\n\t\t */\n\t\tDESCRIPTION: 4096,\n\t\t/**\n\t\t * How long an embed footer can be in characters\n\t\t */\n\t\tFOOTER: 2048,\n\t\t/**\n\t\t * How long an embed author can be in characters\n\t\t */\n\t\tAUTHOR: 256,\n\t\t/**\n\t\t * How many fields an embed can have\n\t\t */\n\t\tFIELD_COUNT: 25,\n\t\t/**\n\t\t * Field specific limits\n\t\t */\n\t\tFIELDS: {\n\t\t\t/**\n\t\t\t * How long a field name can be in characters\n\t\t\t */\n\t\t\tNAME: 256,\n\t\t\t/**\n\t\t\t * How long a field value can be in characters\n\t\t\t */\n\t\t\tVALUE: 1024,\n\t\t},\n\t},\n} as const;\n\n/**\n * Adds the given fields to an embed - mutating it\n * @param embed The embed to add fields to\n * @param fields The fields to add\n */\nexport function addFields(embed: APIEmbed, ...fields: APIEmbedField[]): APIEmbed {\n\t(embed.fields ??= []).push(...fields);\n\treturn embed;\n}\n\n/**\n * Cuts off text after the given length - appending \"...\" at the end\n * @param text The text to cut off\n * @param total The maximum length of the text\n */\nexport function ellipsis(text: string, total: number): string {\n\tif (text.length <= total) {\n\t\treturn text;\n\t}\n\n\tconst keep = total - 3;\n\tif (keep < 1) {\n\t\treturn text.slice(0, total);\n\t}\n\n\treturn `${text.slice(0, keep)}...`;\n}\n\n/**\n * Returns a fully truncated embed - safe to use with Discord's API - does not mutate the given embed\n * @param embed The embed to truncate\n */\nexport function truncateEmbed(embed: APIEmbed): APIEmbed {\n\treturn {\n\t\t...embed,\n\t\tdescription: embed.description ? ellipsis(embed.description, MESSAGE_LIMITS.EMBEDS.DESCRIPTION) : undefined,\n\t\ttitle: embed.title ? ellipsis(embed.title, MESSAGE_LIMITS.EMBEDS.TITLE) : undefined,\n\t\tauthor: embed.author\n\t\t\t? {\n\t\t\t\t\t...embed.author,\n\t\t\t\t\tname: ellipsis(embed.author.name, MESSAGE_LIMITS.EMBEDS.AUTHOR),\n\t\t\t }\n\t\t\t: undefined,\n\t\tfooter: embed.footer\n\t\t\t? {\n\t\t\t\t\t...embed.footer,\n\t\t\t\t\ttext: ellipsis(embed.footer.text, MESSAGE_LIMITS.EMBEDS.FOOTER),\n\t\t\t }\n\t\t\t: undefined,\n\t\tfields: embed.fields\n\t\t\t? embed.fields\n\t\t\t\t\t.map((field) => ({\n\t\t\t\t\t\tname: ellipsis(field.name, MESSAGE_LIMITS.EMBEDS.FIELDS.NAME),\n\t\t\t\t\t\tvalue: ellipsis(field.value, MESSAGE_LIMITS.EMBEDS.FIELDS.VALUE),\n\t\t\t\t\t}))\n\t\t\t\t\t.slice(0, MESSAGE_LIMITS.EMBEDS.FIELD_COUNT)\n\t\t\t: [],\n\t};\n}\n","import { groupBy } from '@chatsift/utils';\nimport { APIChannel, APIGuildCategoryChannel, APITextChannel, ChannelType } from 'discord-api-types/v10';\n\nconst GUILD_TEXT_TYPES = [ChannelType.GuildText, ChannelType.GuildNews, ChannelType.GuildForum];\n\n/**\n * Sorts an array of text and category channels - **does not support other channel types**\n */\nexport function sortChannels(unsorted: APIChannel[]): (APITextChannel | APIGuildCategoryChannel)[] {\n\tconst filtered = unsorted.filter(\n\t\t(c): c is APITextChannel | APIGuildCategoryChannel =>\n\t\t\tGUILD_TEXT_TYPES.includes(c.type) || c.type === ChannelType.GuildCategory,\n\t);\n\n\t// Group the channels by their category - or \"top\" if they aren't in one\n\tconst grouped = groupBy(filtered, (c) => c.parent_id ?? 'top');\n\n\t// Sort the top level channels - text channels are above category channels, otherwise use their position\n\tconst sortedTopLevel = grouped.top\n\t\t?.filter((channel) => !channel.parent_id)\n\t\t.sort((a, b) => {\n\t\t\tif (a.type === ChannelType.GuildText && b.type === ChannelType.GuildCategory) {\n\t\t\t\treturn -1;\n\t\t\t}\n\n\t\t\tif (a.type === ChannelType.GuildCategory && b.type === ChannelType.GuildText) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\treturn a.position! - b.position!;\n\t\t});\n\n\tconst channels: (APITextChannel | APIGuildCategoryChannel)[] = [];\n\tfor (const top of sortedTopLevel ?? []) {\n\t\tchannels.push(top);\n\n\t\tif (top.type === ChannelType.GuildCategory) {\n\t\t\tchannels.push(...(grouped[top.id] ?? []).sort((a, b) => a.position! - b.position!));\n\t\t}\n\t}\n\n\treturn channels.length ? channels : filtered.sort((a, b) => a.position! - b.position!);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACKO,IAAM,iBAAiB;AAAA,EAI7B,SAAS;AAAA,EAIT,aAAa;AAAA,EAIb,QAAQ;AAAA,IAIP,OAAO;AAAA,IAIP,aAAa;AAAA,IAIb,QAAQ;AAAA,IAIR,QAAQ;AAAA,IAIR,aAAa;AAAA,IAIb,QAAQ;AAAA,MAIP,MAAM;AAAA,MAIN,OAAO;AAAA,IACR;AAAA,EACD;AACD;AAOO,mBAAmB,UAAoB,QAAmC;AAChF,EAAC,OAAM,WAAW,CAAC,GAAG,KAAK,GAAG,MAAM;AACpC,SAAO;AACR;AAHgB;AAUT,kBAAkB,MAAc,OAAuB;AAC7D,MAAI,KAAK,UAAU,OAAO;AACzB,WAAO;AAAA,EACR;AAEA,QAAM,OAAO,QAAQ;AACrB,MAAI,OAAO,GAAG;AACb,WAAO,KAAK,MAAM,GAAG,KAAK;AAAA,EAC3B;AAEA,SAAO,GAAG,KAAK,MAAM,GAAG,IAAI;AAC7B;AAXgB;AAiBT,uBAAuB,OAA2B;AACxD,SAAO;AAAA,IACN,GAAG;AAAA,IACH,aAAa,MAAM,cAAc,SAAS,MAAM,aAAa,eAAe,OAAO,WAAW,IAAI;AAAA,IAClG,OAAO,MAAM,QAAQ,SAAS,MAAM,OAAO,eAAe,OAAO,KAAK,IAAI;AAAA,IAC1E,QAAQ,MAAM,SACX;AAAA,MACA,GAAG,MAAM;AAAA,MACT,MAAM,SAAS,MAAM,OAAO,MAAM,eAAe,OAAO,MAAM;AAAA,IAC9D,IACA;AAAA,IACH,QAAQ,MAAM,SACX;AAAA,MACA,GAAG,MAAM;AAAA,MACT,MAAM,SAAS,MAAM,OAAO,MAAM,eAAe,OAAO,MAAM;AAAA,IAC9D,IACA;AAAA,IACH,QAAQ,MAAM,SACX,MAAM,OACL,IAAI,CAAC,UAAW;AAAA,MAChB,MAAM,SAAS,MAAM,MAAM,eAAe,OAAO,OAAO,IAAI;AAAA,MAC5D,OAAO,SAAS,MAAM,OAAO,eAAe,OAAO,OAAO,KAAK;AAAA,IAChE,EAAE,EACD,MAAM,GAAG,eAAe,OAAO,WAAW,IAC3C,CAAC;AAAA,EACL;AACD;AA1BgB;;;ACtFhB,mBAAwB;AACxB,iBAAiF;AAEjF,IAAM,mBAAmB,CAAC,uBAAY,WAAW,uBAAY,WAAW,uBAAY,UAAU;AAKvF,sBAAsB,UAAsE;AAClG,QAAM,WAAW,SAAS,OACzB,CAAC,MACA,iBAAiB,SAAS,EAAE,IAAI,KAAK,EAAE,SAAS,uBAAY,aAC9D;AAGA,QAAM,UAAU,0BAAQ,UAAU,CAAC,MAAM,EAAE,aAAa,KAAK;AAG7D,QAAM,iBAAiB,QAAQ,KAC5B,OAAO,CAAC,YAAY,CAAC,QAAQ,SAAS,EACvC,KAAK,CAAC,GAAG,MAAM;AACf,QAAI,EAAE,SAAS,uBAAY,aAAa,EAAE,SAAS,uBAAY,eAAe;AAC7E,aAAO;AAAA,IACR;AAEA,QAAI,EAAE,SAAS,uBAAY,iBAAiB,EAAE,SAAS,uBAAY,WAAW;AAC7E,aAAO;AAAA,IACR;AAEA,WAAO,EAAE,WAAY,EAAE;AAAA,EACxB,CAAC;AAEF,QAAM,WAAyD,CAAC;AAChE,aAAW,OAAO,kBAAkB,CAAC,GAAG;AACvC,aAAS,KAAK,GAAG;AAEjB,QAAI,IAAI,SAAS,uBAAY,eAAe;AAC3C,eAAS,KAAK,GAAI,SAAQ,IAAI,OAAO,CAAC,GAAG,KAAK,CAAC,GAAG,MAAM,EAAE,WAAY,EAAE,QAAS,CAAC;AAAA,IACnF;AAAA,EACD;AAEA,SAAO,SAAS,SAAS,WAAW,SAAS,KAAK,CAAC,GAAG,MAAM,EAAE,WAAY,EAAE,QAAS;AACtF;AAlCgB;","names":[]}
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
|
|
4
|
+
// src/embed.ts
|
|
5
|
+
var MESSAGE_LIMITS = {
|
|
6
|
+
CONTENT: 4e3,
|
|
7
|
+
EMBED_COUNT: 10,
|
|
8
|
+
EMBEDS: {
|
|
9
|
+
TITLE: 256,
|
|
10
|
+
DESCRIPTION: 4096,
|
|
11
|
+
FOOTER: 2048,
|
|
12
|
+
AUTHOR: 256,
|
|
13
|
+
FIELD_COUNT: 25,
|
|
14
|
+
FIELDS: {
|
|
15
|
+
NAME: 256,
|
|
16
|
+
VALUE: 1024
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
function addFields(embed, ...fields) {
|
|
21
|
+
(embed.fields ??= []).push(...fields);
|
|
22
|
+
return embed;
|
|
23
|
+
}
|
|
24
|
+
__name(addFields, "addFields");
|
|
25
|
+
function ellipsis(text, total) {
|
|
26
|
+
if (text.length <= total) {
|
|
27
|
+
return text;
|
|
28
|
+
}
|
|
29
|
+
const keep = total - 3;
|
|
30
|
+
if (keep < 1) {
|
|
31
|
+
return text.slice(0, total);
|
|
32
|
+
}
|
|
33
|
+
return `${text.slice(0, keep)}...`;
|
|
34
|
+
}
|
|
35
|
+
__name(ellipsis, "ellipsis");
|
|
36
|
+
function truncateEmbed(embed) {
|
|
37
|
+
return {
|
|
38
|
+
...embed,
|
|
39
|
+
description: embed.description ? ellipsis(embed.description, MESSAGE_LIMITS.EMBEDS.DESCRIPTION) : void 0,
|
|
40
|
+
title: embed.title ? ellipsis(embed.title, MESSAGE_LIMITS.EMBEDS.TITLE) : void 0,
|
|
41
|
+
author: embed.author ? {
|
|
42
|
+
...embed.author,
|
|
43
|
+
name: ellipsis(embed.author.name, MESSAGE_LIMITS.EMBEDS.AUTHOR)
|
|
44
|
+
} : void 0,
|
|
45
|
+
footer: embed.footer ? {
|
|
46
|
+
...embed.footer,
|
|
47
|
+
text: ellipsis(embed.footer.text, MESSAGE_LIMITS.EMBEDS.FOOTER)
|
|
48
|
+
} : void 0,
|
|
49
|
+
fields: embed.fields ? embed.fields.map((field) => ({
|
|
50
|
+
name: ellipsis(field.name, MESSAGE_LIMITS.EMBEDS.FIELDS.NAME),
|
|
51
|
+
value: ellipsis(field.value, MESSAGE_LIMITS.EMBEDS.FIELDS.VALUE)
|
|
52
|
+
})).slice(0, MESSAGE_LIMITS.EMBEDS.FIELD_COUNT) : []
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
__name(truncateEmbed, "truncateEmbed");
|
|
56
|
+
|
|
57
|
+
// src/sortChannels.ts
|
|
58
|
+
import { groupBy } from "@chatsift/utils";
|
|
59
|
+
import { ChannelType } from "discord-api-types/v10";
|
|
60
|
+
var GUILD_TEXT_TYPES = [ChannelType.GuildText, ChannelType.GuildNews, ChannelType.GuildForum];
|
|
61
|
+
function sortChannels(unsorted) {
|
|
62
|
+
const filtered = unsorted.filter((c) => GUILD_TEXT_TYPES.includes(c.type) || c.type === ChannelType.GuildCategory);
|
|
63
|
+
const grouped = groupBy(filtered, (c) => c.parent_id ?? "top");
|
|
64
|
+
const sortedTopLevel = grouped.top?.filter((channel) => !channel.parent_id).sort((a, b) => {
|
|
65
|
+
if (a.type === ChannelType.GuildText && b.type === ChannelType.GuildCategory) {
|
|
66
|
+
return -1;
|
|
67
|
+
}
|
|
68
|
+
if (a.type === ChannelType.GuildCategory && b.type === ChannelType.GuildText) {
|
|
69
|
+
return 1;
|
|
70
|
+
}
|
|
71
|
+
return a.position - b.position;
|
|
72
|
+
});
|
|
73
|
+
const channels = [];
|
|
74
|
+
for (const top of sortedTopLevel ?? []) {
|
|
75
|
+
channels.push(top);
|
|
76
|
+
if (top.type === ChannelType.GuildCategory) {
|
|
77
|
+
channels.push(...(grouped[top.id] ?? []).sort((a, b) => a.position - b.position));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return channels.length ? channels : filtered.sort((a, b) => a.position - b.position);
|
|
81
|
+
}
|
|
82
|
+
__name(sortChannels, "sortChannels");
|
|
83
|
+
export {
|
|
84
|
+
MESSAGE_LIMITS,
|
|
85
|
+
addFields,
|
|
86
|
+
ellipsis,
|
|
87
|
+
sortChannels,
|
|
88
|
+
truncateEmbed
|
|
89
|
+
};
|
|
90
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/embed.ts","../src/sortChannels.ts"],"sourcesContent":["import type { APIEmbed, APIEmbedField } from 'discord-api-types/v10';\n\n/**\n * Limits commonly encountered with Discord's API\n */\nexport const MESSAGE_LIMITS = {\n\t/**\n\t * How long a message can be in characters\n\t */\n\tCONTENT: 4000,\n\t/**\n\t * How many embeds can be in a message\n\t */\n\tEMBED_COUNT: 10,\n\t/**\n\t * Embed specific limits\n\t */\n\tEMBEDS: {\n\t\t/**\n\t\t * How long an embed title can be in characters\n\t\t */\n\t\tTITLE: 256,\n\t\t/**\n\t\t * How long an embed description can be in characters\n\t\t */\n\t\tDESCRIPTION: 4096,\n\t\t/**\n\t\t * How long an embed footer can be in characters\n\t\t */\n\t\tFOOTER: 2048,\n\t\t/**\n\t\t * How long an embed author can be in characters\n\t\t */\n\t\tAUTHOR: 256,\n\t\t/**\n\t\t * How many fields an embed can have\n\t\t */\n\t\tFIELD_COUNT: 25,\n\t\t/**\n\t\t * Field specific limits\n\t\t */\n\t\tFIELDS: {\n\t\t\t/**\n\t\t\t * How long a field name can be in characters\n\t\t\t */\n\t\t\tNAME: 256,\n\t\t\t/**\n\t\t\t * How long a field value can be in characters\n\t\t\t */\n\t\t\tVALUE: 1024,\n\t\t},\n\t},\n} as const;\n\n/**\n * Adds the given fields to an embed - mutating it\n * @param embed The embed to add fields to\n * @param fields The fields to add\n */\nexport function addFields(embed: APIEmbed, ...fields: APIEmbedField[]): APIEmbed {\n\t(embed.fields ??= []).push(...fields);\n\treturn embed;\n}\n\n/**\n * Cuts off text after the given length - appending \"...\" at the end\n * @param text The text to cut off\n * @param total The maximum length of the text\n */\nexport function ellipsis(text: string, total: number): string {\n\tif (text.length <= total) {\n\t\treturn text;\n\t}\n\n\tconst keep = total - 3;\n\tif (keep < 1) {\n\t\treturn text.slice(0, total);\n\t}\n\n\treturn `${text.slice(0, keep)}...`;\n}\n\n/**\n * Returns a fully truncated embed - safe to use with Discord's API - does not mutate the given embed\n * @param embed The embed to truncate\n */\nexport function truncateEmbed(embed: APIEmbed): APIEmbed {\n\treturn {\n\t\t...embed,\n\t\tdescription: embed.description ? ellipsis(embed.description, MESSAGE_LIMITS.EMBEDS.DESCRIPTION) : undefined,\n\t\ttitle: embed.title ? ellipsis(embed.title, MESSAGE_LIMITS.EMBEDS.TITLE) : undefined,\n\t\tauthor: embed.author\n\t\t\t? {\n\t\t\t\t\t...embed.author,\n\t\t\t\t\tname: ellipsis(embed.author.name, MESSAGE_LIMITS.EMBEDS.AUTHOR),\n\t\t\t }\n\t\t\t: undefined,\n\t\tfooter: embed.footer\n\t\t\t? {\n\t\t\t\t\t...embed.footer,\n\t\t\t\t\ttext: ellipsis(embed.footer.text, MESSAGE_LIMITS.EMBEDS.FOOTER),\n\t\t\t }\n\t\t\t: undefined,\n\t\tfields: embed.fields\n\t\t\t? embed.fields\n\t\t\t\t\t.map((field) => ({\n\t\t\t\t\t\tname: ellipsis(field.name, MESSAGE_LIMITS.EMBEDS.FIELDS.NAME),\n\t\t\t\t\t\tvalue: ellipsis(field.value, MESSAGE_LIMITS.EMBEDS.FIELDS.VALUE),\n\t\t\t\t\t}))\n\t\t\t\t\t.slice(0, MESSAGE_LIMITS.EMBEDS.FIELD_COUNT)\n\t\t\t: [],\n\t};\n}\n","import { groupBy } from '@chatsift/utils';\nimport { APIChannel, APIGuildCategoryChannel, APITextChannel, ChannelType } from 'discord-api-types/v10';\n\nconst GUILD_TEXT_TYPES = [ChannelType.GuildText, ChannelType.GuildNews, ChannelType.GuildForum];\n\n/**\n * Sorts an array of text and category channels - **does not support other channel types**\n */\nexport function sortChannels(unsorted: APIChannel[]): (APITextChannel | APIGuildCategoryChannel)[] {\n\tconst filtered = unsorted.filter(\n\t\t(c): c is APITextChannel | APIGuildCategoryChannel =>\n\t\t\tGUILD_TEXT_TYPES.includes(c.type) || c.type === ChannelType.GuildCategory,\n\t);\n\n\t// Group the channels by their category - or \"top\" if they aren't in one\n\tconst grouped = groupBy(filtered, (c) => c.parent_id ?? 'top');\n\n\t// Sort the top level channels - text channels are above category channels, otherwise use their position\n\tconst sortedTopLevel = grouped.top\n\t\t?.filter((channel) => !channel.parent_id)\n\t\t.sort((a, b) => {\n\t\t\tif (a.type === ChannelType.GuildText && b.type === ChannelType.GuildCategory) {\n\t\t\t\treturn -1;\n\t\t\t}\n\n\t\t\tif (a.type === ChannelType.GuildCategory && b.type === ChannelType.GuildText) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\treturn a.position! - b.position!;\n\t\t});\n\n\tconst channels: (APITextChannel | APIGuildCategoryChannel)[] = [];\n\tfor (const top of sortedTopLevel ?? []) {\n\t\tchannels.push(top);\n\n\t\tif (top.type === ChannelType.GuildCategory) {\n\t\t\tchannels.push(...(grouped[top.id] ?? []).sort((a, b) => a.position! - b.position!));\n\t\t}\n\t}\n\n\treturn channels.length ? channels : filtered.sort((a, b) => a.position! - b.position!);\n}\n"],"mappings":";;;;AAKO,IAAM,iBAAiB;AAAA,EAI7B,SAAS;AAAA,EAIT,aAAa;AAAA,EAIb,QAAQ;AAAA,IAIP,OAAO;AAAA,IAIP,aAAa;AAAA,IAIb,QAAQ;AAAA,IAIR,QAAQ;AAAA,IAIR,aAAa;AAAA,IAIb,QAAQ;AAAA,MAIP,MAAM;AAAA,MAIN,OAAO;AAAA,IACR;AAAA,EACD;AACD;AAOO,mBAAmB,UAAoB,QAAmC;AAChF,EAAC,OAAM,WAAW,CAAC,GAAG,KAAK,GAAG,MAAM;AACpC,SAAO;AACR;AAHgB;AAUT,kBAAkB,MAAc,OAAuB;AAC7D,MAAI,KAAK,UAAU,OAAO;AACzB,WAAO;AAAA,EACR;AAEA,QAAM,OAAO,QAAQ;AACrB,MAAI,OAAO,GAAG;AACb,WAAO,KAAK,MAAM,GAAG,KAAK;AAAA,EAC3B;AAEA,SAAO,GAAG,KAAK,MAAM,GAAG,IAAI;AAC7B;AAXgB;AAiBT,uBAAuB,OAA2B;AACxD,SAAO;AAAA,IACN,GAAG;AAAA,IACH,aAAa,MAAM,cAAc,SAAS,MAAM,aAAa,eAAe,OAAO,WAAW,IAAI;AAAA,IAClG,OAAO,MAAM,QAAQ,SAAS,MAAM,OAAO,eAAe,OAAO,KAAK,IAAI;AAAA,IAC1E,QAAQ,MAAM,SACX;AAAA,MACA,GAAG,MAAM;AAAA,MACT,MAAM,SAAS,MAAM,OAAO,MAAM,eAAe,OAAO,MAAM;AAAA,IAC9D,IACA;AAAA,IACH,QAAQ,MAAM,SACX;AAAA,MACA,GAAG,MAAM;AAAA,MACT,MAAM,SAAS,MAAM,OAAO,MAAM,eAAe,OAAO,MAAM;AAAA,IAC9D,IACA;AAAA,IACH,QAAQ,MAAM,SACX,MAAM,OACL,IAAI,CAAC,UAAW;AAAA,MAChB,MAAM,SAAS,MAAM,MAAM,eAAe,OAAO,OAAO,IAAI;AAAA,MAC5D,OAAO,SAAS,MAAM,OAAO,eAAe,OAAO,OAAO,KAAK;AAAA,IAChE,EAAE,EACD,MAAM,GAAG,eAAe,OAAO,WAAW,IAC3C,CAAC;AAAA,EACL;AACD;AA1BgB;;;ACtFhB;AACA;AAEA,IAAM,mBAAmB,CAAC,YAAY,WAAW,YAAY,WAAW,YAAY,UAAU;AAKvF,sBAAsB,UAAsE;AAClG,QAAM,WAAW,SAAS,OACzB,CAAC,MACA,iBAAiB,SAAS,EAAE,IAAI,KAAK,EAAE,SAAS,YAAY,aAC9D;AAGA,QAAM,UAAU,QAAQ,UAAU,CAAC,MAAM,EAAE,aAAa,KAAK;AAG7D,QAAM,iBAAiB,QAAQ,KAC5B,OAAO,CAAC,YAAY,CAAC,QAAQ,SAAS,EACvC,KAAK,CAAC,GAAG,MAAM;AACf,QAAI,EAAE,SAAS,YAAY,aAAa,EAAE,SAAS,YAAY,eAAe;AAC7E,aAAO;AAAA,IACR;AAEA,QAAI,EAAE,SAAS,YAAY,iBAAiB,EAAE,SAAS,YAAY,WAAW;AAC7E,aAAO;AAAA,IACR;AAEA,WAAO,EAAE,WAAY,EAAE;AAAA,EACxB,CAAC;AAEF,QAAM,WAAyD,CAAC;AAChE,aAAW,OAAO,kBAAkB,CAAC,GAAG;AACvC,aAAS,KAAK,GAAG;AAEjB,QAAI,IAAI,SAAS,YAAY,eAAe;AAC3C,eAAS,KAAK,GAAI,SAAQ,IAAI,OAAO,CAAC,GAAG,KAAK,CAAC,GAAG,MAAM,EAAE,WAAY,EAAE,QAAS,CAAC;AAAA,IACnF;AAAA,EACD;AAEA,SAAO,SAAS,SAAS,WAAW,SAAS,KAAK,CAAC,GAAG,MAAM,EAAE,WAAY,EAAE,QAAS;AACtF;AAlCgB;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sortChannels.d.ts","sourceRoot":"","sources":["../src/sortChannels.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,cAAc,EAAe,MAAM,uBAAuB,CAAC;AAOzG,wBAAgB,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,cAAc,GAAG,uBAAuB,CAAC,EAAE,CAkCjG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"program":{"fileNames":["../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@4.5.4/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/.pnpm/tslib@2.3.1/node_modules/tslib/tslib.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/globals.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/permissions.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/emoji.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/internals.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/shared.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/base.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/string.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/integer.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/boolean.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/user.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/channel.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/role.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/mentionable.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/number.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommand.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/chatInput.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/contextMenu.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/_interactions/_applicationCommands/permissions.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/_interactions/applicationCommands.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/_interactions/responses.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/_interactions/base.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/_interactions/messageComponents.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/_interactions/ping.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/_interactions/autocomplete.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/interactions.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/sticker.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/channel.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/gateway.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/stageInstance.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/voice.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/guildScheduledEvent.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/guild.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/user.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/teams.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/application.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/webhook.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/auditLog.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/invite.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/oauth2.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/rest/common.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/rest/v9/auditLog.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/utils/internals.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/rest/v9/channel.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/rest/v9/emoji.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/rest/v9/gateway.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/rest/v9/guild.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/rest/v9/guildScheduledEvent.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/rest/v9/webhook.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/rest/v9/interactions.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/rest/v9/invite.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/rest/v9/oauth2.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/rest/v9/stageInstance.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/rest/v9/sticker.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/rest/v9/template.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/rest/v9/user.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/rest/v9/voice.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/rest/v9/index.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/template.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/payloads/v9/index.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/gateway/common.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/gateway/v9.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/rpc/v9.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/utils/v9.d.ts","../../../node_modules/.pnpm/discord-api-types@0.26.1/node_modules/discord-api-types/v9.d.ts","../src/embed.ts","../../utils/types/index.d.ts","../src/sortChannels.ts","../src/index.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/globals.global.d.ts","../../../node_modules/.pnpm/@types+node@16.11.19/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/@babel+types@7.16.7/node_modules/@babel/types/lib/index.d.ts","../../../node_modules/.pnpm/@types+babel__generator@7.6.4/node_modules/@types/babel__generator/index.d.ts","../../../node_modules/.pnpm/@babel+parser@7.16.7/node_modules/@babel/parser/typings/babel-parser.d.ts","../../../node_modules/.pnpm/@types+babel__template@7.4.1/node_modules/@types/babel__template/index.d.ts","../../../node_modules/.pnpm/@types+babel__traverse@7.14.2/node_modules/@types/babel__traverse/index.d.ts","../../../node_modules/.pnpm/@types+babel__core@7.1.18/node_modules/@types/babel__core/index.d.ts","../../../node_modules/.pnpm/@types+cookie@0.4.1/node_modules/@types/cookie/index.d.ts","../../../node_modules/.pnpm/@types+eslint-visitor-keys@1.0.0/node_modules/@types/eslint-visitor-keys/index.d.ts","../../../node_modules/.pnpm/@types+graceful-fs@4.1.5/node_modules/@types/graceful-fs/index.d.ts","../../../node_modules/.pnpm/@types+istanbul-lib-coverage@2.0.4/node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/.pnpm/@types+istanbul-lib-report@3.0.0/node_modules/@types/istanbul-lib-report/index.d.ts","../../../node_modules/.pnpm/@types+istanbul-reports@3.0.1/node_modules/@types/istanbul-reports/index.d.ts","../../../node_modules/.pnpm/jest-diff@26.6.2/node_modules/jest-diff/build/cleanupSemantic.d.ts","../../../node_modules/.pnpm/jest-diff@26.6.2/node_modules/jest-diff/build/types.d.ts","../../../node_modules/.pnpm/jest-diff@26.6.2/node_modules/jest-diff/build/diffLines.d.ts","../../../node_modules/.pnpm/jest-diff@26.6.2/node_modules/jest-diff/build/printDiffs.d.ts","../../../node_modules/.pnpm/jest-diff@26.6.2/node_modules/jest-diff/build/index.d.ts","../../../node_modules/.pnpm/pretty-format@26.6.2/node_modules/pretty-format/build/types.d.ts","../../../node_modules/.pnpm/pretty-format@26.6.2/node_modules/pretty-format/build/index.d.ts","../../../node_modules/.pnpm/@types+jest@26.0.24/node_modules/@types/jest/index.d.ts","../../../node_modules/.pnpm/@types+json-schema@7.0.9/node_modules/@types/json-schema/index.d.ts","../../../node_modules/.pnpm/form-data@3.0.1/node_modules/form-data/index.d.ts","../../../node_modules/.pnpm/@types+node-fetch@2.5.12/node_modules/@types/node-fetch/externals.d.ts","../../../node_modules/.pnpm/@types+node-fetch@2.5.12/node_modules/@types/node-fetch/index.d.ts","../../../node_modules/.pnpm/@types+normalize-package-data@2.4.1/node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/.pnpm/@types+parse-json@4.0.0/node_modules/@types/parse-json/index.d.ts","../../../node_modules/.pnpm/@types+prettier@2.4.2/node_modules/@types/prettier/index.d.ts","../../../node_modules/.pnpm/@types+stack-utils@2.0.1/node_modules/@types/stack-utils/index.d.ts","../../../node_modules/.pnpm/@types+yargs-parser@20.2.1/node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/.pnpm/@types+yargs@15.0.14/node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"89f78430e422a0f06d13019d60d5a45b37ec2d28e67eb647f73b1b0d19a46b72","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","2cc028cd0bdb35b1b5eb723d84666a255933fffbea607f72cbd0c7c7b4bee144",{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"4378fc8122ec9d1a685b01eb66c46f62aba6b239ca7228bb6483bcf8259ee493","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"d071129cba6a5f2700be09c86c07ad2791ab67d4e5ed1eb301d6746c62745ea4","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"e8c9f4e445a489991ca1a4232667de3ac36b07ba75ea335971fbeacf2d26fe67","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},"12f4cfe2fe60b810c3174537bc2ddb20c1067b7768643d12cb1266fd183afb75","eabab93ca9a786745af72195153280e883d8e36df9829ecf8b2f539824d042be","d3ed0bdc7460d95a90732872f2861a60f064318b8bad8ad4432d1c04e825c3e4","681f35c141c7a6201d5ffc038fbc28e46fb7a8702fc52b29d2d2dc7ca03328c2","cdb9451988aef334a797bc31eed3235d7b471a6e013bd2ccc92fbf89a535f4d7","8cedbf274baeb7b06233ee4adce9da566fc4c496d88b3fc6dbb58e27b7b90f58","f74b7a54220bc565c738b824fdc2f063ca727001ee9f332d5c399bc59071611f","c7f940a988e13a3948197c3448e896087f598a5a4c7814030d1e54332043d1af","55518514e8bff9cebd363d735c3e85ba1c6f7588c9f320dbc1d565086ef2fc48","9f7e239f4945672307c7d4403aa22bfe3d03f438fa072d7f158095f7df724e9f","7c5073d67f4f2546f368fe635573cfe6de977ed82318d01be15cee4c76c81199","7428869b608e55da6957d000ef9af727ec7424ebef7d2accc3901287c588b5e5","ddef4fa1fd835adfae5660c6c98b24b602fbb65db1e2570fa5d9e947ad5cb17f","e7fb389e0c13e2120c9a8c824ddfabe18e56c316e53e66072e8d86e0610791e6","1b1bd699dfd3c316e64d0d40ce6e35265c24d25a18f6a4505904a0cc21f1ff67","8441a2b8098131edeec9b5092ae81903938a8c3ec8871de2502decff35ccda50","7dbf615f4a2003faa46d93052c7abaa635aa541e266090b0b2350f40f3ae3242","9575d7cfbd601fda04531bb7a10dcc68529554c484e93e5f85a39e2101988612","d91ebb09c2ae0cf320b66c42db3811e4cc8a8ebfc63c3b1e0ee0085cf1fa51ef","b044fccf84b0f5c7cd8a1800a2ef0a7b740c062245823ce009265f4db3942623","97e85df57e051301f940bad38a1e521bf4bd5e98da75554223cd30b0126b29f3","7c717290cb697d86874835037c8aab715d9477e7377c2a53198f2093c0addb2a","e285d39bd2590bf6e30dc326b513ffbc6e7ca2d67fcd94f2761e7f54cfa46dfc","d0d504c82b2a5d2bf48b951a5502ac7284ed974e3249a4fd1c795522c11d9a0d","168eef670afa53e786ccb6afbf3cb78457ff6cc90064e80f0bc5da96cffda665","5651b6955a71b3733260dcf5f7d90f9d648d70b0c1fe24ff8bdcda589f60cbff","36ef474db058911c62a48e6137965cb1dbbdef6a5c97b6887795984d9ee53afb","f416e94790298bdfb37bdc8adb84239880af9224fb1c8513386a6e380aee805d","22af4d26bffe0e8c6c84e9d0d524d9cf770475365ca1c87467dbadd472c90b87","79ce4bd3aabe9f6232bbf25eeaad9994ca94f416139224ebb01085e5ec8290af","fef0f40e32a9e21e58a8ed60607caa0037e55c4c6fe3c842a5c3bd54888f9afa","aebf66a3565c822b77a0c63280f3b07ef3040c985cfea54ad60e91f93b171ab9","aaed09d856decdec134bd8c26a6cbf7d2584bf80c9e89c44c97e267b394b471b","6e18d45952d633c80a1d3a18171aa4a99d3dd0a1615ac2fd88fa93ec01d18ae8","ea4676f9da6673aa1835921f4d9ade3c9fa36a874633b9b90c3dbcde901da3a2","d110ef7cb005b60066855a3d0613dcb33e78c88ab48f1a94be49d8670d9b5496","f3eced93d63b305dd25c3bc0f550921dda3e40acab73276a929e9d01afe44ffe","236a8048bc96944178f7459a0533cc3002e4f923a5f9bca88834d0d2a9290483","d5a60529c38f737d3567074f9a4ec7e4da7759df10912cad6f3d8bdbe662e9a1","4334f5fea672cd97484fa8ef470e5656d0f1bfcc48af553b7f1565bd46f96497","22b6cddb5322bfe32a890fdd3f3a06264d1539f892e3a4f6dbf6f3aa8135883f","3da82fc6ac4649060e524e8bce0b8ba8fe9b17716961f859d30df03734841211","f29e54511f37f6b0c8fa2825db6498afb9ffe2ab828ea6e692b68529cdba7482","437b16e89921dc25ab6313e6685d08c6de6a7df806ff0ffd83596116cb69a0ca","6028cfd2497f620b82b9e75502d3ae11dbb22b87286e2f21859cd5818f75ce9e","543771e77174eda3343f06a7edd0af8b044d83ac8b5e73ec7fbe576fa090d4a2","3134088754c10c988c58ad5cc63b6746e390d72c14a89d73a56100656925b532","95f782b13666a491781b662afacf326f2733f44d8e69a3302ef6e8f30e5784e4","b26659455eb3489593a2bc52a3db4ba638ac626b3a6b2c487c60616846eb33bb","3eba383986313232108bd804db31b71f60367732f6bb08b0a595089efb8f2652","0421ecd58522337c4659fd264eaa659281f494811728c6c9cb873f027719e9d8","5997a6356ec3bca0376b56cd4273adff367934c192e80acb9ca84b2a141727be","fa51e795c197f47e1637261e029249887cd04c36ca9b811d08af8604d8691dc8","d49cc486d093e5e8ae1c26ab9ef34ff6aa3b370173b72a8c7f26d5405abbd896","eb01a7a34a9801b025e68ffcfeba35878026ef0aed36c5d5c1167c27509e68ba","60935703b458c8c407471d3a87112e7733cae17198cf1fa254020c0ffed85b1d","eeabb4e164fe8fbc0caf6afec094230498edc84e7239a3ad38b9c9255b36f80b","e6c450d02573f08e0b7253cbfadd93855c2353344e38b0681c06d44c3caaa6a3","cae3abdc49bdbbefe16879b9e0e08a7c1c8cd2864b7d64645dff1112901145ba","301c604c264389f8f6b4911830488dade60db491489c53b8e7f782616e2b9385","37f92d1fb75f356fcb796bd0dcb65a8a49c93676c1804c13649a690abdd6f2a3","bad7ce18863ea540ea1b6a908f14bb407eeb8ba629f5daed791740cf6512c10e","bc75aa14918b32aab1b84c9f036e0d0636a67a34d87a5c9b8663a43434cb46bf","d9de6be7ea546933d744a8f6c222ce18f840a68cddc8eac8c5a4af37fbc6d802","06511a15f80ee05b40d987fe15532069416e8276d6cd0b0112e6bf058c975ffe","880787c9fb1ef2e540e1f3316ef53d3fb3ce65fc286afc7a060532e8996d475d","94371ffc473f9a6a1feb7d14841a21e2b580906814e6742d88716399b1e1e2d7","8af607a21b60e83a9e3b4b1a76847af380fefd5c649cccdcc2eb5f7d3a9bb1cb","14a8cc94275e349f94ae47b7fce45183c9c592a9e88ab3755eaab591c5d519ef","72334ba05b50cfff1539839af0cf63835340abea0c70cf210ef18c0c2fdfbe05","0d5a2ee1fdfa82740e0103389b9efd6bfe145a20018a2da3c02b89666181f4d9","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"92d63add669d18ebc349efbacd88966d6f2ccdddfb1b880b2db98ae3aa7bf7c4","affectsGlobalScope":true},"ccc94049a9841fe47abe5baef6be9a38fc6228807974ae675fb15dc22531b4be",{"version":"9acfe4d1ff027015151ce81d60797b04b52bffe97ad8310bb0ec2e8fd61e1303","affectsGlobalScope":true},"95843d5cfafced8f3f8a5ce57d2335f0bcd361b9483587d12a25e4bd403b8216","afc6e96061af46bcff47246158caee7e056f5288783f2d83d6858cd25be1c565",{"version":"34f5bcac12b36d70304b73de5f5aab3bb91bd9919f984be80579ebcad03a624e","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","2f520601649a893e6a49a8851ebfcf4be8ce090dc1281c2a08a871cb04e8251f","f50c975ab7b50e25a69e3d8a3773894125b44e9698924105f23b812bf7488baf","2b8c764f856a1dd0a9a2bf23e5efddbff157de8138b0754010be561ae5fcaa90","76650408392bf49a8fbf3e2b6b302712a92d76af77b06e2da1cc8077359c4409","0af3121e68297b2247dd331c0d24dba599e50736a7517a5622d5591aae4a3122","6972fca26f6e9bd56197568d4379f99071a90766e06b4fcb5920a0130a9202be",{"version":"4a2628e95962c8ab756121faa3ac2ed348112ff7a87b5c286dd2cc3326546b4c","affectsGlobalScope":true},"80793b2277f31baa199234daed806fff0fb11491d1ebd3357e520c3558063f00","a049a59a02009fc023684fcfaf0ac526fe36c35dcc5d2b7d620c1750ba11b083","b9b963043551b034abd9e7c6d859f7a81d99479fde938d983114d167d0644a78","160cc6e3d06938535bc887754afe5798c22d81ce83a9792ebfe2371a70f2ffc2","4b9a003b5c556c96784132945bb41c655ea11273b1917f5c8d0c154dd5fd20dd","a458dc78104cc80048ac24fdc02fe6dce254838094c2f25641b3f954d9721241",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"eecd493fc62c4dba3d988e2d7dff63299bf12ab49f5c9021dfef8dcc1ff2089e","abc1c425b2ad6720433f40f1877abfa4223f0f3dd486c9c28c492179ca183cb6","945a841f9a591197154c85386bc5a1467d42d325104bb36db51bc566bbb240be","10c39ce1df102994b47d4bc0c71aa9a6aea76f4651a5ec51914431f50bc883a1",{"version":"8207e7e6db9aa5fc7e61c8f17ba74cf9c115d26f51f91ee93f790815a7ea9dfb","affectsGlobalScope":true},"9f1069b9e2c051737b1f9b4f1baf50e4a63385a6a89c32235549ae87fc3d5492","ee18f2da7a037c6ceeb112a084e485aead9ea166980bf433474559eac1b46553","29c2706fa0cc49a2bd90c83234da33d08bb9554ecec675e91c1f85087f5a5324","0acbf26bf958f9e80c1ffa587b74749d2697b75b484062d36e103c137c562bc3","d7838022c7dab596357a9604b9c6adffe37dc34085ce0779c958ce9545bd7139","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"a7971f9fb2a32ec7788ec6cda9d7a33c02023dfe9a62db2030ad1359649d8050","c33a6ea7147af60d8e98f1ac127047f4b0d4e2ce28b8f08ff3de07ca7cc00637",{"version":"b42b47e17b8ece2424ae8039feb944c2e3ba4b262986aebd582e51efbdca93dc","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","2408611d9b4146e35d1dbd1f443ccd8e187c74614a54b80300728277529dbf11","998a3de5237518c0b3ac00a11b3b4417affb008aa20aedee52f3fdae3cb86151","ad41008ffe077206e1811fc873f4d9005b5fd7f6ab52bb6118fef600815a5cb4","d88ecca73348e7c337541c4b8b60a50aca5e87384f6b8a422fc6603c637e4c21","badae0df9a8016ac36994b0a0e7b82ba6aaa3528e175a8c3cb161e4683eec03e","c3db860bcaaaeb3bbc23f353bbda1f8ab82756c8d5e973bebb3953cb09ea68f2","235a53595bd20b0b0eeb1a29cb2887c67c48375e92f03749b2488fbd46d0b1a0","bc09393cd4cd13f69cf1366d4236fbae5359bb550f0de4e15767e9a91d63dfb1","9c266243b01545e11d2733a55ad02b4c00ecdbda99c561cd1674f96e89cdc958","c71155c05fc76ff948a4759abc1cb9feec036509f500174bc18dad4c7827a60c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"1cdb8f094b969dcc183745dc88404e2d8fcf2a858c6e7cc2441011476573238e","d5d7b68f5369a210c235cd65458369888f8b839192d088c964f21cab3ac954db","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","64b867c61effed7b5bc0cc06b3d8eac23b067a3fba581fc7d3c292fa593e6a45","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","3b043cf9a81854a72963fdb57d1884fc4da1cf5be69b5e0a4c5b751e58cb6d88","dd5647a9ccccb2b074dca8a02b00948ac293091ebe73fdf2e6e98f718819f669","117ffeecf6c55e25b6446f449ad079029b5e7317399b0a693858faaaea5ca73e","725d9be2fd48440256f4deb00649adffdbc5ecd282b09e89d4e200663792c34c","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","69da61a7b5093dac77fa3bec8be95dcf9a74c95a0e9161edb98bb24e30e439d2","561eca7a381b96d6ccac6e4061e6d2ae53f5bc44203f3fd9f5b26864c32ae6e9","62ea38627e3ebab429f7616812a9394d327c2bc271003dfba985de9b4137369f","b4439890c168d646357928431100daac5cbdee1d345a34e6bf6eca9f3abe22bc","5d72971a459517c44c1379dab9ed248e87a61ba0a1e0f25c9d67e1e640cd9a09","02d734976af36f4273d930bea88b3e62adf6b078cf120c1c63d49aa8d8427c5c",{"version":"516a426e3960379f310107635b8f3a7e8c307c6c665080b128039d9299ec4087","affectsGlobalScope":true},"0359682c54e487c4cab2b53b2b4d35cc8dea4d9914bc6abcdb5701f8b8e745a4","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","208bb742e0f201470da121bc73847c74b62cff4172f38ae5949ae77d6c9c6b71","062bd2910098fc059ba93e347649b3e126c555f7b144033d21d3f8ef63d3e39b","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","9d9e658d1d5b805562749ce383ef8c67ccb796394d8734d9c138788d7dab6ee3","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","f7e133b20ee2669b6c0e5d7f0cd510868c57cd64b283e68c7f598e30ce9d76d2","09c4b2e2d3070239d563fc690f0cc5db04a2d9b66a23e61aef8b5274e3e9910c"],"options":{"declaration":true,"declarationDir":"../types","declarationMap":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"importsNotUsedAsValues":2,"module":1,"noEmitHelpers":true,"noImplicitOverride":true,"noUncheckedIndexedAccess":true,"outDir":"./","removeComments":true,"skipLibCheck":true,"sourceMap":true,"strict":true,"target":7},"fileIdsList":[[158,166],[158],[158,166,167,168,169,170],[158,166,168],[131,158,165],[158,175],[158,176],[158,182,184],[133,157,158,165,187,188],[115,158],[118,158],[119,124,158],[120,130,131,138,147,157,158],[120,121,130,138,158],[122,158],[123,124,131,139,158],[124,147,154,158],[125,127,130,138,158],[126,158],[127,128,158],[129,130,158],[130,158],[130,131,132,147,157,158],[130,131,132,147,158],[133,138,147,157,158],[130,131,133,134,138,147,154,157,158],[133,135,147,154,157,158],[115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164],[130,136,158],[137,157,158],[127,130,138,147,158],[139,158],[140,158],[118,141,158],[142,156,158,162],[143,158],[144,158],[130,145,158],[145,146,158,160],[130,147,148,149,158],[147,149,158],[147,148,158],[150,158],[151,158],[130,152,153,158],[152,153,158],[124,138,154,158],[155,158],[138,156,158],[119,133,144,157,158],[124,158],[147,158,159],[158,160],[158,161],[119,124,130,132,141,147,157,158,160,162],[147,158,163],[158,194],[46,88,105,106,158],[50,158],[50,51,158],[46,50,51,73,158],[46,50,51,158],[50,51,62,158],[50,51,60,158],[46,49,50,52,53,54,55,56,57,58,59,60,61,65,67,105,158],[46,49,65,67,73,79,158],[46,65,158],[46,158],[46,62,63,64,66,67,73,78,158],[105,158],[46,66,73,78,79,158],[67,71,73,158],[66,67,158],[65,105,110,158],[46,79,80,158],[46,47,72,73,75,77,78,79,82,158],[46,47,48,71,72,78,79,81,158],[46,47,79,158],[46,48,73,79,158],[46,47,48,72,73,74,75,76,77,79,158],[46,78,79,158],[47,48,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,104,158],[65,66,67,68,69,70,158],[73,75,77,78,79,81,158],[46,78,158],[46,79,158],[46,79,103,158],[46,105,158],[46,83,158],[46,88,105,158],[46,88,89,105,158],[46,88,110,158],[46,86,87,89,90,91,92,93,94,95,96,97,98,99,100,101,102,158],[88,94,105,158],[88,105,158],[46,103,105,107,108,109,158],[133,147,158,165],[158,178,179],[158,178,179,180,181],[158,183],[45,110,158],[45,111,113,158],[45,110,112,158]],"referencedMap":[[168,1],[166,2],[171,3],[167,1],[169,4],[170,1],[172,2],[173,2],[174,5],[175,2],[176,6],[177,7],[185,8],[186,2],[188,2],[189,9],[115,10],[116,10],[118,11],[119,12],[120,13],[121,14],[122,15],[123,16],[124,17],[125,18],[126,19],[127,20],[128,20],[129,21],[130,22],[131,23],[132,24],[117,2],[164,2],[133,25],[134,26],[135,27],[165,28],[136,29],[137,30],[138,31],[139,32],[140,33],[141,34],[142,35],[143,36],[144,37],[145,38],[146,39],[147,40],[149,41],[148,42],[150,43],[151,44],[152,45],[153,46],[154,47],[155,48],[156,49],[157,50],[158,51],[159,52],[160,53],[161,54],[162,55],[163,56],[190,2],[191,2],[192,2],[193,2],[194,2],[195,57],[106,2],[107,58],[46,2],[51,59],[54,60],[56,61],[53,60],[58,62],[59,60],[57,62],[50,2],[52,60],[60,63],[61,64],[55,62],[62,65],[63,66],[49,67],[64,68],[65,69],[70,70],[67,71],[68,72],[69,73],[66,74],[81,75],[83,76],[73,77],[48,78],[74,79],[78,80],[77,81],[105,82],[71,83],[84,84],[85,2],[47,68],[75,85],[72,86],[80,86],[104,87],[79,85],[76,85],[82,88],[86,2],[87,89],[89,90],[90,90],[91,70],[92,91],[93,92],[103,93],[95,94],[96,88],[97,88],[98,90],[99,95],[100,95],[101,90],[102,70],[94,90],[108,2],[88,2],[109,70],[110,96],[187,97],[178,2],[180,98],[182,99],[181,98],[179,2],[184,100],[183,2],[45,2],[11,2],[10,2],[2,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[3,2],[4,2],[23,2],[20,2],[21,2],[22,2],[24,2],[25,2],[26,2],[5,2],[27,2],[28,2],[29,2],[30,2],[6,2],[31,2],[32,2],[33,2],[34,2],[7,2],[39,2],[35,2],[36,2],[37,2],[38,2],[8,2],[43,2],[40,2],[41,2],[42,2],[1,2],[9,2],[44,2],[111,101],[114,102],[113,103],[112,2]],"exportedModulesMap":[[168,1],[166,2],[171,3],[167,1],[169,4],[170,1],[172,2],[173,2],[174,5],[175,2],[176,6],[177,7],[185,8],[186,2],[188,2],[189,9],[115,10],[116,10],[118,11],[119,12],[120,13],[121,14],[122,15],[123,16],[124,17],[125,18],[126,19],[127,20],[128,20],[129,21],[130,22],[131,23],[132,24],[117,2],[164,2],[133,25],[134,26],[135,27],[165,28],[136,29],[137,30],[138,31],[139,32],[140,33],[141,34],[142,35],[143,36],[144,37],[145,38],[146,39],[147,40],[149,41],[148,42],[150,43],[151,44],[152,45],[153,46],[154,47],[155,48],[156,49],[157,50],[158,51],[159,52],[160,53],[161,54],[162,55],[163,56],[190,2],[191,2],[192,2],[193,2],[194,2],[195,57],[106,2],[107,58],[46,2],[51,59],[54,60],[56,61],[53,60],[58,62],[59,60],[57,62],[50,2],[52,60],[60,63],[61,64],[55,62],[62,65],[63,66],[49,67],[64,68],[65,69],[70,70],[67,71],[68,72],[69,73],[66,74],[81,75],[83,76],[73,77],[48,78],[74,79],[78,80],[77,81],[105,82],[71,83],[84,84],[85,2],[47,68],[75,85],[72,86],[80,86],[104,87],[79,85],[76,85],[82,88],[86,2],[87,89],[89,90],[90,90],[91,70],[92,91],[93,92],[103,93],[95,94],[96,88],[97,88],[98,90],[99,95],[100,95],[101,90],[102,70],[94,90],[108,2],[88,2],[109,70],[110,96],[187,97],[178,2],[180,98],[182,99],[181,98],[179,2],[184,100],[183,2],[45,2],[11,2],[10,2],[2,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[3,2],[4,2],[23,2],[20,2],[21,2],[22,2],[24,2],[25,2],[26,2],[5,2],[27,2],[28,2],[29,2],[30,2],[6,2],[31,2],[32,2],[33,2],[34,2],[7,2],[39,2],[35,2],[36,2],[37,2],[38,2],[8,2],[43,2],[40,2],[41,2],[42,2],[1,2],[9,2],[44,2],[111,101],[114,102],[113,103],[112,2]],"semanticDiagnosticsPerFile":[168,166,171,167,169,170,172,173,174,175,176,177,185,186,188,189,115,116,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,117,164,133,134,135,165,136,137,138,139,140,141,142,143,144,145,146,147,149,148,150,151,152,153,154,155,156,157,158,159,160,161,162,163,190,191,192,193,194,195,106,107,46,51,54,56,53,58,59,57,50,52,60,61,55,62,63,49,64,65,70,67,68,69,66,81,83,73,48,74,78,77,105,71,84,85,47,75,72,80,104,79,76,82,86,87,89,90,91,92,93,103,95,96,97,98,99,100,101,102,94,108,88,109,110,187,178,180,182,181,179,184,183,45,11,10,2,12,13,14,15,16,17,18,19,3,4,23,20,21,22,24,25,26,5,27,28,29,30,6,31,32,33,34,7,39,35,36,37,38,8,43,40,41,42,1,9,44,111,114,113,112]},"version":"4.5.4"}
|
|
1
|
+
{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/tslib/tslib.d.ts","../../../node_modules/discord-api-types/globals.d.ts","../../../node_modules/discord-api-types/payloads/v10/oauth2.d.ts","../../../node_modules/discord-api-types/payloads/v10/permissions.d.ts","../../../node_modules/discord-api-types/payloads/v10/emoji.d.ts","../../../node_modules/discord-api-types/payloads/v10/sticker.d.ts","../../../node_modules/discord-api-types/payloads/v10/guild.d.ts","../../../node_modules/discord-api-types/payloads/v10/user.d.ts","../../../node_modules/discord-api-types/payloads/v10/teams.d.ts","../../../node_modules/discord-api-types/payloads/v10/application.d.ts","../../../node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/_chatInput/shared.d.ts","../../../node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/_chatInput/base.d.ts","../../../node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/_chatInput/attachment.d.ts","../../../node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/_chatInput/boolean.d.ts","../../../node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/_chatInput/channel.d.ts","../../../node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/_chatInput/integer.d.ts","../../../node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/_chatInput/mentionable.d.ts","../../../node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/_chatInput/number.d.ts","../../../node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/_chatInput/role.d.ts","../../../node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/_chatInput/string.d.ts","../../../node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/_chatInput/subcommand.d.ts","../../../node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts","../../../node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/_chatInput/user.d.ts","../../../node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/internals.d.ts","../../../node_modules/discord-api-types/rest/common.d.ts","../../../node_modules/discord-api-types/payloads/common.d.ts","../../../node_modules/discord-api-types/payloads/v10/guildScheduledEvent.d.ts","../../../node_modules/discord-api-types/payloads/v10/stageInstance.d.ts","../../../node_modules/discord-api-types/payloads/v10/webhook.d.ts","../../../node_modules/discord-api-types/payloads/v10/auditLog.d.ts","../../../node_modules/discord-api-types/payloads/v10/invite.d.ts","../../../node_modules/discord-api-types/rest/v10/auditLog.d.ts","../../../node_modules/discord-api-types/utils/internals.d.ts","../../../node_modules/discord-api-types/rest/v10/channel.d.ts","../../../node_modules/discord-api-types/rest/v10/emoji.d.ts","../../../node_modules/discord-api-types/rest/v10/gateway.d.ts","../../../node_modules/discord-api-types/rest/v10/guild.d.ts","../../../node_modules/discord-api-types/rest/v10/guildScheduledEvent.d.ts","../../../node_modules/discord-api-types/rest/v10/webhook.d.ts","../../../node_modules/discord-api-types/rest/v10/interactions.d.ts","../../../node_modules/discord-api-types/rest/v10/invite.d.ts","../../../node_modules/discord-api-types/rest/v10/oauth2.d.ts","../../../node_modules/discord-api-types/rest/v10/stageInstance.d.ts","../../../node_modules/discord-api-types/rest/v10/sticker.d.ts","../../../node_modules/discord-api-types/rest/v10/template.d.ts","../../../node_modules/discord-api-types/rest/v10/user.d.ts","../../../node_modules/discord-api-types/rest/v10/voice.d.ts","../../../node_modules/discord-api-types/rest/v10/index.d.ts","../../../node_modules/discord-api-types/payloads/v10/template.d.ts","../../../node_modules/discord-api-types/payloads/v10/voice.d.ts","../../../node_modules/discord-api-types/payloads/v10/index.d.ts","../../../node_modules/discord-api-types/payloads/v10/_interactions/responses.d.ts","../../../node_modules/discord-api-types/payloads/v10/_interactions/base.d.ts","../../../node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/chatInput.d.ts","../../../node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/contextMenu.d.ts","../../../node_modules/discord-api-types/payloads/v10/_interactions/_applicationCommands/permissions.d.ts","../../../node_modules/discord-api-types/payloads/v10/_interactions/applicationCommands.d.ts","../../../node_modules/discord-api-types/payloads/v10/_interactions/autocomplete.d.ts","../../../node_modules/discord-api-types/payloads/v10/_interactions/messageComponents.d.ts","../../../node_modules/discord-api-types/payloads/v10/_interactions/modalSubmit.d.ts","../../../node_modules/discord-api-types/payloads/v10/_interactions/ping.d.ts","../../../node_modules/discord-api-types/payloads/v10/interactions.d.ts","../../../node_modules/discord-api-types/payloads/v10/channel.d.ts","../../../node_modules/discord-api-types/payloads/v10/gateway.d.ts","../../../node_modules/discord-api-types/gateway/common.d.ts","../../../node_modules/discord-api-types/gateway/v10.d.ts","../../../node_modules/discord-api-types/rpc/common.d.ts","../../../node_modules/discord-api-types/rpc/v10.d.ts","../../../node_modules/discord-api-types/utils/v10.d.ts","../../../node_modules/discord-api-types/v10.d.ts","../src/embed.ts","../../utils/dist/index.d.ts","../src/sortChannels.ts","../src/index.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@types/chai-subset/index.d.ts","../../../node_modules/@types/cookie/index.d.ts","../../../node_modules/@types/eslint/helpers.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/eslint/index.d.ts","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/@types/prettier/index.d.ts"],"fileInfos":[{"version":"f5c28122bee592cfaf5c72ed7bcc47f453b79778ffa6e301f45d21a0970719d4","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","3eb679a56cab01203a1ba7edeade937f6a2a4c718513b2cd930b579807fa9359","aea179452def8a6152f98f63b191b84e7cbd69b0e248c91e61fb2e52328abe8c",{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"cd483c056da900716879771893a3c9772b66c3c88f8943b4205aec738a94b1d0","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"ff667ee99e5a28c3dc5063a3cfd4d3436699e3fb035d4451037da7f567da542a","affectsGlobalScope":true},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true},{"version":"6ea9ab679ea030cf46c16a711a316078e9e02619ebaf07a7fcd16964aba88f2d","affectsGlobalScope":true},{"version":"6bda95ea27a59a276e46043b7065b55bd4b316c25e70e29b572958fa77565d43","affectsGlobalScope":true},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true},{"version":"c37f8a49593a0030eecb51bbfa270e709bec9d79a6cc3bb851ef348d4e6b26f8","affectsGlobalScope":true},"14a84fbe4ec531dcbaf5d2594fd95df107258e60ae6c6a076404f13c3f66f28e","9533a725b93b82a2bab9487aafe372801517ffd5cf427bd208ce7639b226ce87","eaa3d83837a79996c2ee1c98c1b48681767646031ab681952e375b3bb2a065bc","438d82bf075448627967a78cea3b31971495450df62802d54738a7d9b9472df1","4d30e9f01edd93d079fb01a4728a767164e1454d0e7b722c66bcf95f67b83fa4","487278055ec14c64a6a1ab7ad3edc15f5372ea954adb76eedecf68c1413f35d2","c20384e9ea4e8a438fbe7287520f06b6c2000854f1f3bbadf7e106662fdeb6c1","9b23058829182fb90522f0da3eca46646d95271cdbc31e1bbe1a1bf940e1f1c2","47d76d5052f990198d6741da4b48821b07065a4e185825e233167d077899f0f1","9751242c586ee044e0be5548a720887189b098f150f3b5d1af611deb343bd63b","1db3e129a04a88a80bbd87e6b2f65dbdd19228df65f34018ba0d4494791620ef","89bfac3001bd8b5854f2b4c65ad8bb59316c2b1db5fbf1997b462b9106576a9c","6401ac96ca2b605ea1a64ff7e4d478b7fe6f47662b5bd9d793f6ca87cdf6401d","29f4774dd4b4f282f83bd540348fa9f7d802e69de03e7bf07e06bac26066be13","10c1ab62352f28161fe65d2ba88861cfb53fec92e2cd829a077da20e3f6f602e","700bcc43264760b5013255e25eb78666d8c3985c13938790da148d28c58bbbc3","1d221b3d4c799fafb87d10da78854dd769d46bb3aea0950d0f62a2b9d167dede","c162c6b003a3ae6efca77331043cb73169325d0976dd7442e08d8aaba3b72bf3","7aeb75b0330334acd6180298836678c376666ea5e124cdb655d0cb062816b759","a50d20c95fdb686f621c1ed628c487d2d1c088259916db25fdc7e5d46aae86cd","93366d07c90d128ecc68aa6432449d64ec62e834cf8650cdae8d6f6f12a911a5","e6605b0a933513e11612ebf4aef75f3f6eb331c0bfd9854c84c97f4106f59561","59b4e54326ac9f74780b0f335739dcf00d29151d6f43c0e6536f8ae0cd778b14","826c65464b843df3e95f36828959af9275ea035fdb77157be1c11be42cc69cf1","0b0d2596661778d539d2d2971e70b92675b1c632d991d20bfbb3a2a6a0bf1519","667aa3b49423cddefc1c9496e36cad75df659648236b8b293b051f39402950b2","70ca3cb2df28e64194e350f31dba3d4079554ced4a0a21186621b9325c74e200","b10fd4d7564316516ef38a77dbd44a84a171efbca29b7cf0b8d739134b9505a3","e895e05c84660347c423cf6133e89846d27f63710c88ed84457f5a7d803f573f","2ada2d8b8e098bf022ae6572539a2df089b66929f716b6b0091ba660574541bb","0c0ce7953d1b83b02511f25b4a9796c73435140168606ddc93c6dde4bdd3f8b6","05f93dc0779663b58d39fa9d6e06ecb3ce891bfb15a7f3c0452dcf06135707a3","c56e0bb78da9df07cf8341f42fcb83ab8249ac59e001ee0c3aa7faa6d338348e","fdb53f66e7c46a8818b4e95fbe8eb1fa31a410705b662550398f67db54e32305","bfd428cf50420e965b59a832bc1e6b1cd1249a9c58f971b3defd2c9853d3327c","dec598716939df93f63d13ca7071d769f3644bef8f0b24eac69f4aa75e066cc9","9ae483327708bac5d7ece3be75fa422b7830a3566499286340759bca4c479710","675153146f88eeead4fb7ea6f98130d1514a5a1163d4caa58c6fcfd2d3936ea9","cd4bfef8e03cc43b60026ddeac94fa5fd1d48ee65785b395ad6836b154d6d60f","8152c023134de6f37244a061817e955ac9aca5a1319aead9ac06da90a161042f","24fdb8f4783d77a4ebba257b21ef3a57e6db12d680b9e53544206ddba3e8e28c","864bcc31f78760799c6fab9067f694d98a9be2b73d3ed42dc547ee40a437ad08","ca46958959923bbf0b8722aa547a5a738101759b0d4e0e10cb48cb05ac347a8b","aedd384920e3b1d634999fc3e629fb4cdd2b9e655f887d0d2025afca412f51f8","e962ce62baaefef0adf4e77ea0b6f12928ec645cad4d03ca45b0c373dfe8e34d","7aea6edc885fb60d84907f13f4b9bfcdc26d96035d3e1bcf4de3e2fb39b01e2b","cbac58da70076934a9cd0eb166cb74ae300fb74ab199231faf24c05503a4d26c","92bb7b7cf3b4b4c201ecb27e46e1e584430e87f7c0ffbd24013af8d97d013e10","fc48093072e2c3744a031e65c903955ec0664c9d7f14d0f2b78397a275033e72","af70d86652e018fdc289df1bdd926026620a4ef8d2f5bb54c4b3b7e8cc792a3f","52398b4bf82408b299800cb070a070650fa247e5b70d7b7267310198daf5e5f9","0b73cd4db27f23a6ed653b9803bb8e88fffa10a829681d836c687fcd5105e4e4","37bf3139b0ceaf28c9ac4d1ca5ed35d32f190ab57a05f4c45a181842355af876","32c95a5e166735084a56b82a3fbe7571a9a67c9a60640fdd215d36b899869150","e33e9d11e28627ab1528219958a0aa6e158deed4dc05f55dd3ea64dd8bd0ac8a","cdb6f2b3fcceb09dd2f073380aac69a96b6f5c5ff0de917c110b0acf444153c4","ea241f00fbf9b93c039cc4327034b22975e4a57542213c2293d5d4772bb49083","f7eca5c990cca97e500e753a7efc8026be6e990928cc878e3ec82db7288af8b0","ca4d4d256698753e5f6b540fc51655f5ce7d0b22e98d99c1eae742079b49934f","7f1b123cd7f959c1ba58d6fb1c21fdd2d3f7a59db982d956d185a1c261564851","616b3ada12d7a7701f01474baf4e546f9a1f3d622653e122cf4fcf8f93def54a","8ce317b69fff4eb953d795f0ec80dc0e584ee1bbe59b1d57359d5da3d17adbb9","cbbda58455b0fbe24313925dace6eaa86fc09f418213f12a02df328880c26903","62ad0491d44a8b3de19eec335cd31120a259d2234e9d7237c0fc1609f799e38d","518fdf30b58a81043de3c889e2c1fb271ed6e26aa40bacd557cb439046c22439","7295f87ec01ced018928faf15c23a4eabf88ee5297c9d918c7108792f6aeb5e0","41044448cfd08efc0dbbb3da7399223a57a8abc7c5060d84eb3ee2cc710a7c86","2609b586c8c4ecf9b41f1bec6dd2fb751a3ff597c2bc22abecd38d0e7f92bb9f","90894ffc759a88f06aff669e649467ad6d20b377df7badc3276f6cfb04ed4ddf","1c7e2e5a0c194aa73f222f2296829dd7ddb112c371f379a0e6b47818b575bc0c",{"version":"4f817a61fb465765916ab9b32bfe5e89d3db53595f580eff120321fd413f6f12","signature":"2c6e7d7165e9eff1d49043f80f426b7f1af17a5057b4a4ee63f029ba2db4c588"},"5c51f1bf4332739690d8561767a1b5e30dd9189f0a8c2654241098e5627c3bf1",{"version":"b653ef72ada791e3dc33222923aa51246aa2389bc62249f7da2dc79d869acbb3","signature":"e3f20a1e7af431150622d3d197fc927450aa3801d6ba532d88645637c318bfa4"},"72334ba05b50cfff1539839af0cf63835340abea0c70cf210ef18c0c2fdfbe05",{"version":"3a15910b7f45dfc393f010ee8f913580b08d65752800fc48147ea13445acd5f7","affectsGlobalScope":true},{"version":"f4c0db3a49cea9babd5d224ba14243a6a6119bf65a65198994033aaea3a60a71","affectsGlobalScope":true},"4a547783c826c1dec10d96734687ae4db2e89d40261e91b5c327b60748315dc1",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"ade6e6c42087188b5c56f0384651c32736b2df192dadd3c8617e9845b76fd41b","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","2d474dfb84cd28ea43f27fe684da8c00382cbd40cee45e1dad4e9f41f6c437b6","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","0d5a2ee1fdfa82740e0103389b9efd6bfe145a20018a2da3c02b89666181f4d9","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"2f6c9750131d5d2fdaba85c164a930dc07d2d7e7e8970b89d32864aa6c72620c","affectsGlobalScope":true},"56d13f223ab40f71840795f5bef2552a397a70666ee60878222407f3893fb8d0",{"version":"aeeee3998c5a730f8689f04038d41cf4245c9edbf6ef29a698e45b36e399b8ed","affectsGlobalScope":true},"95843d5cfafced8f3f8a5ce57d2335f0bcd361b9483587d12a25e4bd403b8216","afc6e96061af46bcff47246158caee7e056f5288783f2d83d6858cd25be1c565",{"version":"34f5bcac12b36d70304b73de5f5aab3bb91bd9919f984be80579ebcad03a624e","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","90b94d3d2aa3432cc9dd2d15f56a38b166163fc555404c74243e1af29c5549d8","f50c975ab7b50e25a69e3d8a3773894125b44e9698924105f23b812bf7488baf","c993aac3b6d4a4620ef9651497069eb84806a131420e4f158ea9396fb8eb9b8c","76650408392bf49a8fbf3e2b6b302712a92d76af77b06e2da1cc8077359c4409","0af3121e68297b2247dd331c0d24dba599e50736a7517a5622d5591aae4a3122","06ccebc2c2db57d6bdbca63b71c4ae5e6ddc42d972fd8f122d4c1a28aa111b25",{"version":"81e8508d1e82278f5d3fee936f267e00c308af36219bfcee2631f9513c9c4017","affectsGlobalScope":true},"da35d7f570a3834994392d62fed0186f12fdcab176681388e42f544d2a5c535a","b65ccbecbe24e77d40875a59c209fbb9b866518acca742d2c27b91b034e5ff18","e3b886bacdd1fbf1f72e654596c80a55c7bc1d10bdf464aaf52f45ecd243862f","d2f5c67858e65ebb932c2f4bd2af646f5764e8ad7f1e4fbe942a0b5ea05dc0e7","4b9a003b5c556c96784132945bb41c655ea11273b1917f5c8d0c154dd5fd20dd","7f249c599e7a9335dd8e94a4bfe63f00e911756c3c23f77cdb6ef0ec4d479e4a",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"2cabc86ea4f972f2c8386903eccb8c19e2f2370fb9808b66dd8759c1f2ab30c7","abc1c425b2ad6720433f40f1877abfa4223f0f3dd486c9c28c492179ca183cb6","945a841f9a591197154c85386bc5a1467d42d325104bb36db51bc566bbb240be","10c39ce1df102994b47d4bc0c71aa9a6aea76f4651a5ec51914431f50bc883a1",{"version":"8207e7e6db9aa5fc7e61c8f17ba74cf9c115d26f51f91ee93f790815a7ea9dfb","affectsGlobalScope":true},"9f1069b9e2c051737b1f9b4f1baf50e4a63385a6a89c32235549ae87fc3d5492","ee18f2da7a037c6ceeb112a084e485aead9ea166980bf433474559eac1b46553","29c2706fa0cc49a2bd90c83234da33d08bb9554ecec675e91c1f85087f5a5324","0acbf26bf958f9e80c1ffa587b74749d2697b75b484062d36e103c137c562bc3","02b3239cf1b1ff8737e383ed5557f0247499d15f5bd21ab849b1a24687b6100c","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"33eee034727baf564056b4ea719075c23d3b4767d0b5f9c6933b81f3d77774d2","c33a6ea7147af60d8e98f1ac127047f4b0d4e2ce28b8f08ff3de07ca7cc00637",{"version":"aee7013623e7632fba449d4df1da92925b27d9b816cb05546044dbfe54c88ef4","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","f6b2d700c02c818151361abb13737527e8bc0aab9b7065b662b25d9eaba4c5de","998a3de5237518c0b3ac00a11b3b4417affb008aa20aedee52f3fdae3cb86151","ad41008ffe077206e1811fc873f4d9005b5fd7f6ab52bb6118fef600815a5cb4",{"version":"1aad825534c73852a1f3275e527d729a2c0640f539198fdfdfeb83b839851910","affectsGlobalScope":true},"badae0df9a8016ac36994b0a0e7b82ba6aaa3528e175a8c3cb161e4683eec03e","c3db860bcaaaeb3bbc23f353bbda1f8ab82756c8d5e973bebb3953cb09ea68f2","235a53595bd20b0b0eeb1a29cb2887c67c48375e92f03749b2488fbd46d0b1a0","bc09393cd4cd13f69cf1366d4236fbae5359bb550f0de4e15767e9a91d63dfb1","9c266243b01545e11d2733a55ad02b4c00ecdbda99c561cd1674f96e89cdc958","c71155c05fc76ff948a4759abc1cb9feec036509f500174bc18dad4c7827a60c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"1503a452a67127e5c2da794d1c7c44344d5038373aae16c9b03ac964db159edd","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","f1d8b21cdf08726021c8cce0cd6159486236cf1d633eeabbc435b5b2e5869c2e"],"options":{"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"importsNotUsedAsValues":2,"module":99,"noEmitHelpers":true,"noImplicitOverride":true,"noUncheckedIndexedAccess":true,"outDir":"./","removeComments":true,"skipLibCheck":true,"sourceMap":true,"strict":true,"target":7},"fileIdsList":[[127,180],[180],[130,131,132,180],[137,180],[140,180],[141,146,180],[142,152,153,160,169,179,180],[142,143,152,160,180],[144,180],[145,146,153,161,180],[146,169,176,180],[147,149,152,160,180],[148,180],[149,150,180],[151,152,180],[152,180],[152,153,154,169,179,180],[152,153,154,169,180],[155,160,169,179,180],[152,153,155,156,160,169,176,179,180],[155,157,169,176,179,180],[137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186],[152,158,180],[159,179,180],[149,152,160,169,180],[161,180],[162,180],[140,163,180],[164,178,180,184],[165,180],[166,180],[152,167,180],[167,168,180,182],[152,169,170,171,180],[169,171,180],[169,170,180],[172,180],[173,180],[152,174,175,180],[174,175,180],[146,160,176,180],[177,180],[160,178,180],[141,155,166,179,180],[146,180],[169,180,181],[180,182],[180,183],[141,146,152,154,163,169,179,180,182,184],[169,180,185],[54,85,103,116,117,180],[77,180],[54,63,64,180],[63,122,180],[63,64,180],[54,63,64,115,180],[122,180],[63,64,106,180],[63,64,73,180],[54,63,65,66,67,68,69,70,71,72,73,74,75,76,103,105,109,180],[54,60,76,105,109,115,180],[54,109,180],[54,180],[54,59,104,105,106,107,108,115,122,180],[103,180],[54,59,60,104,115,122,180],[105,114,115,180],[103,115,180],[104,105,180],[103,109,115,122,180],[54,55,60,61,180],[54,56,58,59,60,79,80,81,114,115,180],[54,56,57,58,60,62,114,180],[54,56,60,180],[54,57,60,115,180],[54,56,57,58,60,116,180],[54,59,60,180],[55,56,57,58,59,60,61,62,78,79,80,81,82,83,101,102,114,115,116,180],[104,105,109,110,111,112,113,180],[59,60,62,79,80,115,180],[54,59,180],[54,60,180],[54,60,100,180],[54,103,180],[54,82,180],[54,85,103,180],[54,85,86,103,180],[54,85,122,180],[54,77,84,86,87,88,89,90,91,92,93,94,95,96,97,98,99,180],[85,91,103,180],[85,103,180],[119,180],[54,100,103,118,120,121,180],[53,122,180],[53,123,125,180],[53,122,124,180],[122]],"referencedMap":[[128,1],[127,2],[129,2],[130,2],[133,3],[131,2],[134,2],[132,2],[135,2],[136,2],[137,4],[138,4],[140,5],[141,6],[142,7],[143,8],[144,9],[145,10],[146,11],[147,12],[148,13],[149,14],[150,14],[151,15],[152,16],[153,17],[154,18],[139,2],[186,2],[155,19],[156,20],[157,21],[187,22],[158,23],[159,24],[160,25],[161,26],[162,27],[163,28],[164,29],[165,30],[166,31],[167,32],[168,33],[169,34],[171,35],[170,36],[172,37],[173,38],[174,39],[175,40],[176,41],[177,42],[178,43],[179,44],[180,45],[181,46],[182,47],[183,48],[184,49],[185,50],[188,2],[189,2],[190,2],[117,2],[118,51],[54,2],[78,52],[65,53],[64,54],[66,55],[67,56],[68,55],[69,53],[70,55],[71,53],[63,57],[72,55],[73,58],[74,59],[75,53],[106,60],[107,61],[76,62],[108,63],[109,64],[110,65],[105,66],[111,67],[112,68],[113,69],[104,70],[62,71],[82,72],[115,73],[57,74],[116,75],[59,76],[79,77],[103,78],[114,79],[83,80],[55,2],[56,63],[80,81],[58,82],[61,82],[101,83],[60,81],[102,81],[81,84],[77,2],[84,85],[86,86],[87,86],[88,65],[89,87],[90,88],[100,89],[92,90],[93,84],[94,84],[95,86],[96,91],[97,91],[98,86],[99,65],[91,86],[119,2],[120,92],[85,2],[121,65],[122,93],[53,2],[12,2],[11,2],[2,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[3,2],[4,2],[24,2],[21,2],[22,2],[23,2],[25,2],[26,2],[27,2],[5,2],[28,2],[29,2],[30,2],[31,2],[6,2],[32,2],[33,2],[34,2],[35,2],[7,2],[36,2],[41,2],[42,2],[37,2],[38,2],[39,2],[40,2],[8,2],[46,2],[43,2],[44,2],[45,2],[47,2],[9,2],[48,2],[49,2],[50,2],[51,2],[1,2],[10,2],[52,2],[123,94],[126,95],[125,96],[124,2]],"exportedModulesMap":[[128,1],[127,2],[129,2],[130,2],[133,3],[131,2],[134,2],[132,2],[135,2],[136,2],[137,4],[138,4],[140,5],[141,6],[142,7],[143,8],[144,9],[145,10],[146,11],[147,12],[148,13],[149,14],[150,14],[151,15],[152,16],[153,17],[154,18],[139,2],[186,2],[155,19],[156,20],[157,21],[187,22],[158,23],[159,24],[160,25],[161,26],[162,27],[163,28],[164,29],[165,30],[166,31],[167,32],[168,33],[169,34],[171,35],[170,36],[172,37],[173,38],[174,39],[175,40],[176,41],[177,42],[178,43],[179,44],[180,45],[181,46],[182,47],[183,48],[184,49],[185,50],[188,2],[189,2],[190,2],[117,2],[118,51],[54,2],[78,52],[65,53],[64,54],[66,55],[67,56],[68,55],[69,53],[70,55],[71,53],[63,57],[72,55],[73,58],[74,59],[75,53],[106,60],[107,61],[76,62],[108,63],[109,64],[110,65],[105,66],[111,67],[112,68],[113,69],[104,70],[62,71],[82,72],[115,73],[57,74],[116,75],[59,76],[79,77],[103,78],[114,79],[83,80],[55,2],[56,63],[80,81],[58,82],[61,82],[101,83],[60,81],[102,81],[81,84],[77,2],[84,85],[86,86],[87,86],[88,65],[89,87],[90,88],[100,89],[92,90],[93,84],[94,84],[95,86],[96,91],[97,91],[98,86],[99,65],[91,86],[119,2],[120,92],[85,2],[121,65],[122,93],[53,2],[12,2],[11,2],[2,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[3,2],[4,2],[24,2],[21,2],[22,2],[23,2],[25,2],[26,2],[27,2],[5,2],[28,2],[29,2],[30,2],[31,2],[6,2],[32,2],[33,2],[34,2],[35,2],[7,2],[36,2],[41,2],[42,2],[37,2],[38,2],[39,2],[40,2],[8,2],[46,2],[43,2],[44,2],[45,2],[47,2],[9,2],[48,2],[49,2],[50,2],[51,2],[1,2],[10,2],[52,2],[123,97],[126,95],[125,97],[124,2]],"semanticDiagnosticsPerFile":[128,127,129,130,133,131,134,132,135,136,137,138,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,139,186,155,156,157,187,158,159,160,161,162,163,164,165,166,167,168,169,171,170,172,173,174,175,176,177,178,179,180,181,182,183,184,185,188,189,190,117,118,54,78,65,64,66,67,68,69,70,71,63,72,73,74,75,106,107,76,108,109,110,105,111,112,113,104,62,82,115,57,116,59,79,103,114,83,55,56,80,58,61,101,60,102,81,77,84,86,87,88,89,90,100,92,93,94,95,96,97,98,99,91,119,120,85,121,122,53,12,11,2,13,14,15,16,17,18,19,20,3,4,24,21,22,23,25,26,27,5,28,29,30,31,6,32,33,34,35,7,36,41,42,37,38,39,40,8,46,43,44,45,47,9,48,49,50,51,1,10,52,123,126,125,124]},"version":"4.7.4"}
|
package/package.json
CHANGED
|
@@ -1,31 +1,43 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "http://json.schemastore.org/package",
|
|
3
2
|
"name": "@chatsift/discord-utils",
|
|
4
|
-
"description": "Niche utilities for working with Discord's API",
|
|
3
|
+
"description": "Niche utilities for working with Discord's raw API",
|
|
4
|
+
"version": "0.2.2",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
|
-
"types": "./
|
|
7
|
-
"
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
"import": "./dist/index.mjs",
|
|
9
|
+
"require": "./dist/index.js",
|
|
10
|
+
"types": "./dist/index.d.ts"
|
|
11
|
+
},
|
|
12
|
+
"directories": {
|
|
13
|
+
"lib": "src"
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist"
|
|
17
|
+
],
|
|
18
|
+
"scripts": {
|
|
19
|
+
"build": "tsup && tsc",
|
|
20
|
+
"test": "vitest run",
|
|
21
|
+
"lint": "eslint src --ext .ts",
|
|
22
|
+
"prepublishOnly": "yarn build && yarn lint && yarn test"
|
|
23
|
+
},
|
|
8
24
|
"repository": {
|
|
9
25
|
"type": "git",
|
|
10
|
-
"url": "
|
|
26
|
+
"url": "https://github.com/chatsift/utilities.git"
|
|
11
27
|
},
|
|
12
|
-
"author": "didinele",
|
|
13
28
|
"bugs": {
|
|
14
|
-
"url": "https://github.com/
|
|
29
|
+
"url": "https://github.com/chatsift/utilities/issues"
|
|
15
30
|
},
|
|
16
|
-
"homepage": "https://github.com/
|
|
31
|
+
"homepage": "https://github.com/chatsift/utilities",
|
|
17
32
|
"devDependencies": {
|
|
18
|
-
"@types/node": "^16.11.
|
|
19
|
-
"
|
|
33
|
+
"@types/node": "^16.11.43",
|
|
34
|
+
"tsup": "^6.1.3",
|
|
35
|
+
"typescript": "^4.7.4",
|
|
36
|
+
"vitest": "^0.17.0"
|
|
20
37
|
},
|
|
21
38
|
"dependencies": {
|
|
22
|
-
"@chatsift/utils": "^0.
|
|
23
|
-
"discord-api-types": "^0.
|
|
24
|
-
"tslib": "^2.
|
|
25
|
-
}
|
|
26
|
-
"scripts": {
|
|
27
|
-
"lint": "eslint src --ext .ts",
|
|
28
|
-
"build": "tsc"
|
|
29
|
-
},
|
|
30
|
-
"readme": "# `@chatsift/discord-utils`\n\n[](https://github.com/ChatSift/packages/blob/main/LICENSE)\n[](https://www.npmjs.com/package/@chatsift/discord-utils)\n[](https://github.com/ChatSift/packages/actions/workflows/quality.yml)\n\nNiche utilities for working with Discord's API\n\n## Installation\n\n- `npm install @chatsift/discord-utils`\n- `pnpm install @chatsift/discord-utils`\n- `yarn add @chatsift/discord-utils`\n\n## Contributing\n\nPlease see the main [README.md](https://github.com/ChatSift/packages) for info on how to contribute to this package or the other `@chatsift` packages.\n\n## LICENSE\n\nThis project is licensed under the GNU AGPLv3 license.\n\nIt should, however, be noted that some packages are forks of other open source projects, and are therefore, sub-licensed.\n"
|
|
39
|
+
"@chatsift/utils": "^0.2.0",
|
|
40
|
+
"discord-api-types": "^0.36.1",
|
|
41
|
+
"tslib": "^2.4.0"
|
|
42
|
+
}
|
|
31
43
|
}
|
package/LICENSE
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
Copyright (C) 2021 didinele
|
|
2
|
-
|
|
3
|
-
This program is free software: you can redistribute it and/or modify
|
|
4
|
-
it under the terms of the GNU Affero General Public License as
|
|
5
|
-
published by the Free Software Foundation, either version 3 of the
|
|
6
|
-
License, or (at your option) any later version.
|
|
7
|
-
|
|
8
|
-
This program is distributed in the hope that it will be useful,
|
|
9
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
11
|
-
GNU Affero General Public License for more details.
|
|
12
|
-
|
|
13
|
-
You should have received a copy of the GNU Affero General Public License
|
|
14
|
-
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
package/dist/embed.js
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.truncateEmbed = exports.ellipsis = exports.addFields = exports.MESSAGE_LIMITS = void 0;
|
|
4
|
-
exports.MESSAGE_LIMITS = {
|
|
5
|
-
CONTENT: 4000,
|
|
6
|
-
EMBED_COUNT: 10,
|
|
7
|
-
EMBEDS: {
|
|
8
|
-
TITLE: 256,
|
|
9
|
-
DESCRIPTION: 4096,
|
|
10
|
-
FOOTER: 2048,
|
|
11
|
-
AUTHOR: 256,
|
|
12
|
-
FIELD_COUNT: 25,
|
|
13
|
-
FIELDS: {
|
|
14
|
-
NAME: 256,
|
|
15
|
-
VALUE: 1024,
|
|
16
|
-
},
|
|
17
|
-
},
|
|
18
|
-
};
|
|
19
|
-
function addFields(embed, ...fields) {
|
|
20
|
-
(embed.fields ?? (embed.fields = [])).push(...fields);
|
|
21
|
-
return embed;
|
|
22
|
-
}
|
|
23
|
-
exports.addFields = addFields;
|
|
24
|
-
function ellipsis(text, total) {
|
|
25
|
-
if (text.length <= total) {
|
|
26
|
-
return text;
|
|
27
|
-
}
|
|
28
|
-
const keep = total - 3;
|
|
29
|
-
if (keep < 1) {
|
|
30
|
-
return text.slice(0, total);
|
|
31
|
-
}
|
|
32
|
-
return `${text.slice(0, keep)}...`;
|
|
33
|
-
}
|
|
34
|
-
exports.ellipsis = ellipsis;
|
|
35
|
-
function truncateEmbed(embed) {
|
|
36
|
-
return {
|
|
37
|
-
...embed,
|
|
38
|
-
description: embed.description ? ellipsis(embed.description, exports.MESSAGE_LIMITS.EMBEDS.DESCRIPTION) : undefined,
|
|
39
|
-
title: embed.title ? ellipsis(embed.title, exports.MESSAGE_LIMITS.EMBEDS.TITLE) : undefined,
|
|
40
|
-
author: embed.author
|
|
41
|
-
? {
|
|
42
|
-
...embed.author,
|
|
43
|
-
name: ellipsis(embed.author.name, exports.MESSAGE_LIMITS.EMBEDS.AUTHOR),
|
|
44
|
-
}
|
|
45
|
-
: undefined,
|
|
46
|
-
footer: embed.footer
|
|
47
|
-
? {
|
|
48
|
-
...embed.footer,
|
|
49
|
-
text: ellipsis(embed.footer.text, exports.MESSAGE_LIMITS.EMBEDS.FOOTER),
|
|
50
|
-
}
|
|
51
|
-
: undefined,
|
|
52
|
-
fields: embed.fields
|
|
53
|
-
? embed.fields
|
|
54
|
-
.map((field) => ({
|
|
55
|
-
name: ellipsis(field.name, exports.MESSAGE_LIMITS.EMBEDS.FIELDS.NAME),
|
|
56
|
-
value: ellipsis(field.value, exports.MESSAGE_LIMITS.EMBEDS.FIELDS.VALUE),
|
|
57
|
-
}))
|
|
58
|
-
.slice(0, exports.MESSAGE_LIMITS.EMBEDS.FIELD_COUNT)
|
|
59
|
-
: [],
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
exports.truncateEmbed = truncateEmbed;
|
|
63
|
-
//# sourceMappingURL=embed.js.map
|
package/dist/embed.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"embed.js","sourceRoot":"","sources":["../src/embed.ts"],"names":[],"mappings":";;;AAKa,QAAA,cAAc,GAAG;IAI7B,OAAO,EAAE,IAAI;IAIb,WAAW,EAAE,EAAE;IAIf,MAAM,EAAE;QAIP,KAAK,EAAE,GAAG;QAIV,WAAW,EAAE,IAAI;QAIjB,MAAM,EAAE,IAAI;QAIZ,MAAM,EAAE,GAAG;QAIX,WAAW,EAAE,EAAE;QAIf,MAAM,EAAE;YAIP,IAAI,EAAE,GAAG;YAIT,KAAK,EAAE,IAAI;SACX;KACD;CACQ,CAAC;AAOX,SAAgB,SAAS,CAAC,KAAe,EAAE,GAAG,MAAuB;IACpE,CAAC,KAAK,CAAC,MAAM,KAAZ,KAAK,CAAC,MAAM,GAAK,EAAE,EAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;IACtC,OAAO,KAAK,CAAC;AACd,CAAC;AAHD,8BAGC;AAOD,SAAgB,QAAQ,CAAC,IAAY,EAAE,KAAa;IACnD,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;QACzB,OAAO,IAAI,CAAC;KACZ;IAED,MAAM,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;IACvB,IAAI,IAAI,GAAG,CAAC,EAAE;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;KAC5B;IAED,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;AACpC,CAAC;AAXD,4BAWC;AAMD,SAAgB,aAAa,CAAC,KAAe;IAC5C,OAAO;QACN,GAAG,KAAK;QACR,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,sBAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;QAC3G,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,sBAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;QACnF,MAAM,EAAE,KAAK,CAAC,MAAM;YACnB,CAAC,CAAC;gBACA,GAAG,KAAK,CAAC,MAAM;gBACf,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,sBAAc,CAAC,MAAM,CAAC,MAAM,CAAC;aAC9D;YACH,CAAC,CAAC,SAAS;QACZ,MAAM,EAAE,KAAK,CAAC,MAAM;YACnB,CAAC,CAAC;gBACA,GAAG,KAAK,CAAC,MAAM;gBACf,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,sBAAc,CAAC,MAAM,CAAC,MAAM,CAAC;aAC9D;YACH,CAAC,CAAC,SAAS;QACZ,MAAM,EAAE,KAAK,CAAC,MAAM;YACnB,CAAC,CAAC,KAAK,CAAC,MAAM;iBACX,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAChB,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,sBAAc,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC7D,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,sBAAc,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;aAChE,CAAC,CAAC;iBACF,KAAK,CAAC,CAAC,EAAE,sBAAc,CAAC,MAAM,CAAC,WAAW,CAAC;YAC9C,CAAC,CAAC,EAAE;KACL,CAAC;AACH,CAAC;AA1BD,sCA0BC"}
|
package/dist/sortChannels.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.sortChannels = void 0;
|
|
4
|
-
const utils_1 = require("@chatsift/utils");
|
|
5
|
-
require("discord-api-types/v9");
|
|
6
|
-
function sortChannels(unsorted) {
|
|
7
|
-
const grouped = (0, utils_1.groupBy)(unsorted, (c) => c.parent_id ?? 'top');
|
|
8
|
-
const sortedTopLevel = grouped.top
|
|
9
|
-
?.filter((channel) => !channel.parent_id)
|
|
10
|
-
.sort((a, b) => {
|
|
11
|
-
if (a.type === 0 && b.type === 4) {
|
|
12
|
-
return -1;
|
|
13
|
-
}
|
|
14
|
-
if (a.type === 4 && b.type === 0) {
|
|
15
|
-
return 1;
|
|
16
|
-
}
|
|
17
|
-
return a.position - b.position;
|
|
18
|
-
});
|
|
19
|
-
const channels = [];
|
|
20
|
-
for (const top of sortedTopLevel ?? []) {
|
|
21
|
-
channels.push(top);
|
|
22
|
-
if (top.type === 4) {
|
|
23
|
-
channels.push(...(grouped[top.id] ?? []).sort((a, b) => a.position - b.position));
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
return channels.length ? channels : unsorted.sort((a, b) => a.position - b.position);
|
|
27
|
-
}
|
|
28
|
-
exports.sortChannels = sortChannels;
|
|
29
|
-
//# sourceMappingURL=sortChannels.js.map
|
package/dist/sortChannels.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sortChannels.js","sourceRoot":"","sources":["../src/sortChannels.ts"],"names":[],"mappings":";;;AAAA,2CAA0C;AAC1C,gCAA+D;AAK/D,SAAgB,YAAY,CAAC,QAAsB;IAElD,MAAM,OAAO,GAAG,IAAA,eAAO,EAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC;IAG/D,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG;QACjC,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;SACxC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACd,IAAI,CAAC,CAAC,IAAI,MAA0B,IAAI,CAAC,CAAC,IAAI,MAA8B,EAAE;YAC7E,OAAO,CAAC,CAAC,CAAC;SACV;QAED,IAAI,CAAC,CAAC,IAAI,MAA8B,IAAI,CAAC,CAAC,IAAI,MAA0B,EAAE;YAC7E,OAAO,CAAC,CAAC;SACT;QAED,OAAO,CAAC,CAAC,QAAS,GAAG,CAAC,CAAC,QAAS,CAAC;IAClC,CAAC,CAAC,CAAC;IAEJ,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,KAAK,MAAM,GAAG,IAAI,cAAc,IAAI,EAAE,EAAE;QACvC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEnB,IAAI,GAAG,CAAC,IAAI,MAA8B,EAAE;YAC3C,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAS,GAAG,CAAC,CAAC,QAAS,CAAC,CAAC,CAAC;SACpF;KACD;IAED,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAS,GAAG,CAAC,CAAC,QAAS,CAAC,CAAC;AACxF,CAAC;AA7BD,oCA6BC"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import type { APIEmbed, APIEmbedField } from 'discord-api-types/v9';
|
|
2
|
-
import { addFields, ellipsis, MESSAGE_LIMITS, truncateEmbed } from '../embed';
|
|
3
|
-
|
|
4
|
-
describe('addFields', () => {
|
|
5
|
-
test('no existing fields', () => {
|
|
6
|
-
const embed: APIEmbed = {};
|
|
7
|
-
|
|
8
|
-
const field: APIEmbedField = { name: 'foo', value: 'bar' };
|
|
9
|
-
expect(addFields(embed, field)).toStrictEqual({ ...embed, fields: [field] });
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
test('existing fields', () => {
|
|
13
|
-
const field: APIEmbedField = { name: 'foo', value: 'bar' };
|
|
14
|
-
const embed: APIEmbed = { fields: [field] };
|
|
15
|
-
|
|
16
|
-
expect(addFields(embed, field)).toStrictEqual({ ...embed, fields: [field, field] });
|
|
17
|
-
});
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
describe('ellipsis', () => {
|
|
21
|
-
test('no ellipsis', () => {
|
|
22
|
-
expect(ellipsis('foo', 5)).toBe('foo');
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
test('ellipsis', () => {
|
|
26
|
-
expect(ellipsis('foobar', 4)).toBe('f...');
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
test('too long for ellipsis', () => {
|
|
30
|
-
expect(ellipsis('foo', 2)).toBe('fo');
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
describe('truncateEmbed', () => {
|
|
35
|
-
test('basic embed properties', () => {
|
|
36
|
-
const embed: APIEmbed = {
|
|
37
|
-
title: 'foo'.repeat(256),
|
|
38
|
-
description: 'bar'.repeat(4096),
|
|
39
|
-
author: { name: 'baz'.repeat(256) },
|
|
40
|
-
footer: { text: 'qux'.repeat(2048) },
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
const truncated = truncateEmbed(embed);
|
|
44
|
-
|
|
45
|
-
expect(truncated.title).toBe(ellipsis(embed.title, MESSAGE_LIMITS.EMBEDS.TITLE));
|
|
46
|
-
expect(truncated.description).toBe(ellipsis(embed.description, MESSAGE_LIMITS.EMBEDS.DESCRIPTION));
|
|
47
|
-
expect(truncated.author.name).toBe(ellipsis(embed.author.name, MESSAGE_LIMITS.EMBEDS.AUTHOR));
|
|
48
|
-
expect(truncated.footer.text).toBe(ellipsis(embed.footer.text, MESSAGE_LIMITS.EMBEDS.FOOTER));
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
test('fields', () => {
|
|
52
|
-
const embed: APIEmbed = {
|
|
53
|
-
fields: Array(30).fill({ name: 'foo', value: 'bar' }),
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
expect(truncateEmbed(embed).fields).toHaveLength(MESSAGE_LIMITS.EMBEDS.FIELD_COUNT);
|
|
57
|
-
});
|
|
58
|
-
});
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { sortChannels } from '../sortChannels';
|
|
2
|
-
import { ChannelType, APIChannel } from 'discord-api-types/v9';
|
|
3
|
-
|
|
4
|
-
test('sorting a list of channels', () => {
|
|
5
|
-
// Higher position than the category, but should come out on top
|
|
6
|
-
const first = {
|
|
7
|
-
id: '1',
|
|
8
|
-
position: 1,
|
|
9
|
-
type: ChannelType.GuildText,
|
|
10
|
-
} as unknown as APIChannel;
|
|
11
|
-
|
|
12
|
-
const second = {
|
|
13
|
-
id: '0',
|
|
14
|
-
position: 0,
|
|
15
|
-
type: ChannelType.GuildCategory,
|
|
16
|
-
} as unknown as APIChannel;
|
|
17
|
-
|
|
18
|
-
const third = {
|
|
19
|
-
id: '2',
|
|
20
|
-
position: 0,
|
|
21
|
-
type: ChannelType.GuildText,
|
|
22
|
-
parent_id: '0',
|
|
23
|
-
} as unknown as APIChannel;
|
|
24
|
-
|
|
25
|
-
const fourth = {
|
|
26
|
-
id: '3',
|
|
27
|
-
position: 1,
|
|
28
|
-
type: ChannelType.GuildText,
|
|
29
|
-
parent_id: '0',
|
|
30
|
-
} as unknown as APIChannel;
|
|
31
|
-
|
|
32
|
-
expect(sortChannels([first, second, third, fourth])).toStrictEqual([first, second, third, fourth]);
|
|
33
|
-
});
|
package/src/embed.ts
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import type { APIEmbed, APIEmbedField } from 'discord-api-types/v9';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Limits commonly encountered with Discord's API
|
|
5
|
-
*/
|
|
6
|
-
export const MESSAGE_LIMITS = {
|
|
7
|
-
/**
|
|
8
|
-
* How long a message can be in characters
|
|
9
|
-
*/
|
|
10
|
-
CONTENT: 4000,
|
|
11
|
-
/**
|
|
12
|
-
* How many embeds can be in a message
|
|
13
|
-
*/
|
|
14
|
-
EMBED_COUNT: 10,
|
|
15
|
-
/**
|
|
16
|
-
* Embed specific limits
|
|
17
|
-
*/
|
|
18
|
-
EMBEDS: {
|
|
19
|
-
/**
|
|
20
|
-
* How long an embed title can be in characters
|
|
21
|
-
*/
|
|
22
|
-
TITLE: 256,
|
|
23
|
-
/**
|
|
24
|
-
* How long an embed description can be in characters
|
|
25
|
-
*/
|
|
26
|
-
DESCRIPTION: 4096,
|
|
27
|
-
/**
|
|
28
|
-
* How long an embed footer can be in characters
|
|
29
|
-
*/
|
|
30
|
-
FOOTER: 2048,
|
|
31
|
-
/**
|
|
32
|
-
* How long an embed author can be in characters
|
|
33
|
-
*/
|
|
34
|
-
AUTHOR: 256,
|
|
35
|
-
/**
|
|
36
|
-
* How many fields an embed can have
|
|
37
|
-
*/
|
|
38
|
-
FIELD_COUNT: 25,
|
|
39
|
-
/**
|
|
40
|
-
* Field specific limits
|
|
41
|
-
*/
|
|
42
|
-
FIELDS: {
|
|
43
|
-
/**
|
|
44
|
-
* How long a field name can be in characters
|
|
45
|
-
*/
|
|
46
|
-
NAME: 256,
|
|
47
|
-
/**
|
|
48
|
-
* How long a field value can be in characters
|
|
49
|
-
*/
|
|
50
|
-
VALUE: 1024,
|
|
51
|
-
},
|
|
52
|
-
},
|
|
53
|
-
} as const;
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Adds the given fields to an embed - mutating it
|
|
57
|
-
* @param embed The embed to add fields to
|
|
58
|
-
* @param fields The fields to add
|
|
59
|
-
*/
|
|
60
|
-
export function addFields(embed: APIEmbed, ...fields: APIEmbedField[]): APIEmbed {
|
|
61
|
-
(embed.fields ??= []).push(...fields);
|
|
62
|
-
return embed;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Cuts off text after the given length - appending "..." at the end
|
|
67
|
-
* @param text The text to cut off
|
|
68
|
-
* @param total The maximum length of the text
|
|
69
|
-
*/
|
|
70
|
-
export function ellipsis(text: string, total: number): string {
|
|
71
|
-
if (text.length <= total) {
|
|
72
|
-
return text;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
const keep = total - 3;
|
|
76
|
-
if (keep < 1) {
|
|
77
|
-
return text.slice(0, total);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
return `${text.slice(0, keep)}...`;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Returns a fully truncated embed - safe to use with Discord's API - does not mutate the given embed
|
|
85
|
-
* @param embed The embed to truncate
|
|
86
|
-
*/
|
|
87
|
-
export function truncateEmbed(embed: APIEmbed): APIEmbed {
|
|
88
|
-
return {
|
|
89
|
-
...embed,
|
|
90
|
-
description: embed.description ? ellipsis(embed.description, MESSAGE_LIMITS.EMBEDS.DESCRIPTION) : undefined,
|
|
91
|
-
title: embed.title ? ellipsis(embed.title, MESSAGE_LIMITS.EMBEDS.TITLE) : undefined,
|
|
92
|
-
author: embed.author
|
|
93
|
-
? {
|
|
94
|
-
...embed.author,
|
|
95
|
-
name: ellipsis(embed.author.name, MESSAGE_LIMITS.EMBEDS.AUTHOR),
|
|
96
|
-
}
|
|
97
|
-
: undefined,
|
|
98
|
-
footer: embed.footer
|
|
99
|
-
? {
|
|
100
|
-
...embed.footer,
|
|
101
|
-
text: ellipsis(embed.footer.text, MESSAGE_LIMITS.EMBEDS.FOOTER),
|
|
102
|
-
}
|
|
103
|
-
: undefined,
|
|
104
|
-
fields: embed.fields
|
|
105
|
-
? embed.fields
|
|
106
|
-
.map((field) => ({
|
|
107
|
-
name: ellipsis(field.name, MESSAGE_LIMITS.EMBEDS.FIELDS.NAME),
|
|
108
|
-
value: ellipsis(field.value, MESSAGE_LIMITS.EMBEDS.FIELDS.VALUE),
|
|
109
|
-
}))
|
|
110
|
-
.slice(0, MESSAGE_LIMITS.EMBEDS.FIELD_COUNT)
|
|
111
|
-
: [],
|
|
112
|
-
};
|
|
113
|
-
}
|
package/src/index.ts
DELETED
package/src/sortChannels.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { groupBy } from '@chatsift/utils';
|
|
2
|
-
import { APIChannel, ChannelType } from 'discord-api-types/v9';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Sorts an array of text and category channels - **does not support other channel types**
|
|
6
|
-
*/
|
|
7
|
-
export function sortChannels(unsorted: APIChannel[]): APIChannel[] {
|
|
8
|
-
// Group the channels by their category - or "top" if they aren't in one
|
|
9
|
-
const grouped = groupBy(unsorted, (c) => c.parent_id ?? 'top');
|
|
10
|
-
|
|
11
|
-
// Sort the top level channels - text channels are above category channels, otherwise use their position
|
|
12
|
-
const sortedTopLevel = grouped.top
|
|
13
|
-
?.filter((channel) => !channel.parent_id)
|
|
14
|
-
.sort((a, b) => {
|
|
15
|
-
if (a.type === ChannelType.GuildText && b.type === ChannelType.GuildCategory) {
|
|
16
|
-
return -1;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
if (a.type === ChannelType.GuildCategory && b.type === ChannelType.GuildText) {
|
|
20
|
-
return 1;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
return a.position! - b.position!;
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
const channels = [];
|
|
27
|
-
for (const top of sortedTopLevel ?? []) {
|
|
28
|
-
channels.push(top);
|
|
29
|
-
|
|
30
|
-
if (top.type === ChannelType.GuildCategory) {
|
|
31
|
-
channels.push(...(grouped[top.id] ?? []).sort((a, b) => a.position! - b.position!));
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
return channels.length ? channels : unsorted.sort((a, b) => a.position! - b.position!);
|
|
36
|
-
}
|
package/tsconfig.eslint.json
DELETED
package/tsconfig.json
DELETED
package/types/sortChannels.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sortChannels.d.ts","sourceRoot":"","sources":["../src/sortChannels.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAe,MAAM,sBAAsB,CAAC;AAK/D,wBAAgB,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CA6BjE"}
|