feat(lib): adding a external parsing function
This commit is contained in:
parent
4d32bca3f7
commit
8595c314b7
1 changed files with 26 additions and 0 deletions
26
src/lib/parsing.ts
Normal file
26
src/lib/parsing.ts
Normal 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;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue