mirror of
https://github.com/arthur-pbty/flint.git
synced 2026-08-01 20:29:03 +02:00
fix: gérer le rendu des messages d'image avec un fallback vers le texte
This commit is contained in:
@@ -25,7 +25,6 @@ import type {
|
|||||||
TemplateSuffix,
|
TemplateSuffix,
|
||||||
} from "../../types/memberMessages.js";
|
} from "../../types/memberMessages.js";
|
||||||
import { sanitizeMemberMessageRoleIds } from "../../validators/memberMessages.js";
|
import { sanitizeMemberMessageRoleIds } from "../../validators/memberMessages.js";
|
||||||
import { renderMemberMessageImage } from "./imageRenderer.js";
|
|
||||||
import type { MemberMessageRepository } from "./repository.js";
|
import type { MemberMessageRepository } from "./repository.js";
|
||||||
|
|
||||||
export type {
|
export type {
|
||||||
@@ -163,6 +162,13 @@ const buildMemberMessagePayload = async (
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (renderType !== "image") {
|
||||||
|
return {
|
||||||
|
content: resolveTemplate(i18n, lang, kind, "simple", vars),
|
||||||
|
allowedMentions,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
const imageTitle = resolveNonEmptyTemplate(
|
const imageTitle = resolveNonEmptyTemplate(
|
||||||
i18n,
|
i18n,
|
||||||
lang,
|
lang,
|
||||||
@@ -178,21 +184,34 @@ const buildMemberMessagePayload = async (
|
|||||||
vars,
|
vars,
|
||||||
);
|
);
|
||||||
|
|
||||||
const imageBuffer = await renderMemberMessageImage({
|
try {
|
||||||
kind,
|
const { renderMemberMessageImage } = await import("./imageRenderer.js");
|
||||||
title: imageTitle,
|
|
||||||
subtitle: imageSubtitle,
|
|
||||||
username: user.globalName ?? user.username,
|
|
||||||
avatarUrl: user.displayAvatarURL({ extension: "png", size: 512 }),
|
|
||||||
});
|
|
||||||
|
|
||||||
const fileName = `${kind}-${guild.id}-${user.id}.png`;
|
const imageBuffer = await renderMemberMessageImage({
|
||||||
|
kind,
|
||||||
|
title: imageTitle,
|
||||||
|
subtitle: imageSubtitle,
|
||||||
|
username: user.globalName ?? user.username,
|
||||||
|
avatarUrl: user.displayAvatarURL({ extension: "png", size: 512 }),
|
||||||
|
});
|
||||||
|
|
||||||
return {
|
const fileName = `${kind}-${guild.id}-${user.id}.png`;
|
||||||
allowedMentions,
|
|
||||||
content: resolveTemplate(i18n, lang, kind, "simple", vars),
|
return {
|
||||||
files: [new AttachmentBuilder(imageBuffer, { name: fileName })],
|
allowedMentions,
|
||||||
};
|
content: resolveTemplate(i18n, lang, kind, "simple", vars),
|
||||||
|
files: [new AttachmentBuilder(imageBuffer, { name: fileName })],
|
||||||
|
};
|
||||||
|
} catch (error) {
|
||||||
|
console.warn(
|
||||||
|
"[memberMessages] image renderer unavailable, falling back to text",
|
||||||
|
error,
|
||||||
|
);
|
||||||
|
return {
|
||||||
|
content: resolveTemplate(i18n, lang, kind, "simple", vars),
|
||||||
|
allowedMentions,
|
||||||
|
};
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
export class MemberMessageService {
|
export class MemberMessageService {
|
||||||
|
|||||||
Reference in New Issue
Block a user