diff --git a/packages/html-parser/src/index.ts b/packages/html-parser/src/index.ts index c9240cd7..33b02022 100644 --- a/packages/html-parser/src/index.ts +++ b/packages/html-parser/src/index.ts @@ -116,7 +116,7 @@ export class HtmlMessageEntityParser implements IMessageEntityParser { } break case 'a': { - const url = attribs.href + let url = attribs.href if (!url) return const mention = MENTION_REGEX.exec(url) @@ -142,6 +142,8 @@ export class HtmlMessageEntityParser implements IMessageEntityParser { } } } else { + if (url.match(/^\/\//)) url = 'http:' + url + entity = { _: 'messageEntityTextUrl', offset: plainText.length, diff --git a/packages/markdown-parser/src/index.ts b/packages/markdown-parser/src/index.ts index 70161515..edcef7ea 100644 --- a/packages/markdown-parser/src/index.ts +++ b/packages/markdown-parser/src/index.ts @@ -139,6 +139,8 @@ export class MarkdownMessageEntityParser implements IMessageEntityParser { ;(ent as tl.Mutable).userId = userId } } else { + if (url.match(/^\/\//)) url = 'http:' + url + ;(ent as tl.Mutable)._ = 'messageEntityTextUrl' ;(ent as tl.Mutable).url = url