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,216 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.DiscordEmbed = DiscordEmbed;
40
+ const discord_components_react_1 = require("@derockdev/discord-components-react");
41
+ const react_1 = __importDefault(require("react"));
42
+ const embeds_1 = require("../../utils/embeds");
43
+ const content_1 = __importStar(require("./content"));
44
+ function getStringValue(value) {
45
+ return typeof value === 'string' && value.length > 0 ? value : undefined;
46
+ }
47
+ function getMediaUrl(media) {
48
+ var _a, _b;
49
+ return (_b = (_a = getStringValue(media === null || media === void 0 ? void 0 : media.proxyURL)) !== null && _a !== void 0 ? _a : getStringValue(media === null || media === void 0 ? void 0 : media.proxy_url)) !== null && _b !== void 0 ? _b : getStringValue(media === null || media === void 0 ? void 0 : media.url);
50
+ }
51
+ function getColor(embed) {
52
+ var _a;
53
+ if (getStringValue(embed.hexColor)) {
54
+ return (_a = embed.hexColor) !== null && _a !== void 0 ? _a : undefined;
55
+ }
56
+ if (typeof embed.color === 'number') {
57
+ return `#${embed.color.toString(16).padStart(6, '0')}`;
58
+ }
59
+ return undefined;
60
+ }
61
+ function getTimestamp(value) {
62
+ if (typeof value === 'string' && value.length > 0) {
63
+ return value;
64
+ }
65
+ if (typeof value === 'number') {
66
+ return new Date(value).toISOString();
67
+ }
68
+ if (value instanceof Date) {
69
+ return value.toISOString();
70
+ }
71
+ return undefined;
72
+ }
73
+ function getFooterTimestampText(value) {
74
+ if (!value) {
75
+ return undefined;
76
+ }
77
+ const date = new Date(value);
78
+ if (Number.isNaN(date.getTime())) {
79
+ return undefined;
80
+ }
81
+ return new Intl.DateTimeFormat('en-GB', {
82
+ day: 'numeric',
83
+ month: 'long',
84
+ year: 'numeric',
85
+ hour: '2-digit',
86
+ minute: '2-digit',
87
+ hour12: false,
88
+ }).format(date);
89
+ }
90
+ async function resolveEmbedAssetUrl(context, kind, url) {
91
+ var _a;
92
+ if (!url) {
93
+ return undefined;
94
+ }
95
+ return ((_a = (await context.callbacks.resolveTranscriptAssetUrl({
96
+ kind,
97
+ url,
98
+ message: context.message.toJSON(),
99
+ }))) !== null && _a !== void 0 ? _a : url);
100
+ }
101
+ function stripWrappedBold(content) {
102
+ const trimmed = content.trim();
103
+ if (trimmed.startsWith('**') && trimmed.endsWith('**') && trimmed.length > 4) {
104
+ return trimmed.slice(2, -2);
105
+ }
106
+ return content;
107
+ }
108
+ async function DiscordEmbed({ embed, context, forceStatic = false, }) {
109
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
110
+ const title = getStringValue(embed.title);
111
+ const description = getStringValue(embed.description);
112
+ const providerName = getStringValue((_a = embed.provider) === null || _a === void 0 ? void 0 : _a.name);
113
+ const authorName = getStringValue((_b = embed.author) === null || _b === void 0 ? void 0 : _b.name);
114
+ const authorUrl = getStringValue((_c = embed.author) === null || _c === void 0 ? void 0 : _c.url);
115
+ const authorImageUrl = (_j = (_g = (_e = getStringValue((_d = embed.author) === null || _d === void 0 ? void 0 : _d.proxyIconURL)) !== null && _e !== void 0 ? _e : getStringValue((_f = embed.author) === null || _f === void 0 ? void 0 : _f.proxy_icon_url)) !== null && _g !== void 0 ? _g : getStringValue((_h = embed.author) === null || _h === void 0 ? void 0 : _h.iconURL)) !== null && _j !== void 0 ? _j : getStringValue((_k = embed.author) === null || _k === void 0 ? void 0 : _k.icon_url);
116
+ const embedUrl = getStringValue(embed.url);
117
+ const videoUrl = getMediaUrl(embed.video);
118
+ const thumbnailUrl = getMediaUrl(embed.thumbnail);
119
+ const imageUrl = getMediaUrl(embed.image);
120
+ const fields = Array.isArray(embed.fields) ? embed.fields : [];
121
+ const footerText = getStringValue((_l = embed.footer) === null || _l === void 0 ? void 0 : _l.text);
122
+ const footerImageUrl = (_s = (_q = (_o = getStringValue((_m = embed.footer) === null || _m === void 0 ? void 0 : _m.proxyIconURL)) !== null && _o !== void 0 ? _o : getStringValue((_p = embed.footer) === null || _p === void 0 ? void 0 : _p.proxy_icon_url)) !== null && _q !== void 0 ? _q : getStringValue((_r = embed.footer) === null || _r === void 0 ? void 0 : _r.iconURL)) !== null && _s !== void 0 ? _s : getStringValue((_t = embed.footer) === null || _t === void 0 ? void 0 : _t.icon_url);
123
+ const footerTimestamp = getTimestamp(embed.timestamp);
124
+ const isExternalVideo = Boolean(videoUrl && providerName);
125
+ const [authorImage, resolvedVideoUrl, resolvedThumbnailUrl, resolvedImageUrl, footerImage] = await Promise.all([
126
+ resolveEmbedAssetUrl(context, 'embed-author-icon', authorImageUrl),
127
+ isExternalVideo ? Promise.resolve(videoUrl) : resolveEmbedAssetUrl(context, 'embed-video', videoUrl),
128
+ resolveEmbedAssetUrl(context, 'embed-thumbnail', thumbnailUrl),
129
+ resolveEmbedAssetUrl(context, 'embed-image', imageUrl),
130
+ resolveEmbedAssetUrl(context, 'embed-footer-icon', footerImageUrl),
131
+ ]);
132
+ if (forceStatic) {
133
+ return (react_1.default.createElement("div", { className: "discord-embed", key: `${context.message.id}-e-${context.index}` },
134
+ react_1.default.createElement("div", { style: { backgroundColor: getColor(embed) }, className: "discord-left-border" }),
135
+ react_1.default.createElement("div", { className: "discord-embed-root" },
136
+ react_1.default.createElement("div", { className: "discord-embed-wrapper" },
137
+ react_1.default.createElement("div", { className: "discord-embed-grid" },
138
+ providerName && react_1.default.createElement("div", { className: "discord-embed-provider" }, providerName),
139
+ authorName && (react_1.default.createElement("div", { className: "discord-embed-author" },
140
+ authorImage ? react_1.default.createElement("img", { src: authorImage, alt: "", className: "discord-author-image" }) : null,
141
+ authorUrl ? (react_1.default.createElement("a", { href: authorUrl, target: "_blank", rel: "noopener noreferrer" }, authorName)) : (authorName))),
142
+ title && (react_1.default.createElement("div", { className: "discord-embed-title" }, embedUrl ? (react_1.default.createElement("a", { href: embedUrl, target: "_blank", rel: "noopener noreferrer" }, title)) : (title))),
143
+ description && !isExternalVideo && (react_1.default.createElement("div", { className: "discord-embed-description" },
144
+ react_1.default.createElement(content_1.default, { content: description, context: Object.assign(Object.assign({}, context), { type: content_1.RenderType.EMBED }) }))),
145
+ fields.length > 0 && (react_1.default.createElement("div", { className: "discord-embed-fields" }, fields.map((field, id) => {
146
+ const inlineIndex = (0, embeds_1.calculateInlineIndex)(fields, id);
147
+ const className = [
148
+ 'discord-embed-field',
149
+ field.inline ? 'discord-embed-inline-field' : '',
150
+ field.inline ? `discord-embed-inline-field-${inlineIndex}` : '',
151
+ ]
152
+ .filter(Boolean)
153
+ .join(' ');
154
+ return (react_1.default.createElement("div", { key: `${context.message.id}-e-${context.index}-sf-${id}`, className: className },
155
+ react_1.default.createElement("div", { className: "discord-field-title" },
156
+ react_1.default.createElement(content_1.default, { content: stripWrappedBold(field.name), context: Object.assign(Object.assign({}, context), { type: content_1.RenderType.EMBED }) })),
157
+ react_1.default.createElement(content_1.default, { content: field.value, context: Object.assign(Object.assign({}, context), { type: content_1.RenderType.EMBED }) })));
158
+ }))),
159
+ isExternalVideo && (resolvedThumbnailUrl || resolvedImageUrl) ? (react_1.default.createElement("div", { className: "discord-embed-description", style: {
160
+ position: 'relative',
161
+ marginTop: '8px',
162
+ borderRadius: '4px',
163
+ overflow: 'hidden',
164
+ maxWidth: '400px',
165
+ } },
166
+ react_1.default.createElement("a", { href: (_u = embedUrl !== null && embedUrl !== void 0 ? embedUrl : videoUrl) !== null && _u !== void 0 ? _u : '#', target: "_blank", rel: "noreferrer", style: { display: 'block' } },
167
+ react_1.default.createElement("img", { src: resolvedThumbnailUrl || resolvedImageUrl || '', alt: title !== null && title !== void 0 ? title : 'Video thumbnail', style: { width: '100%', display: 'block', borderRadius: '4px' } }),
168
+ react_1.default.createElement("div", { style: {
169
+ position: 'absolute',
170
+ top: '50%',
171
+ left: '50%',
172
+ transform: 'translate(-50%, -50%)',
173
+ width: '56px',
174
+ height: '56px',
175
+ borderRadius: '50%',
176
+ backgroundColor: 'rgba(0, 0, 0, 0.6)',
177
+ display: 'flex',
178
+ alignItems: 'center',
179
+ justifyContent: 'center',
180
+ } },
181
+ react_1.default.createElement("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "white" },
182
+ react_1.default.createElement("path", { d: "M8 5v14l11-7z" })))))) : null,
183
+ !isExternalVideo && (resolvedImageUrl || resolvedVideoUrl) ? (react_1.default.createElement("div", { className: `discord-embed-media${resolvedVideoUrl ? ' discord-embed-media-video' : ''}` }, resolvedVideoUrl ? (react_1.default.createElement("video", { controls: true, muted: true, preload: "none", poster: resolvedImageUrl, src: resolvedVideoUrl, height: "225", width: "400", className: "discord-embed-video" }, resolvedImageUrl ? (react_1.default.createElement("img", { src: resolvedImageUrl, alt: "Discord embed media", className: "discord-embed-image" })) : null)) : resolvedImageUrl ? (react_1.default.createElement("img", { src: resolvedImageUrl, alt: "Discord embed media", className: "discord-embed-image" })) : null)) : null,
184
+ resolvedThumbnailUrl ? (react_1.default.createElement("img", { src: resolvedThumbnailUrl, alt: "", className: "discord-embed-thumbnail" })) : null,
185
+ (footerText || footerTimestamp) && (react_1.default.createElement("div", { className: "discord-embed-footer" },
186
+ footerImage ? react_1.default.createElement("img", { src: footerImage, alt: "", className: "discord-footer-image" }) : null,
187
+ footerText ? (react_1.default.createElement(content_1.default, { content: footerText, context: Object.assign(Object.assign({}, context), { type: content_1.RenderType.EMBED }) })) : null,
188
+ footerText && footerTimestamp ? react_1.default.createElement("span", { className: "discord-footer-separator" }, "\u2022") : null,
189
+ footerTimestamp ? getFooterTimestampText(footerTimestamp) : null)))))));
190
+ }
191
+ return (react_1.default.createElement(discord_components_react_1.DiscordEmbed, { embedTitle: title, slot: "embeds", key: `${context.message.id}-e-${context.index}`, authorImage: authorImage, authorName: authorName, authorUrl: authorUrl, color: getColor(embed), image: isExternalVideo ? undefined : resolvedImageUrl, thumbnail: isExternalVideo ? undefined : resolvedThumbnailUrl, video: isExternalVideo ? undefined : resolvedVideoUrl, provider: providerName, url: embedUrl },
192
+ description && !isExternalVideo && (react_1.default.createElement(discord_components_react_1.DiscordEmbedDescription, { slot: "description" },
193
+ react_1.default.createElement(content_1.default, { content: description, context: Object.assign(Object.assign({}, context), { type: content_1.RenderType.EMBED }) }))),
194
+ fields.length > 0 && (react_1.default.createElement(discord_components_react_1.DiscordEmbedFields, { slot: "fields" }, fields.map(async (field, id) => (react_1.default.createElement(discord_components_react_1.DiscordEmbedField, { key: `${context.message.id}-e-${context.index}-f-${id}`, fieldTitle: field.name, inline: field.inline, inlineIndex: (0, embeds_1.calculateInlineIndex)(fields, id) },
195
+ react_1.default.createElement(content_1.default, { content: field.value, context: Object.assign(Object.assign({}, context), { type: content_1.RenderType.EMBED }) })))))),
196
+ isExternalVideo && (resolvedThumbnailUrl || resolvedImageUrl) && (react_1.default.createElement("div", { slot: "description", style: { position: 'relative', marginTop: '8px', borderRadius: '4px', overflow: 'hidden', maxWidth: '400px' } },
197
+ react_1.default.createElement("a", { href: (_v = embedUrl !== null && embedUrl !== void 0 ? embedUrl : videoUrl) !== null && _v !== void 0 ? _v : '#', target: "_blank", rel: "noreferrer", style: { display: 'block' } },
198
+ react_1.default.createElement("img", { src: resolvedThumbnailUrl || resolvedImageUrl || '', alt: title !== null && title !== void 0 ? title : 'Video thumbnail', style: { width: '100%', display: 'block', borderRadius: '4px' } }),
199
+ react_1.default.createElement("div", { style: {
200
+ position: 'absolute',
201
+ top: '50%',
202
+ left: '50%',
203
+ transform: 'translate(-50%, -50%)',
204
+ width: '56px',
205
+ height: '56px',
206
+ borderRadius: '50%',
207
+ backgroundColor: 'rgba(0, 0, 0, 0.6)',
208
+ display: 'flex',
209
+ alignItems: 'center',
210
+ justifyContent: 'center',
211
+ } },
212
+ react_1.default.createElement("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "white" },
213
+ react_1.default.createElement("path", { d: "M8 5v14l11-7z" })))))),
214
+ (footerText || footerTimestamp) && (react_1.default.createElement(discord_components_react_1.DiscordEmbedFooter, { slot: "footer", footerImage: footerImage, timestamp: footerTimestamp }, footerText ? react_1.default.createElement(content_1.default, { content: footerText, context: Object.assign(Object.assign({}, context), { type: content_1.RenderType.EMBED }) }) : null))));
215
+ }
216
+ //# sourceMappingURL=embed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embed.js","sourceRoot":"","sources":["../../../src/generator/renderers/embed.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { type Message as MessageType } from 'discord.js';
2
+ import React from 'react';
3
+ import type { RenderMessageContext } from '..';
4
+ export default function DiscordMessage({ message, context, }: {
5
+ message: MessageType;
6
+ context: RenderMessageContext;
7
+ }): Promise<React.JSX.Element>;
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.default = DiscordMessage;
40
+ const discord_components_react_1 = require("@derockdev/discord-components-react");
41
+ const react_1 = __importDefault(require("react"));
42
+ const utils_1 = require("../../utils/utils");
43
+ const attachment_1 = require("./attachment");
44
+ const components_1 = __importDefault(require("./components"));
45
+ const content_1 = __importStar(require("./content"));
46
+ const embed_1 = require("./embed");
47
+ const reply_1 = __importDefault(require("./reply"));
48
+ const systemMessage_1 = __importDefault(require("./systemMessage"));
49
+ const poll_1 = __importDefault(require("./components/poll"));
50
+ async function DiscordMessage({ message, context, }) {
51
+ var _a, _b, _c, _d;
52
+ if (message.system)
53
+ return react_1.default.createElement(systemMessage_1.default, { message: message, context: context });
54
+ const hasSnapshots = Boolean((_a = message.messageSnapshots) === null || _a === void 0 ? void 0 : _a.size);
55
+ const isForwarded = Boolean((message.flags && (message.flags.bitfield & 16384) === 16384) ||
56
+ ((_b = message.reference) === null || _b === void 0 ? void 0 : _b.type) === 2 ||
57
+ hasSnapshots);
58
+ const isCrosspost = Boolean(!isForwarded && ((_c = message.reference) === null || _c === void 0 ? void 0 : _c.guildId) && message.reference.guildId !== ((_d = message.guild) === null || _d === void 0 ? void 0 : _d.id));
59
+ const reactions = await Promise.all(Array.from(message.reactions.cache.values()).map(async (reaction, id) => {
60
+ var _a;
61
+ return (react_1.default.createElement(discord_components_react_1.DiscordReaction, { key: `${message.id}r${id}`, name: reaction.emoji.name, emoji: (_a = (await context.callbacks.resolveTranscriptAssetUrl({
62
+ kind: 'emoji',
63
+ url: (0, utils_1.parseDiscordEmoji)(reaction.emoji),
64
+ message: message.toJSON(),
65
+ }))) !== null && _a !== void 0 ? _a : (0, utils_1.parseDiscordEmoji)(reaction.emoji), count: reaction.count }));
66
+ }));
67
+ return (react_1.default.createElement(discord_components_react_1.DiscordMessage, Object.assign({ id: `m-${message.id}`, timestamp: message.createdAt.toISOString(), key: message.id, edited: message.editedAt !== null }, (isCrosspost ? { server: true } : {}), { highlight: message.mentions.everyone, profile: message.author.id }),
68
+ react_1.default.createElement(reply_1.default, { message: message, context: context }),
69
+ message.interaction && (react_1.default.createElement(discord_components_react_1.DiscordCommand, { slot: "reply", profile: message.interaction.user.id, command: '/' + message.interaction.commandName })),
70
+ (() => {
71
+ var _a, _b, _c;
72
+ const snapshot = hasSnapshots ? (_b = (_a = message.messageSnapshots) === null || _a === void 0 ? void 0 : _a.first) === null || _b === void 0 ? void 0 : _b.call(_a) : null;
73
+ if (isForwarded) {
74
+ const snapshotMsg = snapshot || message; // Fallback to current message if snapshot fails
75
+ const snapshotEmbeds = Array.isArray(snapshotMsg.embeds) ? snapshotMsg.embeds : [];
76
+ const snapshotComponents = Array.isArray(snapshotMsg.components) ? snapshotMsg.components : [];
77
+ return (react_1.default.createElement(discord_components_react_1.DiscordQuote, null,
78
+ react_1.default.createElement("div", { className: "discord-forwarding-pill" },
79
+ react_1.default.createElement("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none" },
80
+ react_1.default.createElement("path", { fill: "currentColor", d: "M12.793 4.93175C12.793 4.10264 13.7845 3.67499 14.3879 4.24647L21.4646 10.9502C21.8211 11.288 21.8211 11.854 21.4646 12.1918L14.3879 18.8955C13.7845 19.467 12.793 19.0393 12.793 18.2102V15.008C7.58782 15.008 3.84478 16.5163 2.14691 20.3159C1.86518 20.9463 0.941961 20.6559 1.10091 19.982C2.41724 14.4011 5.95251 11.2588 12.793 10.7481V4.93175Z" })),
81
+ react_1.default.createElement("span", null, "Forwarded")),
82
+ snapshotMsg.content && (react_1.default.createElement(content_1.default, { content: snapshotMsg.content, context: Object.assign(Object.assign({}, context), { type: snapshotMsg.webhookId ? content_1.RenderType.WEBHOOK : content_1.RenderType.NORMAL }) })),
83
+ snapshotEmbeds.map((embed, id) => (react_1.default.createElement(embed_1.DiscordEmbed, { embed: embed, context: Object.assign(Object.assign({}, context), { index: id, message: snapshotMsg }), forceStatic: true, key: id }))),
84
+ snapshotMsg.poll && react_1.default.createElement(poll_1.default, { poll: snapshotMsg.poll, context: context }),
85
+ snapshotComponents.length > 0 && (react_1.default.createElement(discord_components_react_1.DiscordAttachments, null, snapshotComponents.map((component, id) => (react_1.default.createElement(components_1.default, { key: id, id: id, component: component, context: context }))))),
86
+ snapshotMsg.attachments && react_1.default.createElement(attachment_1.Attachments, { message: snapshotMsg, context: context, inline: true }),
87
+ react_1.default.createElement("div", { style: { color: '#949ba4', fontSize: '12px', marginTop: '4px', fontWeight: 500 } },
88
+ ((_c = snapshotMsg.channel) === null || _c === void 0 ? void 0 : _c.name) ? '#' + snapshotMsg.channel.name + ' • ' : '',
89
+ (snapshotMsg.createdAt || new Date()).toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }))));
90
+ }
91
+ return message.content ? (react_1.default.createElement(content_1.default, { content: message.content, context: Object.assign(Object.assign({}, context), { type: message.webhookId ? content_1.RenderType.WEBHOOK : content_1.RenderType.NORMAL }) })) : null;
92
+ })(),
93
+ !isForwarded &&
94
+ message.embeds.map((embed, id) => (react_1.default.createElement(embed_1.DiscordEmbed, { embed: embed, context: Object.assign(Object.assign({}, context), { index: id, message }), key: id }))),
95
+ !isForwarded && message.poll && react_1.default.createElement(poll_1.default, { poll: message.poll, context: context }),
96
+ !isForwarded && message.components.length > 0 && (react_1.default.createElement(discord_components_react_1.DiscordAttachments, { slot: "components" }, message.components.map((component, id) => (react_1.default.createElement(components_1.default, { key: id, id: id, component: component, context: context }))))),
97
+ !isForwarded && react_1.default.createElement(attachment_1.Attachments, { message: message, context: context }),
98
+ message.reactions.cache.size > 0 && react_1.default.createElement(discord_components_react_1.DiscordReactions, { slot: "reactions" }, reactions),
99
+ message.hasThread && message.thread && (react_1.default.createElement(discord_components_react_1.DiscordThread, { slot: "thread", name: message.thread.name, cta: message.thread.messageCount
100
+ ? `${message.thread.messageCount} Message${message.thread.messageCount > 1 ? 's' : ''}`
101
+ : 'View Thread' }, message.thread.lastMessage ? (react_1.default.createElement(discord_components_react_1.DiscordThreadMessage, { profile: message.thread.lastMessage.author.id },
102
+ react_1.default.createElement(content_1.default, { content: message.thread.lastMessage.content.length > 128
103
+ ? message.thread.lastMessage.content.substring(0, 125) + '...'
104
+ : message.thread.lastMessage.content, context: Object.assign(Object.assign({}, context), { type: content_1.RenderType.REPLY }) }))) : (`Thread messages not saved.`)))));
105
+ }
106
+ //# sourceMappingURL=message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/generator/renderers/message.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { type Message } from 'discord.js';
2
+ import type { RenderMessageContext } from '..';
3
+ import React from 'react';
4
+ export default function MessageReply({ message, context }: {
5
+ message: Message;
6
+ context: RenderMessageContext;
7
+ }): Promise<React.JSX.Element | null>;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.default = MessageReply;
40
+ const discord_components_react_1 = require("@derockdev/discord-components-react");
41
+ const discord_js_1 = require("discord.js");
42
+ const react_1 = __importDefault(require("react"));
43
+ const content_1 = __importStar(require("./content"));
44
+ async function MessageReply({ message, context }) {
45
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
46
+ if (!message.reference)
47
+ return null;
48
+ if ((message.flags && (message.flags.bitfield & 16384) === 16384) ||
49
+ message.reference.type === 2 ||
50
+ (message.messageSnapshots && message.messageSnapshots.size > 0))
51
+ return null;
52
+ if (message.reference.guildId !== ((_a = message.guild) === null || _a === void 0 ? void 0 : _a.id))
53
+ return null;
54
+ const referencedMessage = context.messages.find((m) => m.id === message.reference.messageId);
55
+ if (!referencedMessage)
56
+ return react_1.default.createElement(discord_components_react_1.DiscordReply, { slot: "reply" }, "Message could not be loaded.");
57
+ const referencedMember = (_b = referencedMessage.member) !== null && _b !== void 0 ? _b : (referencedMessage.guild && !referencedMessage.webhookId
58
+ ? await referencedMessage.guild.members.fetch(referencedMessage.author.id).catch(() => null)
59
+ : null);
60
+ const isCrossPost = Boolean(((_c = referencedMessage.reference) === null || _c === void 0 ? void 0 : _c.guildId) && referencedMessage.reference.guildId !== ((_d = message.guild) === null || _d === void 0 ? void 0 : _d.id));
61
+ const isCommand = referencedMessage.interaction !== null;
62
+ const replyAvatar = (_f = (_e = referencedMember === null || referencedMember === void 0 ? void 0 : referencedMember.displayAvatarURL({ size: 32 })) !== null && _e !== void 0 ? _e : referencedMessage.author.avatarURL({ size: 32 })) !== null && _f !== void 0 ? _f : undefined;
63
+ return (react_1.default.createElement(discord_components_react_1.DiscordReply, Object.assign({ slot: "reply", profile: referencedMessage.author.id, edited: !isCommand && referencedMessage.editedAt !== null, attachment: referencedMessage.attachments.size > 0, author: (_h = (_g = referencedMember === null || referencedMember === void 0 ? void 0 : referencedMember.nickname) !== null && _g !== void 0 ? _g : referencedMessage.author.displayName) !== null && _h !== void 0 ? _h : referencedMessage.author.username, avatar: replyAvatar
64
+ ? ((_j = (await context.callbacks.resolveTranscriptAssetUrl({
65
+ kind: 'avatar',
66
+ url: replyAvatar,
67
+ message: referencedMessage.toJSON(),
68
+ }))) !== null && _j !== void 0 ? _j : replyAvatar)
69
+ : undefined, roleColor: (referencedMember === null || referencedMember === void 0 ? void 0 : referencedMember.displayHexColor) && referencedMember.displayHexColor !== '#000000'
70
+ ? referencedMember.displayHexColor
71
+ : undefined, bot: !isCrossPost && referencedMessage.author.bot, verified: (_k = referencedMessage.author.flags) === null || _k === void 0 ? void 0 : _k.has(discord_js_1.UserFlags.VerifiedBot), op: ((_m = (_l = message === null || message === void 0 ? void 0 : message.channel) === null || _l === void 0 ? void 0 : _l.isThread) === null || _m === void 0 ? void 0 : _m.call(_l)) && referencedMessage.author.id === ((_o = message === null || message === void 0 ? void 0 : message.channel) === null || _o === void 0 ? void 0 : _o.ownerId) }, (isCrossPost ? { server: true } : {}), { command: isCommand }), referencedMessage.content ? (react_1.default.createElement("span", { "data-goto": referencedMessage.id },
72
+ react_1.default.createElement(content_1.default, { content: referencedMessage.content, context: Object.assign(Object.assign({}, context), { type: content_1.RenderType.REPLY }) }))) : isCommand ? (react_1.default.createElement("em", { "data-goto": referencedMessage.id }, "Click to see command.")) : (react_1.default.createElement("em", { "data-goto": referencedMessage.id }, "Click to see attachment."))));
73
+ }
74
+ //# sourceMappingURL=reply.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reply.js","sourceRoot":"","sources":["../../../src/generator/renderers/reply.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { type GuildMember, type Message, type User } from 'discord.js';
2
+ import React from 'react';
3
+ import type { RenderMessageContext } from '..';
4
+ export default function SystemMessage({ message, context }: {
5
+ message: Message;
6
+ context: RenderMessageContext;
7
+ }): Promise<React.JSX.Element | undefined>;
8
+ export declare function Highlight({ children, color }: {
9
+ children: React.ReactNode;
10
+ color?: string;
11
+ }): React.JSX.Element;
12
+ export declare function JoinMessage({ member, fallbackUser }: {
13
+ member: GuildMember | null;
14
+ fallbackUser: User;
15
+ }): (string | React.JSX.Element)[];