import { Api } from "../tl";
import { HTMLParser } from "./html";
export class MarkdownV2Parser {
static parse(message: string): [string, Api.TypeMessageEntity[]] {
// Bold
message = message.replace(/\*(.*?)\*/g, "$1");
// underline
message = message.replace(/__(.*?)__/g, "$1");
// strikethrough
message = message.replace(/~(.*?)~/g, "$1");
// italic
message = message.replace(/-(.*?)-/g, "$1");
// pre
message = message.replace(/```(.*?)```/g, "
$1"); // code message = message.replace(/`(.*?)`/g, "
$1");
// Spoiler
message = message.replace(/\|\|(.*?)\|\|/g, "(.*?)<\/code>/g, "`$1`");
// Pre
text = text.replace(/(.*?)<\/pre>/g, "```$1```");
// strikethrough
text = text.replace(/(.*?)<\/s>/g, "~$1~");
// Italic
text = text.replace(/(.*?)<\/i>/g, "-$1-");
// Spoiler
text = text.replace(/(.*?)<\/spoiler>/g, "||$1||");
// Inline URL
text = text.replace(/([^<]+)<\/a>/g, "[$2]($1)");
// Emoji
text = text.replace(
/([^<]+)<\/tg-emoji>/g,
""
);
return text;
}
}