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