discord.js-html-transcript 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +470 -0
  3. package/dist/downloader/assets.d.ts +18 -0
  4. package/dist/downloader/assets.js +53 -0
  5. package/dist/downloader/assets.js.map +1 -0
  6. package/dist/downloader/images.d.ts +28 -0
  7. package/dist/downloader/images.js +119 -0
  8. package/dist/downloader/images.js.map +1 -0
  9. package/dist/generator/index.d.ts +24 -0
  10. package/dist/generator/index.js +112 -0
  11. package/dist/generator/index.js.map +1 -0
  12. package/dist/generator/renderers/attachment.d.ts +23 -0
  13. package/dist/generator/renderers/attachment.js +154 -0
  14. package/dist/generator/renderers/attachment.js.map +1 -0
  15. package/dist/generator/renderers/components/Attachment Gallery.d.ts +9 -0
  16. package/dist/generator/renderers/components/Attachment Gallery.js +26 -0
  17. package/dist/generator/renderers/components/Attachment Gallery.js.map +1 -0
  18. package/dist/generator/renderers/components/Button.d.ts +9 -0
  19. package/dist/generator/renderers/components/Button.js +23 -0
  20. package/dist/generator/renderers/components/Button.js.map +1 -0
  21. package/dist/generator/renderers/components/Container.d.ts +6 -0
  22. package/dist/generator/renderers/components/Container.js +26 -0
  23. package/dist/generator/renderers/components/Container.js.map +1 -0
  24. package/dist/generator/renderers/components/Media Gallery.d.ts +8 -0
  25. package/dist/generator/renderers/components/Media Gallery.js +45 -0
  26. package/dist/generator/renderers/components/Media Gallery.js.map +1 -0
  27. package/dist/generator/renderers/components/Select Menu.d.ts +10 -0
  28. package/dist/generator/renderers/components/Select Menu.js +34 -0
  29. package/dist/generator/renderers/components/Select Menu.js.map +1 -0
  30. package/dist/generator/renderers/components/Spacing.d.ts +7 -0
  31. package/dist/generator/renderers/components/Spacing.js +17 -0
  32. package/dist/generator/renderers/components/Spacing.js.map +1 -0
  33. package/dist/generator/renderers/components/Thumbnail.d.ts +7 -0
  34. package/dist/generator/renderers/components/Thumbnail.js +21 -0
  35. package/dist/generator/renderers/components/Thumbnail.js.map +1 -0
  36. package/dist/generator/renderers/components/poll.d.ts +7 -0
  37. package/dist/generator/renderers/components/poll.js +78 -0
  38. package/dist/generator/renderers/components/poll.js.map +1 -0
  39. package/dist/generator/renderers/components/section/Section.d.ts +11 -0
  40. package/dist/generator/renderers/components/section/Section.js +21 -0
  41. package/dist/generator/renderers/components/section/Section.js.map +1 -0
  42. package/dist/generator/renderers/components/section/SectionAccessory.d.ts +6 -0
  43. package/dist/generator/renderers/components/section/SectionAccessory.js +20 -0
  44. package/dist/generator/renderers/components/section/SectionAccessory.js.map +1 -0
  45. package/dist/generator/renderers/components/section/SectionContent.d.ts +6 -0
  46. package/dist/generator/renderers/components/section/SectionContent.js +21 -0
  47. package/dist/generator/renderers/components/section/SectionContent.js.map +1 -0
  48. package/dist/generator/renderers/components/styles.d.ts +21 -0
  49. package/dist/generator/renderers/components/styles.js +1639 -0
  50. package/dist/generator/renderers/components/styles.js.map +1 -0
  51. package/dist/generator/renderers/components/utils.d.ts +36 -0
  52. package/dist/generator/renderers/components/utils.js +98 -0
  53. package/dist/generator/renderers/components/utils.js.map +1 -0
  54. package/dist/generator/renderers/components/voice.d.ts +5 -0
  55. package/dist/generator/renderers/components/voice.js +50 -0
  56. package/dist/generator/renderers/components/voice.js.map +1 -0
  57. package/dist/generator/renderers/components.d.ts +13 -0
  58. package/dist/generator/renderers/components.js +78 -0
  59. package/dist/generator/renderers/components.js.map +1 -0
  60. package/dist/generator/renderers/content.d.ts +26 -0
  61. package/dist/generator/renderers/content.js +396 -0
  62. package/dist/generator/renderers/content.js.map +1 -0
  63. package/dist/generator/renderers/embed.d.ts +59 -0
  64. package/dist/generator/renderers/embed.js +216 -0
  65. package/dist/generator/renderers/embed.js.map +1 -0
  66. package/dist/generator/renderers/message.d.ts +7 -0
  67. package/dist/generator/renderers/message.js +106 -0
  68. package/dist/generator/renderers/message.js.map +1 -0
  69. package/dist/generator/renderers/reply.d.ts +7 -0
  70. package/dist/generator/renderers/reply.js +74 -0
  71. package/dist/generator/renderers/reply.js.map +1 -0
  72. package/dist/generator/renderers/systemMessage.d.ts +15 -0
  73. package/dist/generator/renderers/systemMessage.js +168 -0
  74. package/dist/generator/renderers/systemMessage.js.map +1 -0
  75. package/dist/generator/transcript.d.ts +3 -0
  76. package/dist/generator/transcript.js +148 -0
  77. package/dist/generator/transcript.js.map +1 -0
  78. package/dist/index.d.ts +26 -0
  79. package/dist/index.js +159 -0
  80. package/dist/index.js.map +1 -0
  81. package/dist/options.d.ts +37 -0
  82. package/dist/options.js +89 -0
  83. package/dist/options.js.map +1 -0
  84. package/dist/static/client.d.ts +6 -0
  85. package/dist/static/client.js +626 -0
  86. package/dist/static/client.js.map +1 -0
  87. package/dist/types.d.ts +193 -0
  88. package/dist/types.js +10 -0
  89. package/dist/types.js.map +1 -0
  90. package/dist/utils/buildProfiles.d.ts +14 -0
  91. package/dist/utils/buildProfiles.js +136 -0
  92. package/dist/utils/buildProfiles.js.map +1 -0
  93. package/dist/utils/embeds.d.ts +2 -0
  94. package/dist/utils/embeds.js +17 -0
  95. package/dist/utils/embeds.js.map +1 -0
  96. package/dist/utils/extend.d.ts +8 -0
  97. package/dist/utils/extend.js +8 -0
  98. package/dist/utils/extend.js.map +1 -0
  99. package/dist/utils/utils.d.ts +9 -0
  100. package/dist/utils/utils.js +44 -0
  101. package/dist/utils/utils.js.map +1 -0
  102. package/package.json +100 -0
