feat(lib): adding a external parsing function

This commit is contained in:
Raphael 2025-10-09 14:43:04 +02:00 committed by Raphaël
parent 4d32bca3f7
commit 8595c314b7

26
src/lib/parsing.ts Normal file
View file

@ -0,0 +1,26 @@
import { GuildMember } from 'discord.js';
export function parseMessage(template: string, member: GuildMember): string {
const placeholders = new Map<string, string | (() => string)>([
['{user.mention}', `<@${member.id}>`],
['{user.name}', member.user.username],
['{user.tag}', member.user.tag],
['{user.id}', member.id],
['{server.name}', member.guild.name],
['{server.id}', member.guild.id],
['{server.member.count}', () => member.guild.memberCount.toString()],
['{server.owner}', () => `<@${member.guild.ownerId}>`],
['{date.now}', () => new Date().toLocaleString('fr-FR')],
]);
for (const [key, value] of placeholders.entries()) {
template = template.replace(
new RegExp(key, 'g'),
typeof value === 'function' ? value() : value,
);
}
return template;
}