Unify entity variable names.
This commit is contained in:
parent
99ac6428e9
commit
29e8df5113
|
@ -3152,91 +3152,91 @@ Result<vector<MessageEntity>> get_message_entities(const ContactsManager *contac
|
||||||
bool allow_all) {
|
bool allow_all) {
|
||||||
vector<MessageEntity> entities;
|
vector<MessageEntity> entities;
|
||||||
entities.reserve(input_entities.size());
|
entities.reserve(input_entities.size());
|
||||||
for (auto &entity : input_entities) {
|
for (auto &input_entity : input_entities) {
|
||||||
if (entity == nullptr || entity->type_ == nullptr) {
|
if (input_entity == nullptr || input_entity->type_ == nullptr) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (entity->type_->get_id()) {
|
auto offset = input_entity->offset_;
|
||||||
|
auto length = input_entity->length_;
|
||||||
|
switch (input_entity->type_->get_id()) {
|
||||||
case td_api::textEntityTypeMention::ID:
|
case td_api::textEntityTypeMention::ID:
|
||||||
entities.emplace_back(MessageEntity::Type::Mention, entity->offset_, entity->length_);
|
entities.emplace_back(MessageEntity::Type::Mention, offset, length);
|
||||||
break;
|
break;
|
||||||
case td_api::textEntityTypeHashtag::ID:
|
case td_api::textEntityTypeHashtag::ID:
|
||||||
entities.emplace_back(MessageEntity::Type::Hashtag, entity->offset_, entity->length_);
|
entities.emplace_back(MessageEntity::Type::Hashtag, offset, length);
|
||||||
break;
|
break;
|
||||||
case td_api::textEntityTypeBotCommand::ID:
|
case td_api::textEntityTypeBotCommand::ID:
|
||||||
entities.emplace_back(MessageEntity::Type::BotCommand, entity->offset_, entity->length_);
|
entities.emplace_back(MessageEntity::Type::BotCommand, offset, length);
|
||||||
break;
|
break;
|
||||||
case td_api::textEntityTypeUrl::ID:
|
case td_api::textEntityTypeUrl::ID:
|
||||||
entities.emplace_back(MessageEntity::Type::Url, entity->offset_, entity->length_);
|
entities.emplace_back(MessageEntity::Type::Url, offset, length);
|
||||||
break;
|
break;
|
||||||
case td_api::textEntityTypeEmailAddress::ID:
|
case td_api::textEntityTypeEmailAddress::ID:
|
||||||
entities.emplace_back(MessageEntity::Type::EmailAddress, entity->offset_, entity->length_);
|
entities.emplace_back(MessageEntity::Type::EmailAddress, offset, length);
|
||||||
break;
|
break;
|
||||||
case td_api::textEntityTypeCashtag::ID:
|
case td_api::textEntityTypeCashtag::ID:
|
||||||
entities.emplace_back(MessageEntity::Type::Cashtag, entity->offset_, entity->length_);
|
entities.emplace_back(MessageEntity::Type::Cashtag, offset, length);
|
||||||
break;
|
break;
|
||||||
case td_api::textEntityTypePhoneNumber::ID:
|
case td_api::textEntityTypePhoneNumber::ID:
|
||||||
entities.emplace_back(MessageEntity::Type::PhoneNumber, entity->offset_, entity->length_);
|
entities.emplace_back(MessageEntity::Type::PhoneNumber, offset, length);
|
||||||
break;
|
break;
|
||||||
case td_api::textEntityTypeBankCardNumber::ID:
|
case td_api::textEntityTypeBankCardNumber::ID:
|
||||||
entities.emplace_back(MessageEntity::Type::BankCardNumber, entity->offset_, entity->length_);
|
entities.emplace_back(MessageEntity::Type::BankCardNumber, offset, length);
|
||||||
break;
|
break;
|
||||||
case td_api::textEntityTypeBold::ID:
|
case td_api::textEntityTypeBold::ID:
|
||||||
entities.emplace_back(MessageEntity::Type::Bold, entity->offset_, entity->length_);
|
entities.emplace_back(MessageEntity::Type::Bold, offset, length);
|
||||||
break;
|
break;
|
||||||
case td_api::textEntityTypeItalic::ID:
|
case td_api::textEntityTypeItalic::ID:
|
||||||
entities.emplace_back(MessageEntity::Type::Italic, entity->offset_, entity->length_);
|
entities.emplace_back(MessageEntity::Type::Italic, offset, length);
|
||||||
break;
|
break;
|
||||||
case td_api::textEntityTypeUnderline::ID:
|
case td_api::textEntityTypeUnderline::ID:
|
||||||
entities.emplace_back(MessageEntity::Type::Underline, entity->offset_, entity->length_);
|
entities.emplace_back(MessageEntity::Type::Underline, offset, length);
|
||||||
break;
|
break;
|
||||||
case td_api::textEntityTypeStrikethrough::ID:
|
case td_api::textEntityTypeStrikethrough::ID:
|
||||||
entities.emplace_back(MessageEntity::Type::Strikethrough, entity->offset_, entity->length_);
|
entities.emplace_back(MessageEntity::Type::Strikethrough, offset, length);
|
||||||
break;
|
break;
|
||||||
case td_api::textEntityTypeCode::ID:
|
case td_api::textEntityTypeCode::ID:
|
||||||
entities.emplace_back(MessageEntity::Type::Code, entity->offset_, entity->length_);
|
entities.emplace_back(MessageEntity::Type::Code, offset, length);
|
||||||
break;
|
break;
|
||||||
case td_api::textEntityTypePre::ID:
|
case td_api::textEntityTypePre::ID:
|
||||||
entities.emplace_back(MessageEntity::Type::Pre, entity->offset_, entity->length_);
|
entities.emplace_back(MessageEntity::Type::Pre, offset, length);
|
||||||
break;
|
break;
|
||||||
case td_api::textEntityTypePreCode::ID: {
|
case td_api::textEntityTypePreCode::ID: {
|
||||||
auto entity_pre_code = static_cast<td_api::textEntityTypePreCode *>(entity->type_.get());
|
auto entity = static_cast<td_api::textEntityTypePreCode *>(input_entity->type_.get());
|
||||||
if (!clean_input_string(entity_pre_code->language_)) {
|
if (!clean_input_string(entity->language_)) {
|
||||||
return Status::Error(400, "MessageEntityPreCode.language must be encoded in UTF-8");
|
return Status::Error(400, "MessageEntityPreCode.language must be encoded in UTF-8");
|
||||||
}
|
}
|
||||||
entities.emplace_back(MessageEntity::Type::PreCode, entity->offset_, entity->length_,
|
entities.emplace_back(MessageEntity::Type::PreCode, offset, length, entity->language_);
|
||||||
entity_pre_code->language_);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case td_api::textEntityTypeTextUrl::ID: {
|
case td_api::textEntityTypeTextUrl::ID: {
|
||||||
auto entity_text_url = static_cast<td_api::textEntityTypeTextUrl *>(entity->type_.get());
|
auto entity = static_cast<td_api::textEntityTypeTextUrl *>(input_entity->type_.get());
|
||||||
if (!clean_input_string(entity_text_url->url_)) {
|
if (!clean_input_string(entity->url_)) {
|
||||||
return Status::Error(400, "MessageEntityTextUrl.url must be encoded in UTF-8");
|
return Status::Error(400, "MessageEntityTextUrl.url must be encoded in UTF-8");
|
||||||
}
|
}
|
||||||
auto r_url = LinkManager::check_link(entity_text_url->url_);
|
auto r_url = LinkManager::check_link(entity->url_);
|
||||||
if (r_url.is_error()) {
|
if (r_url.is_error()) {
|
||||||
return Status::Error(400, PSTRING() << "Wrong message entity: " << r_url.error().message());
|
return Status::Error(400, PSTRING() << "Wrong message input_entity: " << r_url.error().message());
|
||||||
}
|
}
|
||||||
entities.emplace_back(MessageEntity::Type::TextUrl, entity->offset_, entity->length_, r_url.move_as_ok());
|
entities.emplace_back(MessageEntity::Type::TextUrl, offset, length, r_url.move_as_ok());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case td_api::textEntityTypeMentionName::ID: {
|
case td_api::textEntityTypeMentionName::ID: {
|
||||||
auto entity_mention_name = static_cast<td_api::textEntityTypeMentionName *>(entity->type_.get());
|
auto entity = static_cast<td_api::textEntityTypeMentionName *>(input_entity->type_.get());
|
||||||
UserId user_id(entity_mention_name->user_id_);
|
UserId user_id(entity->user_id_);
|
||||||
if (contacts_manager != nullptr && !contacts_manager->have_input_user(user_id)) {
|
if (contacts_manager != nullptr && !contacts_manager->have_input_user(user_id)) {
|
||||||
return Status::Error(400, "Have no access to the user");
|
return Status::Error(400, "Have no access to the user");
|
||||||
}
|
}
|
||||||
entities.emplace_back(entity->offset_, entity->length_, user_id);
|
entities.emplace_back(offset, length, user_id);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case td_api::textEntityTypeMediaTimestamp::ID: {
|
case td_api::textEntityTypeMediaTimestamp::ID: {
|
||||||
auto entity_media_timestamp = static_cast<td_api::textEntityTypeMediaTimestamp *>(entity->type_.get());
|
auto entity = static_cast<td_api::textEntityTypeMediaTimestamp *>(input_entity->type_.get());
|
||||||
if (entity_media_timestamp->media_timestamp_ < 0) {
|
if (entity->media_timestamp_ < 0) {
|
||||||
return Status::Error(400, "Invalid media timestamp specified");
|
return Status::Error(400, "Invalid media timestamp specified");
|
||||||
}
|
}
|
||||||
entities.emplace_back(MessageEntity::Type::MediaTimestamp, entity->offset_, entity->length_,
|
entities.emplace_back(MessageEntity::Type::MediaTimestamp, offset, length, entity->media_timestamp_);
|
||||||
entity_media_timestamp->media_timestamp_);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
@ -3255,107 +3255,104 @@ vector<MessageEntity> get_message_entities(const ContactsManager *contacts_manag
|
||||||
const char *source) {
|
const char *source) {
|
||||||
vector<MessageEntity> entities;
|
vector<MessageEntity> entities;
|
||||||
entities.reserve(server_entities.size());
|
entities.reserve(server_entities.size());
|
||||||
for (auto &entity : server_entities) {
|
for (auto &server_entity : server_entities) {
|
||||||
switch (entity->get_id()) {
|
switch (server_entity->get_id()) {
|
||||||
case telegram_api::messageEntityUnknown::ID:
|
case telegram_api::messageEntityUnknown::ID:
|
||||||
break;
|
break;
|
||||||
case telegram_api::messageEntityMention::ID: {
|
case telegram_api::messageEntityMention::ID: {
|
||||||
auto entity_mention = static_cast<const telegram_api::messageEntityMention *>(entity.get());
|
auto entity = static_cast<const telegram_api::messageEntityMention *>(server_entity.get());
|
||||||
entities.emplace_back(MessageEntity::Type::Mention, entity_mention->offset_, entity_mention->length_);
|
entities.emplace_back(MessageEntity::Type::Mention, entity->offset_, entity->length_);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case telegram_api::messageEntityHashtag::ID: {
|
case telegram_api::messageEntityHashtag::ID: {
|
||||||
auto entity_hashtag = static_cast<const telegram_api::messageEntityHashtag *>(entity.get());
|
auto entity = static_cast<const telegram_api::messageEntityHashtag *>(server_entity.get());
|
||||||
entities.emplace_back(MessageEntity::Type::Hashtag, entity_hashtag->offset_, entity_hashtag->length_);
|
entities.emplace_back(MessageEntity::Type::Hashtag, entity->offset_, entity->length_);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case telegram_api::messageEntityCashtag::ID: {
|
case telegram_api::messageEntityCashtag::ID: {
|
||||||
auto entity_cashtag = static_cast<const telegram_api::messageEntityCashtag *>(entity.get());
|
auto entity = static_cast<const telegram_api::messageEntityCashtag *>(server_entity.get());
|
||||||
entities.emplace_back(MessageEntity::Type::Cashtag, entity_cashtag->offset_, entity_cashtag->length_);
|
entities.emplace_back(MessageEntity::Type::Cashtag, entity->offset_, entity->length_);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case telegram_api::messageEntityPhone::ID: {
|
case telegram_api::messageEntityPhone::ID: {
|
||||||
auto entity_phone = static_cast<const telegram_api::messageEntityPhone *>(entity.get());
|
auto entity = static_cast<const telegram_api::messageEntityPhone *>(server_entity.get());
|
||||||
entities.emplace_back(MessageEntity::Type::PhoneNumber, entity_phone->offset_, entity_phone->length_);
|
entities.emplace_back(MessageEntity::Type::PhoneNumber, entity->offset_, entity->length_);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case telegram_api::messageEntityBotCommand::ID: {
|
case telegram_api::messageEntityBotCommand::ID: {
|
||||||
auto entity_bot_command = static_cast<const telegram_api::messageEntityBotCommand *>(entity.get());
|
auto entity = static_cast<const telegram_api::messageEntityBotCommand *>(server_entity.get());
|
||||||
entities.emplace_back(MessageEntity::Type::BotCommand, entity_bot_command->offset_,
|
entities.emplace_back(MessageEntity::Type::BotCommand, entity->offset_, entity->length_);
|
||||||
entity_bot_command->length_);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case telegram_api::messageEntityBankCard::ID: {
|
case telegram_api::messageEntityBankCard::ID: {
|
||||||
auto entity_bank_card = static_cast<const telegram_api::messageEntityBankCard *>(entity.get());
|
auto entity = static_cast<const telegram_api::messageEntityBankCard *>(server_entity.get());
|
||||||
entities.emplace_back(MessageEntity::Type::BankCardNumber, entity_bank_card->offset_,
|
entities.emplace_back(MessageEntity::Type::BankCardNumber, entity->offset_, entity->length_);
|
||||||
entity_bank_card->length_);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case telegram_api::messageEntityUrl::ID: {
|
case telegram_api::messageEntityUrl::ID: {
|
||||||
auto entity_url = static_cast<const telegram_api::messageEntityUrl *>(entity.get());
|
auto entity = static_cast<const telegram_api::messageEntityUrl *>(server_entity.get());
|
||||||
entities.emplace_back(MessageEntity::Type::Url, entity_url->offset_, entity_url->length_);
|
entities.emplace_back(MessageEntity::Type::Url, entity->offset_, entity->length_);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case telegram_api::messageEntityEmail::ID: {
|
case telegram_api::messageEntityEmail::ID: {
|
||||||
auto entity_email = static_cast<const telegram_api::messageEntityEmail *>(entity.get());
|
auto entity = static_cast<const telegram_api::messageEntityEmail *>(server_entity.get());
|
||||||
entities.emplace_back(MessageEntity::Type::EmailAddress, entity_email->offset_, entity_email->length_);
|
entities.emplace_back(MessageEntity::Type::EmailAddress, entity->offset_, entity->length_);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case telegram_api::messageEntityBold::ID: {
|
case telegram_api::messageEntityBold::ID: {
|
||||||
auto entity_bold = static_cast<const telegram_api::messageEntityBold *>(entity.get());
|
auto entity = static_cast<const telegram_api::messageEntityBold *>(server_entity.get());
|
||||||
entities.emplace_back(MessageEntity::Type::Bold, entity_bold->offset_, entity_bold->length_);
|
entities.emplace_back(MessageEntity::Type::Bold, entity->offset_, entity->length_);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case telegram_api::messageEntityItalic::ID: {
|
case telegram_api::messageEntityItalic::ID: {
|
||||||
auto entity_italic = static_cast<const telegram_api::messageEntityItalic *>(entity.get());
|
auto entity = static_cast<const telegram_api::messageEntityItalic *>(server_entity.get());
|
||||||
entities.emplace_back(MessageEntity::Type::Italic, entity_italic->offset_, entity_italic->length_);
|
entities.emplace_back(MessageEntity::Type::Italic, entity->offset_, entity->length_);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case telegram_api::messageEntityUnderline::ID: {
|
case telegram_api::messageEntityUnderline::ID: {
|
||||||
auto entity_bold = static_cast<const telegram_api::messageEntityUnderline *>(entity.get());
|
auto entity = static_cast<const telegram_api::messageEntityUnderline *>(server_entity.get());
|
||||||
entities.emplace_back(MessageEntity::Type::Underline, entity_bold->offset_, entity_bold->length_);
|
entities.emplace_back(MessageEntity::Type::Underline, entity->offset_, entity->length_);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case telegram_api::messageEntityStrike::ID: {
|
case telegram_api::messageEntityStrike::ID: {
|
||||||
auto entity_bold = static_cast<const telegram_api::messageEntityStrike *>(entity.get());
|
auto entity = static_cast<const telegram_api::messageEntityStrike *>(server_entity.get());
|
||||||
entities.emplace_back(MessageEntity::Type::Strikethrough, entity_bold->offset_, entity_bold->length_);
|
entities.emplace_back(MessageEntity::Type::Strikethrough, entity->offset_, entity->length_);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case telegram_api::messageEntityBlockquote::ID: {
|
case telegram_api::messageEntityBlockquote::ID: {
|
||||||
auto entity_bold = static_cast<const telegram_api::messageEntityBlockquote *>(entity.get());
|
auto entity = static_cast<const telegram_api::messageEntityBlockquote *>(server_entity.get());
|
||||||
entities.emplace_back(MessageEntity::Type::BlockQuote, entity_bold->offset_, entity_bold->length_);
|
entities.emplace_back(MessageEntity::Type::BlockQuote, entity->offset_, entity->length_);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case telegram_api::messageEntityCode::ID: {
|
case telegram_api::messageEntityCode::ID: {
|
||||||
auto entity_code = static_cast<const telegram_api::messageEntityCode *>(entity.get());
|
auto entity = static_cast<const telegram_api::messageEntityCode *>(server_entity.get());
|
||||||
entities.emplace_back(MessageEntity::Type::Code, entity_code->offset_, entity_code->length_);
|
entities.emplace_back(MessageEntity::Type::Code, entity->offset_, entity->length_);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case telegram_api::messageEntityPre::ID: {
|
case telegram_api::messageEntityPre::ID: {
|
||||||
auto entity_pre = static_cast<telegram_api::messageEntityPre *>(entity.get());
|
auto entity = static_cast<telegram_api::messageEntityPre *>(server_entity.get());
|
||||||
if (entity_pre->language_.empty()) {
|
if (entity->language_.empty()) {
|
||||||
entities.emplace_back(MessageEntity::Type::Pre, entity_pre->offset_, entity_pre->length_);
|
entities.emplace_back(MessageEntity::Type::Pre, entity->offset_, entity->length_);
|
||||||
} else {
|
} else {
|
||||||
entities.emplace_back(MessageEntity::Type::PreCode, entity_pre->offset_, entity_pre->length_,
|
entities.emplace_back(MessageEntity::Type::PreCode, entity->offset_, entity->length_,
|
||||||
std::move(entity_pre->language_));
|
std::move(entity->language_));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case telegram_api::messageEntityTextUrl::ID: {
|
case telegram_api::messageEntityTextUrl::ID: {
|
||||||
auto entity_text_url = static_cast<const telegram_api::messageEntityTextUrl *>(entity.get());
|
auto entity = static_cast<const telegram_api::messageEntityTextUrl *>(server_entity.get());
|
||||||
auto r_url = LinkManager::check_link(entity_text_url->url_);
|
auto r_url = LinkManager::check_link(entity->url_);
|
||||||
if (r_url.is_error()) {
|
if (r_url.is_error()) {
|
||||||
LOG(ERROR) << "Wrong URL entity: \"" << entity_text_url->url_ << "\": " << r_url.error().message() << " from "
|
LOG(ERROR) << "Wrong URL entity: \"" << entity->url_ << "\": " << r_url.error().message() << " from "
|
||||||
<< source;
|
<< source;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
entities.emplace_back(MessageEntity::Type::TextUrl, entity_text_url->offset_, entity_text_url->length_,
|
entities.emplace_back(MessageEntity::Type::TextUrl, entity->offset_, entity->length_, r_url.move_as_ok());
|
||||||
r_url.move_as_ok());
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case telegram_api::messageEntityMentionName::ID: {
|
case telegram_api::messageEntityMentionName::ID: {
|
||||||
auto entity_mention_name = static_cast<const telegram_api::messageEntityMentionName *>(entity.get());
|
auto entity = static_cast<const telegram_api::messageEntityMentionName *>(server_entity.get());
|
||||||
UserId user_id(entity_mention_name->user_id_);
|
UserId user_id(entity->user_id_);
|
||||||
if (!user_id.is_valid()) {
|
if (!user_id.is_valid()) {
|
||||||
LOG(ERROR) << "Receive invalid " << user_id << " in MentionName from " << source;
|
LOG(ERROR) << "Receive invalid " << user_id << " in MentionName from " << source;
|
||||||
continue;
|
continue;
|
||||||
|
@ -3368,7 +3365,7 @@ vector<MessageEntity> get_message_entities(const ContactsManager *contacts_manag
|
||||||
LOG(ERROR) << "Receive inaccessible " << user_id << " in MentionName from " << source;
|
LOG(ERROR) << "Receive inaccessible " << user_id << " in MentionName from " << source;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
entities.emplace_back(entity_mention_name->offset_, entity_mention_name->length_, user_id);
|
entities.emplace_back(entity->offset_, entity->length_, user_id);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
@ -3381,8 +3378,8 @@ vector<MessageEntity> get_message_entities(const ContactsManager *contacts_manag
|
||||||
vector<MessageEntity> get_message_entities(vector<tl_object_ptr<secret_api::MessageEntity>> &&secret_entities) {
|
vector<MessageEntity> get_message_entities(vector<tl_object_ptr<secret_api::MessageEntity>> &&secret_entities) {
|
||||||
vector<MessageEntity> entities;
|
vector<MessageEntity> entities;
|
||||||
entities.reserve(secret_entities.size());
|
entities.reserve(secret_entities.size());
|
||||||
for (auto &entity : secret_entities) {
|
for (auto &secret_entity : secret_entities) {
|
||||||
switch (entity->get_id()) {
|
switch (secret_entity->get_id()) {
|
||||||
case secret_api::messageEntityUnknown::ID:
|
case secret_api::messageEntityUnknown::ID:
|
||||||
break;
|
break;
|
||||||
case secret_api::messageEntityMention::ID:
|
case secret_api::messageEntityMention::ID:
|
||||||
|
@ -3404,74 +3401,73 @@ vector<MessageEntity> get_message_entities(vector<tl_object_ptr<secret_api::Mess
|
||||||
// skip, will find it ourselves
|
// skip, will find it ourselves
|
||||||
break;
|
break;
|
||||||
case secret_api::messageEntityUrl::ID: {
|
case secret_api::messageEntityUrl::ID: {
|
||||||
auto entity_url = static_cast<const secret_api::messageEntityUrl *>(entity.get());
|
auto entity = static_cast<const secret_api::messageEntityUrl *>(secret_entity.get());
|
||||||
// TODO skip URL when find_urls will be better
|
// TODO skip URL when find_urls will be better
|
||||||
entities.emplace_back(MessageEntity::Type::Url, entity_url->offset_, entity_url->length_);
|
entities.emplace_back(MessageEntity::Type::Url, entity->offset_, entity->length_);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case secret_api::messageEntityEmail::ID: {
|
case secret_api::messageEntityEmail::ID: {
|
||||||
auto entity_email = static_cast<const secret_api::messageEntityEmail *>(entity.get());
|
auto entity = static_cast<const secret_api::messageEntityEmail *>(secret_entity.get());
|
||||||
// TODO skip emails when find_urls will be better
|
// TODO skip emails when find_urls will be better
|
||||||
entities.emplace_back(MessageEntity::Type::EmailAddress, entity_email->offset_, entity_email->length_);
|
entities.emplace_back(MessageEntity::Type::EmailAddress, entity->offset_, entity->length_);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case secret_api::messageEntityBold::ID: {
|
case secret_api::messageEntityBold::ID: {
|
||||||
auto entity_bold = static_cast<const secret_api::messageEntityBold *>(entity.get());
|
auto entity = static_cast<const secret_api::messageEntityBold *>(secret_entity.get());
|
||||||
entities.emplace_back(MessageEntity::Type::Bold, entity_bold->offset_, entity_bold->length_);
|
entities.emplace_back(MessageEntity::Type::Bold, entity->offset_, entity->length_);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case secret_api::messageEntityItalic::ID: {
|
case secret_api::messageEntityItalic::ID: {
|
||||||
auto entity_italic = static_cast<const secret_api::messageEntityItalic *>(entity.get());
|
auto entity = static_cast<const secret_api::messageEntityItalic *>(secret_entity.get());
|
||||||
entities.emplace_back(MessageEntity::Type::Italic, entity_italic->offset_, entity_italic->length_);
|
entities.emplace_back(MessageEntity::Type::Italic, entity->offset_, entity->length_);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case secret_api::messageEntityUnderline::ID: {
|
case secret_api::messageEntityUnderline::ID: {
|
||||||
auto entity_bold = static_cast<const secret_api::messageEntityUnderline *>(entity.get());
|
auto entity = static_cast<const secret_api::messageEntityUnderline *>(secret_entity.get());
|
||||||
entities.emplace_back(MessageEntity::Type::Underline, entity_bold->offset_, entity_bold->length_);
|
entities.emplace_back(MessageEntity::Type::Underline, entity->offset_, entity->length_);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case secret_api::messageEntityStrike::ID: {
|
case secret_api::messageEntityStrike::ID: {
|
||||||
auto entity_bold = static_cast<const secret_api::messageEntityStrike *>(entity.get());
|
auto entity = static_cast<const secret_api::messageEntityStrike *>(secret_entity.get());
|
||||||
entities.emplace_back(MessageEntity::Type::Strikethrough, entity_bold->offset_, entity_bold->length_);
|
entities.emplace_back(MessageEntity::Type::Strikethrough, entity->offset_, entity->length_);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case secret_api::messageEntityBlockquote::ID: {
|
case secret_api::messageEntityBlockquote::ID: {
|
||||||
auto entity_bold = static_cast<const secret_api::messageEntityBlockquote *>(entity.get());
|
auto entity = static_cast<const secret_api::messageEntityBlockquote *>(secret_entity.get());
|
||||||
entities.emplace_back(MessageEntity::Type::BlockQuote, entity_bold->offset_, entity_bold->length_);
|
entities.emplace_back(MessageEntity::Type::BlockQuote, entity->offset_, entity->length_);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case secret_api::messageEntityCode::ID: {
|
case secret_api::messageEntityCode::ID: {
|
||||||
auto entity_code = static_cast<const secret_api::messageEntityCode *>(entity.get());
|
auto entity = static_cast<const secret_api::messageEntityCode *>(secret_entity.get());
|
||||||
entities.emplace_back(MessageEntity::Type::Code, entity_code->offset_, entity_code->length_);
|
entities.emplace_back(MessageEntity::Type::Code, entity->offset_, entity->length_);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case secret_api::messageEntityPre::ID: {
|
case secret_api::messageEntityPre::ID: {
|
||||||
auto entity_pre = static_cast<secret_api::messageEntityPre *>(entity.get());
|
auto entity = static_cast<secret_api::messageEntityPre *>(secret_entity.get());
|
||||||
if (!clean_input_string(entity_pre->language_)) {
|
if (!clean_input_string(entity->language_)) {
|
||||||
LOG(WARNING) << "Wrong language in entity: \"" << entity_pre->language_ << '"';
|
LOG(WARNING) << "Wrong language in entity: \"" << entity->language_ << '"';
|
||||||
entity_pre->language_.clear();
|
entity->language_.clear();
|
||||||
}
|
}
|
||||||
if (entity_pre->language_.empty()) {
|
if (entity->language_.empty()) {
|
||||||
entities.emplace_back(MessageEntity::Type::Pre, entity_pre->offset_, entity_pre->length_);
|
entities.emplace_back(MessageEntity::Type::Pre, entity->offset_, entity->length_);
|
||||||
} else {
|
} else {
|
||||||
entities.emplace_back(MessageEntity::Type::PreCode, entity_pre->offset_, entity_pre->length_,
|
entities.emplace_back(MessageEntity::Type::PreCode, entity->offset_, entity->length_,
|
||||||
std::move(entity_pre->language_));
|
std::move(entity->language_));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case secret_api::messageEntityTextUrl::ID: {
|
case secret_api::messageEntityTextUrl::ID: {
|
||||||
auto entity_text_url = static_cast<secret_api::messageEntityTextUrl *>(entity.get());
|
auto entity = static_cast<secret_api::messageEntityTextUrl *>(secret_entity.get());
|
||||||
if (!clean_input_string(entity_text_url->url_)) {
|
if (!clean_input_string(entity->url_)) {
|
||||||
LOG(WARNING) << "Wrong URL entity: \"" << entity_text_url->url_ << '"';
|
LOG(WARNING) << "Wrong URL entity: \"" << entity->url_ << '"';
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
auto r_url = LinkManager::check_link(entity_text_url->url_);
|
auto r_url = LinkManager::check_link(entity->url_);
|
||||||
if (r_url.is_error()) {
|
if (r_url.is_error()) {
|
||||||
LOG(WARNING) << "Wrong URL entity: \"" << entity_text_url->url_ << "\": " << r_url.error().message();
|
LOG(WARNING) << "Wrong URL entity: \"" << entity->url_ << "\": " << r_url.error().message();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
entities.emplace_back(MessageEntity::Type::TextUrl, entity_text_url->offset_, entity_text_url->length_,
|
entities.emplace_back(MessageEntity::Type::TextUrl, entity->offset_, entity->length_, r_url.move_as_ok());
|
||||||
r_url.move_as_ok());
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case secret_api::messageEntityMentionName::ID:
|
case secret_api::messageEntityMentionName::ID:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user