@@ -0,0 +1,396 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.RenderType = void 0;
7
+ exports.default = MessageContent;
8
+ exports.MessageSingleASTNode = MessageSingleASTNode;
9
+ exports.getChannelType = getChannelType;
10
+ const discord_components_react_1 = require("@derockdev/discord-components-react");
11
+ const discord_markdown_parser_1 = __importDefault(require("discord-markdown-parser"));
12
+ const discord_js_1 = require("discord.js");
13
+ const react_1 = __importDefault(require("react"));
14
+ const utils_1 = require("../../utils/utils");
15
+ var RenderType;
16
+ (function (RenderType) {
17
+ RenderType[RenderType["EMBED"] = 0] = "EMBED";
18
+ RenderType[RenderType["REPLY"] = 1] = "REPLY";
19
+ RenderType[RenderType["NORMAL"] = 2] = "NORMAL";
20
+ RenderType[RenderType["WEBHOOK"] = 3] = "WEBHOOK";
21
+ })(RenderType || (exports.RenderType = RenderType = {}));
22
+ const TIMESTAMP_LOCALE = 'en-GB';
23
+ const DISCORD_ANSI_FOREGROUND = {
24
+ 30: '#4e5058',
25
+ 31: '#dc322f',
26
+ 32: '#859900',
27
+ 33: '#b58900',
28
+ 34: '#268bd2',
29
+ 35: '#d33682',
30
+ 36: '#2aa198',
31
+ 37: '#ffffff',
32
+ 90: '#4e5058',
33
+ 91: '#dc322f',
34
+ 92: '#859900',
35
+ 93: '#b58900',
36
+ 94: '#268bd2',
37
+ 95: '#d33682',
38
+ 96: '#2aa198',
39
+ 97: '#ffffff',
40
+ };
41
+ const DISCORD_ANSI_BACKGROUND = {
42
+ 40: '#002b36',
43
+ 41: '#cb4b16',
44
+ 42: '#586e75',
45
+ 43: '#657b83',
46
+ 44: '#839496',
47
+ 45: '#6c71c4',
48
+ 46: '#93a1a1',
49
+ 47: '#fdf6e3',
50
+ 100: '#002b36',
51
+ 101: '#cb4b16',
52
+ 102: '#586e75',
53
+ 103: '#657b83',
54
+ 104: '#839496',
55
+ 105: '#6c71c4',
56
+ 106: '#93a1a1',
57
+ 107: '#fdf6e3',
58
+ };
59
+ const ANSI_ESCAPE_SEQUENCE = /\u001b\[([0-9;]*)m/g;
60
+ function getDefaultAnsiState() {
61
+ return {
62
+ backgroundColor: undefined,
63
+ bold: false,
64
+ color: undefined,
65
+ underline: false,
66
+ };
67
+ }
68
+ function parseAnsiCodes(sequence) {
69
+ if (!sequence) {
70
+ return [0];
71
+ }
72
+ return sequence
73
+ .split(';')
74
+ .map((part) => Number.parseInt(part, 10))
75
+ .filter((part) => Number.isFinite(part));
76
+ }
77
+ function applyAnsiCodes(state, codes) {
78
+ const nextState = Object.assign({}, state);
79
+ for (const code of codes.length > 0 ? codes : [0]) {
80
+ switch (code) {
81
+ case 0:
82
+ Object.assign(nextState, getDefaultAnsiState());
83
+ break;
84
+ case 1:
85
+ nextState.bold = true;
86
+ break;
87
+ case 4:
88
+ nextState.underline = true;
89
+ break;
90
+ case 22:
91
+ nextState.bold = false;
92
+ break;
93
+ case 24:
94
+ nextState.underline = false;
95
+ break;
96
+ case 39:
97
+ nextState.color = undefined;
98
+ break;
99
+ case 49:
100
+ nextState.backgroundColor = undefined;
101
+ break;
102
+ default:
103
+ if (DISCORD_ANSI_FOREGROUND[code]) {
104
+ nextState.color = DISCORD_ANSI_FOREGROUND[code];
105
+ }
106
+ else if (DISCORD_ANSI_BACKGROUND[code]) {
107
+ nextState.backgroundColor = DISCORD_ANSI_BACKGROUND[code];
108
+ }
109
+ break;
110
+ }
111
+ }
112
+ return nextState;
113
+ }
114
+ function getAnsiSegments(content) {
115
+ var _a;
116
+ const segments = [];
117
+ let state = getDefaultAnsiState();
118
+ let lastIndex = 0;
119
+ ANSI_ESCAPE_SEQUENCE.lastIndex = 0;
120
+ for (let match = ANSI_ESCAPE_SEQUENCE.exec(content); match !== null; match = ANSI_ESCAPE_SEQUENCE.exec(content)) {
121
+ if (match.index > lastIndex) {
122
+ segments.push({
123
+ state: Object.assign({}, state),
124
+ text: content.slice(lastIndex, match.index),
125
+ });
126
+ }
127
+ state = applyAnsiCodes(state, parseAnsiCodes((_a = match[1]) !== null && _a !== void 0 ? _a : ''));
128
+ lastIndex = match.index + match[0].length;
129
+ }
130
+ if (lastIndex < content.length) {
131
+ segments.push({
132
+ state: Object.assign({}, state),
133
+ text: content.slice(lastIndex),
134
+ });
135
+ }
136
+ return segments;
137
+ }
138
+ function getAnsiStyle(state) {
139
+ return Object.assign(Object.assign(Object.assign(Object.assign({}, (state.backgroundColor ? { backgroundColor: state.backgroundColor } : {})), (state.bold ? { fontWeight: 700 } : {})), (state.color ? { color: state.color } : {})), (state.underline ? { textDecoration: 'underline' } : {}));
140
+ }
141
+ function DiscordAnsiCodeBlock({ content }) {
142
+ const segments = getAnsiSegments(content);
143
+ return (react_1.default.createElement("pre", { className: "discord-code-block-pre discord-code-block-pre--multiline discord-ansi-code-block" },
144
+ react_1.default.createElement("code", { className: "discord-ansi-code" }, segments.map((segment, index) => segment.text.length > 0 ? (react_1.default.createElement("span", { key: index, style: getAnsiStyle(segment.state) }, segment.text)) : null))));
145
+ }
146
+ function formatTwoDigitDate(date) {
147
+ return new Intl.DateTimeFormat(TIMESTAMP_LOCALE, {
148
+ day: '2-digit',
149
+ month: '2-digit',
150
+ year: 'numeric',
151
+ }).format(date);
152
+ }
153
+ function formatTime(date, includeSeconds = false) {
154
+ return new Intl.DateTimeFormat(TIMESTAMP_LOCALE, Object.assign(Object.assign({ hour: '2-digit', minute: '2-digit' }, (includeSeconds ? { second: '2-digit' } : {})), { hour12: false })).format(date);
155
+ }
156
+ function formatLongDate(date, withWeekday = false) {
157
+ return new Intl.DateTimeFormat(TIMESTAMP_LOCALE, Object.assign(Object.assign({}, (withWeekday ? { weekday: 'long' } : {})), { day: 'numeric', month: 'long', year: 'numeric' })).format(date);
158
+ }
159
+ function formatRelativeTime(target) {
160
+ const differenceMs = target.getTime() - Date.now();
161
+ const isFuture = differenceMs > 0;
162
+ const absoluteMs = Math.abs(differenceMs);
163
+ const minute = 60 * 1000;
164
+ const hour = 60 * minute;
165
+ const day = 24 * hour;
166
+ const month = 30 * day;
167
+ const year = 365 * day;
168
+ const toLabel = (value, unit) => {
169
+ const label = `${value} ${unit}${value === 1 ? '' : 's'}`;
170
+ return isFuture ? `in ${label}` : `${label} ago`;
171
+ };
172
+ if (absoluteMs < minute) {
173
+ const seconds = Math.max(1, Math.floor(absoluteMs / 1000));
174
+ return toLabel(seconds, 'second');
175
+ }
176
+ if (absoluteMs < hour) {
177
+ return toLabel(Math.floor(absoluteMs / minute), 'minute');
178
+ }
179
+ if (absoluteMs < day) {
180
+ return toLabel(Math.floor(absoluteMs / hour), 'hour');
181
+ }
182
+ if (absoluteMs < month) {
183
+ return toLabel(Math.max(1, Math.round(absoluteMs / day)), 'day');
184
+ }
185
+ if (absoluteMs < year) {
186
+ return toLabel(Math.max(1, Math.round(absoluteMs / month)), 'month');
187
+ }
188
+ return toLabel(Math.max(1, Math.round(absoluteMs / year)), 'year');
189
+ }
190
+ function formatDiscordTimestamp(timestamp, format) {
191
+ const date = new Date(timestamp);
192
+ switch (format) {
193
+ case 't':
194
+ return formatTime(date);
195
+ case 'T':
196
+ return formatTime(date, true);
197
+ case 'd':
198
+ return formatTwoDigitDate(date);
199
+ case 'D':
200
+ return formatLongDate(date);
201
+ case 'f':
202
+ return `${formatLongDate(date)} ${formatTime(date)}`;
203
+ case 'F':
204
+ return `${formatLongDate(date, true)} ${formatTime(date)}`;
205
+ case 'R':
206
+ return formatRelativeTime(date);
207
+ default:
208
+ return `${formatLongDate(date, true)} ${formatTime(date)}`;
209
+ }
210
+ }
211
+ async function MessageContent({ content, context }) {
212
+ if (context.type === RenderType.REPLY && content.length > 180)
213
+ content = content.slice(0, 180) + '...';
214
+ const processedContent = content
215
+ .replace(/^(\s{1,})- /gm, (_match, p1) => p1.replace(/ /g, '\u00A0') + '\u25E6 ')
216
+ .replace(/^- /gm, '\u2022 ')
217
+ .replace(/(?<!\/)(?:^|\s)(discord\.gg\/\S+)/gi, (match, invite) => match.replace(invite, `https://${invite}`));
218
+ const parsed = (0, discord_markdown_parser_1.default)(processedContent, 'extended');
219
+ const isOnlyEmojis = parsed.every((node) => ['emoji', 'twemoji'].includes(node.type) || (node.type === 'text' && node.content.trim().length === 0));
220
+ if (isOnlyEmojis) {
221
+ const emojis = parsed.filter((node) => ['emoji', 'twemoji'].includes(node.type));
222
+ if (emojis.length <= 25) {
223
+ context._internal = {
224
+ largeEmojis: true,
225
+ };
226
+ }
227
+ }
228
+ return react_1.default.createElement(MessageASTNodes, { nodes: parsed, context: context });
229
+ }
230
+ async function MessageASTNodes({ nodes, context, }) {
231
+ if (Array.isArray(nodes)) {
232
+ return (react_1.default.createElement(react_1.default.Fragment, null, nodes.map((node, i) => (react_1.default.createElement(MessageSingleASTNode, { node: node, context: context, key: i })))));
233
+ }
234
+ else {
235
+ return react_1.default.createElement(MessageSingleASTNode, { node: nodes, context: context });
236
+ }
237
+ }
238
+ async function MessageSingleASTNode({ node, context }) {
239
+ var _a, _b, _c, _d, _e, _f, _g, _h;
240
+ if (!node)
241
+ return null;
242
+ const type = node.type;
243
+ switch (type) {
244
+ case 'text':
245
+ return node.content;
246
+ case 'link':
247
+ return (react_1.default.createElement("a", { href: node.target },
248
+ react_1.default.createElement(MessageASTNodes, { nodes: node.content, context: context })));
249
+ case 'url':
250
+ case 'autolink': {
251
+ const url = (_a = node.target) !== null && _a !== void 0 ? _a : (_c = (_b = node.content) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.content;
252
+ const text = node.target ? node.content : url;
253
+ if (typeof url === 'string' && (url.includes('discord.gg/') || url.includes('discord.com/invite/'))) {
254
+ const code = url.split('/').pop();
255
+ if (code && context.callbacks.resolveInvite) {
256
+ const invite = await context.callbacks.resolveInvite(code);
257
+ if (invite) {
258
+ const inviteIcon = invite.icon &&
259
+ ((_d = (await context.callbacks.resolveTranscriptAssetUrl({
260
+ kind: 'invite-icon',
261
+ url: invite.icon,
262
+ }))) !== null && _d !== void 0 ? _d : invite.icon);
263
+ return (react_1.default.createElement("div", { style: { marginTop: '4px' } },
264
+ react_1.default.createElement("a", { href: url, target: "_blank", rel: "noreferrer", style: { color: '#00a8fc', textDecoration: 'none' } }, typeof text === 'string' ? text : react_1.default.createElement(MessageASTNodes, { nodes: text, context: context })),
265
+ react_1.default.createElement(discord_components_react_1.DiscordInvite, { url: invite.url, name: invite.name, icon: inviteIcon !== null && inviteIcon !== void 0 ? inviteIcon : undefined, online: invite.online, members: invite.members, joinBtn: "Go to Server", inviteTitle: "YOU'VE BEEN INVITED TO JOIN A SERVER" })));
266
+ }
267
+ else {
268
+ return (react_1.default.createElement("div", { style: { marginTop: '4px' } },
269
+ react_1.default.createElement("a", { href: url, target: "_blank", rel: "noreferrer", style: { color: '#00a8fc', textDecoration: 'none' } }, typeof text === 'string' ? text : react_1.default.createElement(MessageASTNodes, { nodes: text, context: context })),
270
+ react_1.default.createElement("div", { className: "discord-invite", style: { marginTop: '4px' } },
271
+ react_1.default.createElement("div", { className: "discord-invite-header" }, "You sent an invite, but..."),
272
+ react_1.default.createElement("div", { style: { display: 'flex', alignItems: 'center', gap: '12px', padding: '4px 0' } },
273
+ react_1.default.createElement("span", { style: { fontSize: '24px' } }, "\u2709\uFE0F"),
274
+ react_1.default.createElement("div", null,
275
+ react_1.default.createElement("div", { style: { color: '#f23f42', fontWeight: 700, fontSize: '16px' } }, "Invalid Invite"),
276
+ react_1.default.createElement("div", { style: { color: '#b5bac1', fontSize: '14px' } }, "Try sending a new invite!"))))));
277
+ }
278
+ }
279
+ }
280
+ return (react_1.default.createElement("a", { href: url, target: "_blank", rel: "noreferrer", style: { color: '#00a8fc', textDecoration: 'none' } }, typeof text === 'string' ? text : react_1.default.createElement(MessageASTNodes, { nodes: text, context: context })));
281
+ }
282
+ case 'blockQuote':
283
+ if (context.type === RenderType.REPLY) {
284
+ return react_1.default.createElement(MessageASTNodes, { nodes: node.content, context: context });
285
+ }
286
+ return (react_1.default.createElement(discord_components_react_1.DiscordQuote, null,
287
+ react_1.default.createElement(MessageASTNodes, { nodes: node.content, context: context })));
288
+ case 'br':
289
+ case 'newline':
290
+ if (context.type === RenderType.REPLY)
291
+ return ' ';
292
+ return react_1.default.createElement("br", null);
293
+ case 'channel': {
294
+ const id = node.id;
295
+ const channel = await context.callbacks.resolveChannel(id);
296
+ return (react_1.default.createElement(discord_components_react_1.DiscordMention, { type: channel ? (channel.isDMBased() ? 'channel' : getChannelType(channel.type)) : 'channel' }, channel ? (channel.isDMBased() ? 'DM Channel' : channel.name) : `<#${id}>`));
297
+ }
298
+ case 'role': {
299
+ const id = node.id;
300
+ const role = await context.callbacks.resolveRole(id);
301
+ return (react_1.default.createElement(discord_components_react_1.DiscordMention, { type: "role", color: context.type === RenderType.REPLY ? undefined : role === null || role === void 0 ? void 0 : role.hexColor }, role ? role.name : `deleted-role`));
302
+ }
303
+ case 'user': {
304
+ const id = node.id;
305
+ const user = await context.callbacks.resolveUser(id);
306
+ return react_1.default.createElement(discord_components_react_1.DiscordMention, { type: "user" }, user ? ((_e = user.displayName) !== null && _e !== void 0 ? _e : user.username) : `Unknown User`);
307
+ }
308
+ case 'here':
309
+ case 'everyone':
310
+ return (react_1.default.createElement(discord_components_react_1.DiscordMention, { type: 'role', highlight: true }, type));
311
+ case 'codeBlock':
312
+ if (context.type !== RenderType.REPLY) {
313
+ if (((_f = node.lang) === null || _f === void 0 ? void 0 : _f.toLowerCase()) === 'ansi') {
314
+ return react_1.default.createElement(DiscordAnsiCodeBlock, { content: node.content });
315
+ }
316
+ return react_1.default.createElement(discord_components_react_1.DiscordCodeBlock, { language: node.lang, code: node.content });
317
+ }
318
+ return react_1.default.createElement(discord_components_react_1.DiscordInlineCode, null, node.content);
319
+ case 'inlineCode':
320
+ return react_1.default.createElement(discord_components_react_1.DiscordInlineCode, null, node.content);
321
+ case 'em':
322
+ return (react_1.default.createElement(discord_components_react_1.DiscordItalic, null,
323
+ react_1.default.createElement(MessageASTNodes, { nodes: node.content, context: context })));
324
+ case 'strong':
325
+ return (react_1.default.createElement(discord_components_react_1.DiscordBold, null,
326
+ react_1.default.createElement(MessageASTNodes, { nodes: node.content, context: context })));
327
+ case 'underline':
328
+ return (react_1.default.createElement(discord_components_react_1.DiscordUnderlined, null,
329
+ react_1.default.createElement(MessageASTNodes, { nodes: node.content, context: context })));
330
+ case 'strikethrough':
331
+ return (react_1.default.createElement("s", null,
332
+ react_1.default.createElement(MessageASTNodes, { nodes: node.content, context: context })));
333
+ case 'emoticon':
334
+ return typeof node.content === 'string' ? (node.content) : (react_1.default.createElement(MessageASTNodes, { nodes: node.content, context: context }));
335
+ case 'spoiler':
336
+ return (react_1.default.createElement(discord_components_react_1.DiscordSpoiler, null,
337
+ react_1.default.createElement(MessageASTNodes, { nodes: node.content, context: context })));
338
+ case 'emoji':
339
+ case 'twemoji': {
340
+ const baseEmojiUrl = (0, utils_1.parseDiscordEmoji)(node);
341
+ const emojiUrl = (_g = (await context.callbacks.resolveTranscriptAssetUrl({
342
+ kind: 'emoji',
343
+ url: baseEmojiUrl,
344
+ }))) !== null && _g !== void 0 ? _g : baseEmojiUrl;
345
+ return (react_1.default.createElement(discord_components_react_1.DiscordCustomEmoji, { name: node.name, url: emojiUrl, embedEmoji: context.type === RenderType.EMBED, largeEmoji: (_h = context._internal) === null || _h === void 0 ? void 0 : _h.largeEmojis }));
346
+ }
347
+ case 'timestamp':
348
+ return (react_1.default.createElement("span", { className: "discord-time" }, formatDiscordTimestamp(parseInt(node.timestamp) * 1000, node.format)));
349
+ case 'subtext':
350
+ return (react_1.default.createElement("span", { style: { fontSize: '11px', color: '#B5BAC1', display: 'block', marginTop: '4px', lineHeight: 'normal' } },
351
+ react_1.default.createElement(MessageASTNodes, { nodes: node.content, context: context })));
352
+ case 'heading': {
353
+ const level = node.level;
354
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
355
+ const HeadingTag = `h${level}`;
356
+ return (react_1.default.createElement(HeadingTag, { style: { margin: '8px 0', padding: 0, fontWeight: 'bold' } },
357
+ react_1.default.createElement(MessageASTNodes, { nodes: node.content, context: context })));
358
+ }
359
+ case 'list': {
360
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
361
+ const items = node.items;
362
+ return (react_1.default.createElement(react_1.default.Fragment, null, items.map((item, i) => (react_1.default.createElement(react_1.default.Fragment, { key: i },
363
+ react_1.default.createElement("span", null, node.ordered ? `${node.start + i}. ` : '• '),
364
+ react_1.default.createElement(MessageASTNodes, { nodes: item, context: context }),
365
+ i < items.length - 1 ? react_1.default.createElement("br", null) : null)))));
366
+ }
367
+ default: {
368
+ console.log(`Unknown node type: ${type}`, node);
369
+ return typeof node.content === 'string' ? (node.content) : (react_1.default.createElement(MessageASTNodes, { nodes: node.content, context: context }));
370
+ }
371
+ }
372
+ }
373
+ function getChannelType(channelType) {
374
+ switch (channelType) {
375
+ case discord_js_1.ChannelType.GuildCategory:
376
+ case discord_js_1.ChannelType.GuildAnnouncement:
377
+ case discord_js_1.ChannelType.GuildText:
378
+ case discord_js_1.ChannelType.DM:
379
+ case discord_js_1.ChannelType.GroupDM:
380
+ case discord_js_1.ChannelType.GuildDirectory:
381
+ case discord_js_1.ChannelType.GuildMedia:
382
+ return 'channel';
383
+ case discord_js_1.ChannelType.GuildVoice:
384
+ case discord_js_1.ChannelType.GuildStageVoice:
385
+ return 'voice';
386
+ case discord_js_1.ChannelType.PublicThread:
387
+ case discord_js_1.ChannelType.PrivateThread:
388
+ case discord_js_1.ChannelType.AnnouncementThread:
389
+ return 'thread';
390
+ case discord_js_1.ChannelType.GuildForum:
391
+ return 'forum';
392
+ default:
393
+ return 'channel';
394
+ }
395
+ }
396
+ //# sourceMappingURL=content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content.js","sourceRoot":"","sources":["../../../src/generator/renderers/content.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import type { Message } from 'discord.js';
2
+ import React from 'react';
3
+ import type { RenderMessageContext } from '..';
4
+ type RenderEmbedContext = RenderMessageContext & {
5
+ index: number;
6
+ message: Message;
7
+ };
8
+ type EmbedLike = {
9
+ title?: string | null;
10
+ description?: string | null;
11
+ url?: string | null;
12
+ fields?: Array<{
13
+ name: string;
14
+ value: string;
15
+ inline?: boolean;
16
+ }>;
17
+ hexColor?: string | null;
18
+ color?: number | null;
19
+ provider?: {
20
+ name?: string | null;
21
+ } | null;
22
+ author?: {
23
+ name?: string | null;
24
+ url?: string | null;
25
+ iconURL?: string | null;
26
+ proxyIconURL?: string | null;
27
+ icon_url?: string | null;
28
+ proxy_icon_url?: string | null;
29
+ } | null;
30
+ footer?: {
31
+ text?: string | null;
32
+ iconURL?: string | null;
33
+ proxyIconURL?: string | null;
34
+ icon_url?: string | null;
35
+ proxy_icon_url?: string | null;
36
+ } | null;
37
+ image?: {
38
+ url?: string | null;
39
+ proxyURL?: string | null;
40
+ proxy_url?: string | null;
41
+ } | null;
42
+ thumbnail?: {
43
+ url?: string | null;
44
+ proxyURL?: string | null;
45
+ proxy_url?: string | null;
46
+ } | null;
47
+ video?: {
48
+ url?: string | null;
49
+ proxyURL?: string | null;
50
+ proxy_url?: string | null;
51
+ } | null;
52
+ timestamp?: string | number | Date | null;
53
+ };
54
+ export declare function DiscordEmbed({ embed, context, forceStatic, }: {
55
+ embed: EmbedLike;
56
+ context: RenderEmbedContext;
57
+ forceStatic?: boolean;
58
+ }): Promise<React.JSX.Element>;
59
+ export {};