Ignore FTP links in get_first_url.

This commit is contained in:
levlam 2021-06-04 21:33:20 +03:00
parent 89459ca497
commit d2f575fc1c

View File

@ -1562,7 +1562,8 @@ string get_first_url(Slice text, const vector<MessageEntity> &entities) {
break; break;
case MessageEntity::Type::Url: { case MessageEntity::Type::Url: {
Slice url = utf8_utf16_substr(text, entity.offset, entity.length); Slice url = utf8_utf16_substr(text, entity.offset, entity.length);
if (begins_with(url, "ton:") || begins_with(url, "tg:") || is_plain_domain(url)) { string scheme = to_lower(url.substr(0, 4));
if (scheme == "ton:" || begins_with(scheme, "tg:") || scheme == "ftp:" || is_plain_domain(url)) {
continue; continue;
} }
return url.str(); return url.str();
@ -1585,11 +1586,13 @@ string get_first_url(Slice text, const vector<MessageEntity> &entities) {
break; break;
case MessageEntity::Type::PreCode: case MessageEntity::Type::PreCode:
break; break;
case MessageEntity::Type::TextUrl: case MessageEntity::Type::TextUrl: {
if (begins_with(entity.argument, "ton:") || begins_with(entity.argument, "tg:")) { Slice url = entity.argument;
if (begins_with(url, "ton:") || begins_with(url, "tg:") || begins_with(url, "ftp:")) {
continue; continue;
} }
return entity.argument; return url.str();
}
case MessageEntity::Type::MentionName: case MessageEntity::Type::MentionName:
break; break;
case MessageEntity::Type::Cashtag: case MessageEntity::Type::Cashtag: