Update layer 78: venue_type, email code length.
GitOrigin-RevId: c10dc49dd0ecd467a78b17081239305035f6e642
This commit is contained in:
parent
d7d91bbaf3
commit
184af85bfc
@ -59,8 +59,8 @@ authenticationCodeTypeFlashCall pattern:string = AuthenticationCodeType;
|
|||||||
//@description Information about the authentication code that was sent @phone_number A phone number that is being authenticated @type Describes the way the code was sent to the user @next_type Describes the way the next code will be sent to the user; may be null @timeout Timeout before the code should be re-sent, in seconds
|
//@description Information about the authentication code that was sent @phone_number A phone number that is being authenticated @type Describes the way the code was sent to the user @next_type Describes the way the next code will be sent to the user; may be null @timeout Timeout before the code should be re-sent, in seconds
|
||||||
authenticationCodeInfo phone_number:string type:AuthenticationCodeType next_type:AuthenticationCodeType timeout:int32 = AuthenticationCodeInfo;
|
authenticationCodeInfo phone_number:string type:AuthenticationCodeType next_type:AuthenticationCodeType timeout:int32 = AuthenticationCodeInfo;
|
||||||
|
|
||||||
//@description Information about the email address authentication code that was sent @email_address_pattern Pattern of the email address to which an authentication code was sent
|
//@description Information about the email address authentication code that was sent @email_address_pattern Pattern of the email address to which an authentication code was sent @length Length of the code; 0 if unknown
|
||||||
emailAddressAuthenticationCodeInfo email_address_pattern:string = EmailAddressAuthenticationCodeInfo;
|
emailAddressAuthenticationCodeInfo email_address_pattern:string length:int32 = EmailAddressAuthenticationCodeInfo;
|
||||||
|
|
||||||
|
|
||||||
//@class AuthorizationState @description Represents the current authorization state of the client
|
//@class AuthorizationState @description Represents the current authorization state of the client
|
||||||
@ -221,8 +221,8 @@ contact phone_number:string first_name:string last_name:string user_id:int32 = C
|
|||||||
location latitude:double longitude:double = Location;
|
location latitude:double longitude:double = Location;
|
||||||
|
|
||||||
//@description Describes a venue @location Venue location; as defined by the sender @title Venue name; as defined by the sender @address Venue address; as defined by the sender @provider Provider of the venue database; as defined by the sender. Currently only "foursquare" needs to be supported
|
//@description Describes a venue @location Venue location; as defined by the sender @title Venue name; as defined by the sender @address Venue address; as defined by the sender @provider Provider of the venue database; as defined by the sender. Currently only "foursquare" needs to be supported
|
||||||
//@id Identifier of the venue in the provider database; as defined by the sender
|
//@id Identifier of the venue in the provider database; as defined by the sender @type Type of the venue in the provider database; as defined by the sender
|
||||||
venue location:location title:string address:string provider:string id:string = Venue;
|
venue location:location title:string address:string provider:string id:string type:string = Venue;
|
||||||
|
|
||||||
//@description Describes a game @id Game ID @short_name Game short name. To share a game use the URL https://t.me/{bot_username}?game={game_short_name} @title Game title @text Game text, usually containing scoreboards for a game
|
//@description Describes a game @id Game ID @short_name Game short name. To share a game use the URL https://t.me/{bot_username}?game={game_short_name} @title Game title @text Game text, usually containing scoreboards for a game
|
||||||
//@param_description Game description @photo Game photo @animation Game animation; may be null
|
//@param_description Game description @photo Game photo @animation Game animation; may be null
|
||||||
|
Binary file not shown.
@ -568,7 +568,7 @@ messages.savedGifs#2e0709a5 hash:int gifs:Vector<Document> = messages.SavedGifs;
|
|||||||
inputBotInlineMessageMediaAuto#3380c786 flags:# message:string entities:flags.1?Vector<MessageEntity> reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
|
inputBotInlineMessageMediaAuto#3380c786 flags:# message:string entities:flags.1?Vector<MessageEntity> reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
|
||||||
inputBotInlineMessageText#3dcd7a87 flags:# no_webpage:flags.0?true message:string entities:flags.1?Vector<MessageEntity> reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
|
inputBotInlineMessageText#3dcd7a87 flags:# no_webpage:flags.0?true message:string entities:flags.1?Vector<MessageEntity> reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
|
||||||
inputBotInlineMessageMediaGeo#c1b15d65 flags:# geo_point:InputGeoPoint period:int reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
|
inputBotInlineMessageMediaGeo#c1b15d65 flags:# geo_point:InputGeoPoint period:int reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
|
||||||
inputBotInlineMessageMediaVenue#aaafadc8 flags:# geo_point:InputGeoPoint title:string address:string provider:string venue_id:string reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
|
inputBotInlineMessageMediaVenue#417bbf11 flags:# geo_point:InputGeoPoint title:string address:string provider:string venue_id:string venue_type:string reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
|
||||||
inputBotInlineMessageMediaContact#2daf01a7 flags:# phone_number:string first_name:string last_name:string reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
|
inputBotInlineMessageMediaContact#2daf01a7 flags:# phone_number:string first_name:string last_name:string reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
|
||||||
inputBotInlineMessageGame#4b425864 flags:# reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
|
inputBotInlineMessageGame#4b425864 flags:# reply_markup:flags.2?ReplyMarkup = InputBotInlineMessage;
|
||||||
|
|
||||||
@ -580,7 +580,7 @@ inputBotInlineResultGame#4fa417f2 id:string short_name:string send_message:Input
|
|||||||
botInlineMessageMediaAuto#764cf810 flags:# message:string entities:flags.1?Vector<MessageEntity> reply_markup:flags.2?ReplyMarkup = BotInlineMessage;
|
botInlineMessageMediaAuto#764cf810 flags:# message:string entities:flags.1?Vector<MessageEntity> reply_markup:flags.2?ReplyMarkup = BotInlineMessage;
|
||||||
botInlineMessageText#8c7f65e2 flags:# no_webpage:flags.0?true message:string entities:flags.1?Vector<MessageEntity> reply_markup:flags.2?ReplyMarkup = BotInlineMessage;
|
botInlineMessageText#8c7f65e2 flags:# no_webpage:flags.0?true message:string entities:flags.1?Vector<MessageEntity> reply_markup:flags.2?ReplyMarkup = BotInlineMessage;
|
||||||
botInlineMessageMediaGeo#b722de65 flags:# geo:GeoPoint period:int reply_markup:flags.2?ReplyMarkup = BotInlineMessage;
|
botInlineMessageMediaGeo#b722de65 flags:# geo:GeoPoint period:int reply_markup:flags.2?ReplyMarkup = BotInlineMessage;
|
||||||
botInlineMessageMediaVenue#4366232e flags:# geo:GeoPoint title:string address:string provider:string venue_id:string reply_markup:flags.2?ReplyMarkup = BotInlineMessage;
|
botInlineMessageMediaVenue#8a86659c flags:# geo:GeoPoint title:string address:string provider:string venue_id:string venue_type:string reply_markup:flags.2?ReplyMarkup = BotInlineMessage;
|
||||||
botInlineMessageMediaContact#35edb4d4 flags:# phone_number:string first_name:string last_name:string reply_markup:flags.2?ReplyMarkup = BotInlineMessage;
|
botInlineMessageMediaContact#35edb4d4 flags:# phone_number:string first_name:string last_name:string reply_markup:flags.2?ReplyMarkup = BotInlineMessage;
|
||||||
|
|
||||||
botInlineResult#11965f3a flags:# id:string type:string title:flags.1?string description:flags.2?string url:flags.3?string thumb:flags.4?WebDocument content:flags.5?WebDocument send_message:BotInlineMessage = BotInlineResult;
|
botInlineResult#11965f3a flags:# id:string type:string title:flags.1?string description:flags.2?string url:flags.3?string thumb:flags.4?WebDocument content:flags.5?WebDocument send_message:BotInlineMessage = BotInlineResult;
|
||||||
@ -865,7 +865,10 @@ secureCredentialsEncrypted#33f0ea47 data:bytes hash:bytes secret:bytes = SecureC
|
|||||||
|
|
||||||
account.authorizationForm#b9d3d1f0 flags:# selfie_required:flags.1?true required_types:Vector<SecureValueType> values:Vector<SecureValue> users:Vector<User> privacy_policy_url:flags.0?string = account.AuthorizationForm;
|
account.authorizationForm#b9d3d1f0 flags:# selfie_required:flags.1?true required_types:Vector<SecureValueType> values:Vector<SecureValue> users:Vector<User> privacy_policy_url:flags.0?string = account.AuthorizationForm;
|
||||||
|
|
||||||
account.sentEmailCode#28b1633b email_pattern:string = account.SentEmailCode;
|
account.sentEmailCode#811f854f email_pattern:string length:int = account.SentEmailCode;
|
||||||
|
|
||||||
|
help.deepLinkInfoEmpty#66afa166 = help.DeepLinkInfo;
|
||||||
|
help.deepLinkInfo#6a4ee832 flags:# update_app:flags.0?true message:string entities:flags.1?Vector<MessageEntity> = help.DeepLinkInfo;
|
||||||
|
|
||||||
---functions---
|
---functions---
|
||||||
|
|
||||||
@ -1079,6 +1082,7 @@ help.getTermsOfService#350170f3 = help.TermsOfService;
|
|||||||
help.setBotUpdatesStatus#ec22cfcd pending_updates_count:int message:string = Bool;
|
help.setBotUpdatesStatus#ec22cfcd pending_updates_count:int message:string = Bool;
|
||||||
help.getCdnConfig#52029342 = CdnConfig;
|
help.getCdnConfig#52029342 = CdnConfig;
|
||||||
help.getRecentMeUrls#3dc0f114 referer:string = help.RecentMeUrls;
|
help.getRecentMeUrls#3dc0f114 referer:string = help.RecentMeUrls;
|
||||||
|
help.getDeepLinkInfo#3fedc75f path:string = help.DeepLinkInfo;
|
||||||
|
|
||||||
channels.readHistory#cc104937 channel:InputChannel max_id:int = Bool;
|
channels.readHistory#cc104937 channel:InputChannel max_id:int = Bool;
|
||||||
channels.deleteMessages#84c1fd4e channel:InputChannel id:Vector<int> = messages.AffectedMessages;
|
channels.deleteMessages#84c1fd4e channel:InputChannel id:Vector<int> = messages.AffectedMessages;
|
||||||
|
Binary file not shown.
@ -205,6 +205,9 @@ void PhoneNumberManager::set_phone_number(uint64 query_id, string phone_number,
|
|||||||
return c(send_code_helper_.send_verify_phone_code(phone_number, allow_flash_call, is_current_phone_number));
|
return c(send_code_helper_.send_verify_phone_code(phone_number, allow_flash_call, is_current_phone_number));
|
||||||
case Type::ConfirmPhone:
|
case Type::ConfirmPhone:
|
||||||
return c(send_code_helper_.send_confirm_phone_code(phone_number, allow_flash_call, is_current_phone_number));
|
return c(send_code_helper_.send_confirm_phone_code(phone_number, allow_flash_call, is_current_phone_number));
|
||||||
|
default:
|
||||||
|
UNREACHABLE();
|
||||||
|
return c(send_code_helper_.send_change_phone_code(phone_number, allow_flash_call, is_current_phone_number));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -253,6 +256,10 @@ void PhoneNumberManager::check_code(uint64 query_id, string code) {
|
|||||||
case Type::VerifyPhone:
|
case Type::VerifyPhone:
|
||||||
return c(telegram_api::account_verifyPhone(send_code_helper_.phone_number().str(),
|
return c(telegram_api::account_verifyPhone(send_code_helper_.phone_number().str(),
|
||||||
send_code_helper_.phone_code_hash().str(), code));
|
send_code_helper_.phone_code_hash().str(), code));
|
||||||
|
default:
|
||||||
|
UNREACHABLE();
|
||||||
|
return c(telegram_api::account_changePhone(send_code_helper_.phone_number().str(),
|
||||||
|
send_code_helper_.phone_code_hash().str(), code));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -312,6 +319,9 @@ void PhoneNumberManager::on_check_code_result(NetQueryPtr &result) {
|
|||||||
return c(fetch_result<telegram_api::account_verifyPhone>(result->ok()));
|
return c(fetch_result<telegram_api::account_verifyPhone>(result->ok()));
|
||||||
case Type::ConfirmPhone:
|
case Type::ConfirmPhone:
|
||||||
return c(fetch_result<telegram_api::account_confirmPhone>(result->ok()));
|
return c(fetch_result<telegram_api::account_confirmPhone>(result->ok()));
|
||||||
|
default:
|
||||||
|
UNREACHABLE();
|
||||||
|
return c(fetch_result<telegram_api::account_changePhone>(result->ok()));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -335,6 +345,9 @@ void PhoneNumberManager::on_send_code_result(NetQueryPtr &result) {
|
|||||||
return fetch_result<telegram_api::account_sendVerifyPhoneCode>(result->ok());
|
return fetch_result<telegram_api::account_sendVerifyPhoneCode>(result->ok());
|
||||||
case Type::ConfirmPhone:
|
case Type::ConfirmPhone:
|
||||||
return fetch_result<telegram_api::account_sendConfirmPhoneCode>(result->ok());
|
return fetch_result<telegram_api::account_sendConfirmPhoneCode>(result->ok());
|
||||||
|
default:
|
||||||
|
UNREACHABLE();
|
||||||
|
return fetch_result<telegram_api::account_sendChangePhoneCode>(result->ok());
|
||||||
}
|
}
|
||||||
}();
|
}();
|
||||||
if (r_sent_code.is_error()) {
|
if (r_sent_code.is_error()) {
|
||||||
|
@ -31,6 +31,7 @@
|
|||||||
#include "td/telegram/Td.h"
|
#include "td/telegram/Td.h"
|
||||||
#include "td/telegram/TopDialogManager.h"
|
#include "td/telegram/TopDialogManager.h"
|
||||||
#include "td/telegram/UpdatesManager.h"
|
#include "td/telegram/UpdatesManager.h"
|
||||||
|
#include "td/telegram/Version.h"
|
||||||
|
|
||||||
#include "td/utils/buffer.h"
|
#include "td/utils/buffer.h"
|
||||||
#include "td/utils/format.h"
|
#include "td/utils/format.h"
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
#include "td/telegram/net/NetQueryDispatcher.h"
|
#include "td/telegram/net/NetQueryDispatcher.h"
|
||||||
#include "td/telegram/net/TempAuthKeyWatchdog.h"
|
#include "td/telegram/net/TempAuthKeyWatchdog.h"
|
||||||
#include "td/telegram/TdDb.h"
|
#include "td/telegram/TdDb.h"
|
||||||
#include "td/telegram/Version.h"
|
|
||||||
|
|
||||||
#include "td/actor/MultiPromise.h"
|
#include "td/actor/MultiPromise.h"
|
||||||
#include "td/actor/PromiseFuture.h"
|
#include "td/actor/PromiseFuture.h"
|
||||||
|
@ -371,7 +371,7 @@ bool InlineQueriesManager::register_inline_message_content(
|
|||||||
message_content = make_unique<MessageVenue>(
|
message_content = make_unique<MessageVenue>(
|
||||||
Venue(inline_message_venue->geo_, std::move(inline_message_venue->title_),
|
Venue(inline_message_venue->geo_, std::move(inline_message_venue->title_),
|
||||||
std::move(inline_message_venue->address_), std::move(inline_message_venue->provider_),
|
std::move(inline_message_venue->address_), std::move(inline_message_venue->provider_),
|
||||||
std::move(inline_message_venue->venue_id_)));
|
std::move(inline_message_venue->venue_id_), std::move(inline_message_venue->venue_type_)));
|
||||||
reply_markup = std::move(inline_message_venue->reply_markup_);
|
reply_markup = std::move(inline_message_venue->reply_markup_);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1074,7 +1074,8 @@ tl_object_ptr<td_api::location> copy(const td_api::location &obj) {
|
|||||||
|
|
||||||
template <>
|
template <>
|
||||||
tl_object_ptr<td_api::venue> copy(const td_api::venue &obj) {
|
tl_object_ptr<td_api::venue> copy(const td_api::venue &obj) {
|
||||||
return make_tl_object<td_api::venue>(copy(obj.location_), obj.title_, obj.address_, obj.provider_, obj.id_);
|
return make_tl_object<td_api::venue>(copy(obj.location_), obj.title_, obj.address_, obj.provider_, obj.id_,
|
||||||
|
obj.type_);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
@ -1492,16 +1493,17 @@ void InlineQueriesManager::on_get_inline_query_results(UserId bot_user_id, uint6
|
|||||||
auto inline_message_venue =
|
auto inline_message_venue =
|
||||||
static_cast<const telegram_api::botInlineMessageMediaVenue *>(result->send_message_.get());
|
static_cast<const telegram_api::botInlineMessageMediaVenue *>(result->send_message_.get());
|
||||||
Venue v(inline_message_venue->geo_, inline_message_venue->title_, inline_message_venue->address_,
|
Venue v(inline_message_venue->geo_, inline_message_venue->title_, inline_message_venue->address_,
|
||||||
inline_message_venue->provider_, inline_message_venue->venue_id_);
|
inline_message_venue->provider_, inline_message_venue->venue_id_,
|
||||||
|
inline_message_venue->venue_type_);
|
||||||
venue->venue_ = v.get_venue_object();
|
venue->venue_ = v.get_venue_object();
|
||||||
} else if (result->send_message_->get_id() == telegram_api::botInlineMessageMediaGeo::ID) {
|
} else if (result->send_message_->get_id() == telegram_api::botInlineMessageMediaGeo::ID) {
|
||||||
auto inline_message_geo =
|
auto inline_message_geo =
|
||||||
static_cast<const telegram_api::botInlineMessageMediaGeo *>(result->send_message_.get());
|
static_cast<const telegram_api::botInlineMessageMediaGeo *>(result->send_message_.get());
|
||||||
Venue v(inline_message_geo->geo_, std::move(result->title_), std::move(result->description_), string(),
|
Venue v(inline_message_geo->geo_, std::move(result->title_), std::move(result->description_), string(),
|
||||||
string());
|
string(), string());
|
||||||
venue->venue_ = v.get_venue_object();
|
venue->venue_ = v.get_venue_object();
|
||||||
} else {
|
} else {
|
||||||
Venue v(nullptr, std::move(result->title_), std::move(result->description_), string(), string());
|
Venue v(nullptr, std::move(result->title_), std::move(result->description_), string(), string(), string());
|
||||||
venue->venue_ = v.get_venue_object();
|
venue->venue_ = v.get_venue_object();
|
||||||
}
|
}
|
||||||
venue->thumbnail_ = register_thumbnail(std::move(result->thumb_));
|
venue->thumbnail_ = register_thumbnail(std::move(result->thumb_));
|
||||||
|
@ -108,20 +108,22 @@ StringBuilder &operator<<(StringBuilder &string_builder, const Location &locatio
|
|||||||
}
|
}
|
||||||
|
|
||||||
Venue::Venue(const tl_object_ptr<telegram_api::GeoPoint> &geo_point_ptr, string title, string address, string provider,
|
Venue::Venue(const tl_object_ptr<telegram_api::GeoPoint> &geo_point_ptr, string title, string address, string provider,
|
||||||
string id)
|
string id, string type)
|
||||||
: location_(geo_point_ptr)
|
: location_(geo_point_ptr)
|
||||||
, title_(std::move(title))
|
, title_(std::move(title))
|
||||||
, address_(std::move(address))
|
, address_(std::move(address))
|
||||||
, provider_(std::move(provider))
|
, provider_(std::move(provider))
|
||||||
, id_(std::move(id)) {
|
, id_(std::move(id))
|
||||||
|
, type_(std::move(type)) {
|
||||||
}
|
}
|
||||||
|
|
||||||
Venue::Venue(Location location, string title, string address, string provider, string id)
|
Venue::Venue(Location location, string title, string address, string provider, string id, string type)
|
||||||
: location_(location)
|
: location_(location)
|
||||||
, title_(std::move(title))
|
, title_(std::move(title))
|
||||||
, address_(std::move(address))
|
, address_(std::move(address))
|
||||||
, provider_(std::move(provider))
|
, provider_(std::move(provider))
|
||||||
, id_(std::move(id)) {
|
, id_(std::move(id))
|
||||||
|
, type_(std::move(type)) {
|
||||||
}
|
}
|
||||||
|
|
||||||
Venue::Venue(const tl_object_ptr<td_api::venue> &venue)
|
Venue::Venue(const tl_object_ptr<td_api::venue> &venue)
|
||||||
@ -129,7 +131,8 @@ Venue::Venue(const tl_object_ptr<td_api::venue> &venue)
|
|||||||
, title_(venue->title_)
|
, title_(venue->title_)
|
||||||
, address_(venue->address_)
|
, address_(venue->address_)
|
||||||
, provider_(venue->provider_)
|
, provider_(venue->provider_)
|
||||||
, id_(venue->id_) {
|
, id_(venue->id_)
|
||||||
|
, type_(venue->type_) {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Venue::empty() const {
|
bool Venue::empty() const {
|
||||||
@ -137,12 +140,12 @@ bool Venue::empty() const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
tl_object_ptr<td_api::venue> Venue::get_venue_object() const {
|
tl_object_ptr<td_api::venue> Venue::get_venue_object() const {
|
||||||
return make_tl_object<td_api::venue>(location_.get_location_object(), title_, address_, provider_, id_);
|
return make_tl_object<td_api::venue>(location_.get_location_object(), title_, address_, provider_, id_, type_);
|
||||||
}
|
}
|
||||||
|
|
||||||
tl_object_ptr<telegram_api::inputMediaVenue> Venue::get_input_media_venue() const {
|
tl_object_ptr<telegram_api::inputMediaVenue> Venue::get_input_media_venue() const {
|
||||||
return make_tl_object<telegram_api::inputMediaVenue>(location_.get_input_geo_point(), title_, address_, provider_,
|
return make_tl_object<telegram_api::inputMediaVenue>(location_.get_input_geo_point(), title_, address_, provider_,
|
||||||
id_, "");
|
id_, type_);
|
||||||
}
|
}
|
||||||
|
|
||||||
SecretInputMedia Venue::get_secret_input_media_venue() const {
|
SecretInputMedia Venue::get_secret_input_media_venue() const {
|
||||||
@ -154,12 +157,12 @@ SecretInputMedia Venue::get_secret_input_media_venue() const {
|
|||||||
tl_object_ptr<telegram_api::inputBotInlineMessageMediaVenue> Venue::get_input_bot_inline_message_media_venue(
|
tl_object_ptr<telegram_api::inputBotInlineMessageMediaVenue> Venue::get_input_bot_inline_message_media_venue(
|
||||||
int32 flags, tl_object_ptr<telegram_api::ReplyMarkup> &&reply_markup) const {
|
int32 flags, tl_object_ptr<telegram_api::ReplyMarkup> &&reply_markup) const {
|
||||||
return make_tl_object<telegram_api::inputBotInlineMessageMediaVenue>(
|
return make_tl_object<telegram_api::inputBotInlineMessageMediaVenue>(
|
||||||
flags, location_.get_input_geo_point(), title_, address_, provider_, id_, std::move(reply_markup));
|
flags, location_.get_input_geo_point(), title_, address_, provider_, id_, type_, std::move(reply_markup));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator==(const Venue &lhs, const Venue &rhs) {
|
bool operator==(const Venue &lhs, const Venue &rhs) {
|
||||||
return lhs.location_ == rhs.location_ && lhs.title_ == rhs.title_ && lhs.address_ == rhs.address_ &&
|
return lhs.location_ == rhs.location_ && lhs.title_ == rhs.title_ && lhs.address_ == rhs.address_ &&
|
||||||
lhs.provider_ == rhs.provider_ && lhs.id_ == rhs.id_;
|
lhs.provider_ == rhs.provider_ && lhs.id_ == rhs.id_ && lhs.type_ == rhs.type_;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator!=(const Venue &lhs, const Venue &rhs) {
|
bool operator!=(const Venue &lhs, const Venue &rhs) {
|
||||||
@ -169,7 +172,7 @@ bool operator!=(const Venue &lhs, const Venue &rhs) {
|
|||||||
StringBuilder &operator<<(StringBuilder &string_builder, const Venue &venue) {
|
StringBuilder &operator<<(StringBuilder &string_builder, const Venue &venue) {
|
||||||
return string_builder << "Venue[location = " << venue.location_ << ", title = " << venue.title_
|
return string_builder << "Venue[location = " << venue.location_ << ", title = " << venue.title_
|
||||||
<< ", address = " << venue.address_ << ", provider = " << venue.provider_
|
<< ", address = " << venue.address_ << ", provider = " << venue.provider_
|
||||||
<< ", id = " << venue.id_ << "]";
|
<< ", id = " << venue.id_ << ", type = " << venue.type_ << "]";
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace td
|
} // namespace td
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
#include "td/telegram/telegram_api.h"
|
#include "td/telegram/telegram_api.h"
|
||||||
|
|
||||||
#include "td/telegram/SecretInputMedia.h"
|
#include "td/telegram/SecretInputMedia.h"
|
||||||
|
#include "td/telegram/Version.h"
|
||||||
|
|
||||||
namespace td {
|
namespace td {
|
||||||
|
|
||||||
@ -89,6 +90,7 @@ class Venue {
|
|||||||
string address_;
|
string address_;
|
||||||
string provider_;
|
string provider_;
|
||||||
string id_;
|
string id_;
|
||||||
|
string type_;
|
||||||
|
|
||||||
friend bool operator==(const Venue &lhs, const Venue &rhs);
|
friend bool operator==(const Venue &lhs, const Venue &rhs);
|
||||||
friend bool operator!=(const Venue &lhs, const Venue &rhs);
|
friend bool operator!=(const Venue &lhs, const Venue &rhs);
|
||||||
@ -99,9 +101,9 @@ class Venue {
|
|||||||
Venue() = default;
|
Venue() = default;
|
||||||
|
|
||||||
Venue(const tl_object_ptr<telegram_api::GeoPoint> &geo_point_ptr, string title, string address, string provider,
|
Venue(const tl_object_ptr<telegram_api::GeoPoint> &geo_point_ptr, string title, string address, string provider,
|
||||||
string id);
|
string id, string type);
|
||||||
|
|
||||||
Venue(Location location, string title, string address, string provider, string id);
|
Venue(Location location, string title, string address, string provider, string id, string type);
|
||||||
|
|
||||||
explicit Venue(const tl_object_ptr<td_api::venue> &venue);
|
explicit Venue(const tl_object_ptr<td_api::venue> &venue);
|
||||||
|
|
||||||
@ -125,6 +127,7 @@ class Venue {
|
|||||||
store(address_, storer);
|
store(address_, storer);
|
||||||
store(provider_, storer);
|
store(provider_, storer);
|
||||||
store(id_, storer);
|
store(id_, storer);
|
||||||
|
store(type_, storer);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class ParserT>
|
template <class ParserT>
|
||||||
@ -135,6 +138,9 @@ class Venue {
|
|||||||
parse(address_, parser);
|
parse(address_, parser);
|
||||||
parse(provider_, parser);
|
parse(provider_, parser);
|
||||||
parse(id_, parser);
|
parse(id_, parser);
|
||||||
|
if (parser.version() >= static_cast<int32>(Version::AddVenueType)) {
|
||||||
|
parse(type_, parser);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -49,6 +49,7 @@
|
|||||||
#include "td/telegram/Td.h"
|
#include "td/telegram/Td.h"
|
||||||
#include "td/telegram/TopDialogManager.h"
|
#include "td/telegram/TopDialogManager.h"
|
||||||
#include "td/telegram/UpdatesManager.h"
|
#include "td/telegram/UpdatesManager.h"
|
||||||
|
#include "td/telegram/Version.h"
|
||||||
#include "td/telegram/VideoNotesManager.h"
|
#include "td/telegram/VideoNotesManager.h"
|
||||||
#include "td/telegram/VideoNotesManager.hpp"
|
#include "td/telegram/VideoNotesManager.hpp"
|
||||||
#include "td/telegram/VideosManager.h"
|
#include "td/telegram/VideosManager.h"
|
||||||
@ -14684,6 +14685,9 @@ Result<Venue> MessagesManager::process_input_message_venue(
|
|||||||
if (!clean_input_string(venue->id_)) {
|
if (!clean_input_string(venue->id_)) {
|
||||||
return Status::Error(400, "Venue identifier must be encoded in UTF-8");
|
return Status::Error(400, "Venue identifier must be encoded in UTF-8");
|
||||||
}
|
}
|
||||||
|
if (!clean_input_string(venue->type_)) {
|
||||||
|
return Status::Error(400, "Venue type must be encoded in UTF-8");
|
||||||
|
}
|
||||||
|
|
||||||
Venue result(venue);
|
Venue result(venue);
|
||||||
if (result.empty()) {
|
if (result.empty()) {
|
||||||
@ -21209,10 +21213,10 @@ unique_ptr<MessageContent> MessagesManager::get_secret_message_content(
|
|||||||
message_venue->venue_id_.clear();
|
message_venue->venue_id_.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
auto m =
|
auto m = make_unique<MessageVenue>(Venue(Location(message_venue->lat_, message_venue->long_),
|
||||||
make_unique<MessageVenue>(Venue(Location(message_venue->lat_, message_venue->long_),
|
std::move(message_venue->title_), std::move(message_venue->address_),
|
||||||
std::move(message_venue->title_), std::move(message_venue->address_),
|
std::move(message_venue->provider_), std::move(message_venue->venue_id_),
|
||||||
std::move(message_venue->provider_), std::move(message_venue->venue_id_)));
|
string()));
|
||||||
if (m->venue.empty()) {
|
if (m->venue.empty()) {
|
||||||
is_media_empty = true;
|
is_media_empty = true;
|
||||||
break;
|
break;
|
||||||
@ -21373,9 +21377,10 @@ unique_ptr<MessageContent> MessagesManager::get_message_content(FormattedText me
|
|||||||
case telegram_api::messageMediaVenue::ID: {
|
case telegram_api::messageMediaVenue::ID: {
|
||||||
auto message_venue = move_tl_object_as<telegram_api::messageMediaVenue>(media);
|
auto message_venue = move_tl_object_as<telegram_api::messageMediaVenue>(media);
|
||||||
|
|
||||||
auto m = make_unique<MessageVenue>(Venue(message_venue->geo_, std::move(message_venue->title_),
|
auto m =
|
||||||
std::move(message_venue->address_), std::move(message_venue->provider_),
|
make_unique<MessageVenue>(Venue(message_venue->geo_, std::move(message_venue->title_),
|
||||||
std::move(message_venue->venue_id_)));
|
std::move(message_venue->address_), std::move(message_venue->provider_),
|
||||||
|
std::move(message_venue->venue_id_), std::move(message_venue->venue_type_)));
|
||||||
if (m->venue.empty()) {
|
if (m->venue.empty()) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -237,22 +237,26 @@ void PasswordManager::send_email_address_verification_code(
|
|||||||
last_verified_email_address_ = email;
|
last_verified_email_address_ = email;
|
||||||
auto query =
|
auto query =
|
||||||
G()->net_query_creator().create(create_storer(telegram_api::account_sendVerifyEmailCode(std::move(email))));
|
G()->net_query_creator().create(create_storer(telegram_api::account_sendVerifyEmailCode(std::move(email))));
|
||||||
send_with_promise(
|
send_with_promise(std::move(query), PromiseCreator::lambda([actor_id = actor_id(this), promise = std::move(promise)](
|
||||||
std::move(query), PromiseCreator::lambda([actor_id = actor_id(this),
|
Result<NetQueryPtr> r_query) mutable {
|
||||||
promise = std::move(promise)](Result<NetQueryPtr> r_query) mutable {
|
auto r_result = fetch_result<telegram_api::account_sendVerifyEmailCode>(std::move(r_query));
|
||||||
auto r_result = fetch_result<telegram_api::account_sendVerifyEmailCode>(std::move(r_query));
|
if (r_result.is_error()) {
|
||||||
if (r_result.is_error()) {
|
return promise.set_error(r_result.move_as_error());
|
||||||
return promise.set_error(r_result.move_as_error());
|
}
|
||||||
}
|
auto result = r_result.move_as_ok();
|
||||||
auto result = r_result.move_as_ok();
|
if (result->length_ < 0 || result->length_ >= 100) {
|
||||||
return promise.set_value(make_tl_object<td_api::emailAddressAuthenticationCodeInfo>(result->email_pattern_));
|
LOG(ERROR) << "Receive wrong code length " << result->length_;
|
||||||
}));
|
result->length_ = 0;
|
||||||
|
}
|
||||||
|
return promise.set_value(make_tl_object<td_api::emailAddressAuthenticationCodeInfo>(
|
||||||
|
result->email_pattern_, result->length_));
|
||||||
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
void PasswordManager::resend_email_address_verification_code(
|
void PasswordManager::resend_email_address_verification_code(
|
||||||
Promise<td_api::object_ptr<td_api::emailAddressAuthenticationCodeInfo>> promise) {
|
Promise<td_api::object_ptr<td_api::emailAddressAuthenticationCodeInfo>> promise) {
|
||||||
if (last_verified_email_address_.empty()) {
|
if (last_verified_email_address_.empty()) {
|
||||||
return promise.set_error(Status::Error(400, "No verification phone was sent"));
|
return promise.set_error(Status::Error(400, "No email address verification was sent"));
|
||||||
}
|
}
|
||||||
send_email_address_verification_code(last_verified_email_address_, std::move(promise));
|
send_email_address_verification_code(last_verified_email_address_, std::move(promise));
|
||||||
}
|
}
|
||||||
@ -260,7 +264,7 @@ void PasswordManager::resend_email_address_verification_code(
|
|||||||
void PasswordManager::check_email_address_verification_code(string code,
|
void PasswordManager::check_email_address_verification_code(string code,
|
||||||
Promise<td_api::object_ptr<td_api::ok>> promise) {
|
Promise<td_api::object_ptr<td_api::ok>> promise) {
|
||||||
if (last_verified_email_address_.empty()) {
|
if (last_verified_email_address_.empty()) {
|
||||||
return promise.set_error(Status::Error(400, "No verification phone was sent"));
|
return promise.set_error(Status::Error(400, "No email address verification was sent"));
|
||||||
}
|
}
|
||||||
auto query = G()->net_query_creator().create(
|
auto query = G()->net_query_creator().create(
|
||||||
create_storer(telegram_api::account_verifyEmail(last_verified_email_address_, std::move(code))));
|
create_storer(telegram_api::account_verifyEmail(last_verified_email_address_, std::move(code))));
|
||||||
@ -275,7 +279,7 @@ void PasswordManager::check_email_address_verification_code(string code,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void PasswordManager::request_password_recovery(
|
void PasswordManager::request_password_recovery(
|
||||||
Promise<tl_object_ptr<td_api::emailAddressAuthenticationCodeInfo>> promise) {
|
Promise<td_api::object_ptr<td_api::emailAddressAuthenticationCodeInfo>> promise) {
|
||||||
send_with_promise(
|
send_with_promise(
|
||||||
G()->net_query_creator().create(create_storer(telegram_api::auth_requestPasswordRecovery())),
|
G()->net_query_creator().create(create_storer(telegram_api::auth_requestPasswordRecovery())),
|
||||||
PromiseCreator::lambda([promise = std::move(promise)](Result<NetQueryPtr> r_query) mutable {
|
PromiseCreator::lambda([promise = std::move(promise)](Result<NetQueryPtr> r_query) mutable {
|
||||||
@ -284,7 +288,7 @@ void PasswordManager::request_password_recovery(
|
|||||||
return promise.set_error(r_result.move_as_error());
|
return promise.set_error(r_result.move_as_error());
|
||||||
}
|
}
|
||||||
auto result = r_result.move_as_ok();
|
auto result = r_result.move_as_ok();
|
||||||
return promise.set_value(make_tl_object<td_api::emailAddressAuthenticationCodeInfo>(result->email_pattern_));
|
return promise.set_value(make_tl_object<td_api::emailAddressAuthenticationCodeInfo>(result->email_pattern_, 0));
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -63,7 +63,7 @@ class PasswordManager : public NetQueryCallback {
|
|||||||
Promise<td_api::object_ptr<td_api::emailAddressAuthenticationCodeInfo>> promise);
|
Promise<td_api::object_ptr<td_api::emailAddressAuthenticationCodeInfo>> promise);
|
||||||
void check_email_address_verification_code(string code, Promise<td_api::object_ptr<td_api::ok>> promise);
|
void check_email_address_verification_code(string code, Promise<td_api::object_ptr<td_api::ok>> promise);
|
||||||
|
|
||||||
void request_password_recovery(Promise<tl_object_ptr<td_api::emailAddressAuthenticationCodeInfo>> promise);
|
void request_password_recovery(Promise<td_api::object_ptr<td_api::emailAddressAuthenticationCodeInfo>> promise);
|
||||||
void recover_password(string code, Promise<State> promise);
|
void recover_password(string code, Promise<State> promise);
|
||||||
|
|
||||||
void get_secure_secret(string password, optional<int64> hash, Promise<secure_storage::Secret> promise);
|
void get_secure_secret(string password, optional<int64> hash, Promise<secure_storage::Secret> promise);
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
#include "td/telegram/logevent/LogEvent.h"
|
#include "td/telegram/logevent/LogEvent.h"
|
||||||
#include "td/telegram/MessagesDb.h"
|
#include "td/telegram/MessagesDb.h"
|
||||||
#include "td/telegram/TdParameters.h"
|
#include "td/telegram/TdParameters.h"
|
||||||
|
#include "td/telegram/Version.h"
|
||||||
|
|
||||||
#include "td/actor/actor.h"
|
#include "td/actor/actor.h"
|
||||||
#include "td/actor/MultiPromise.h"
|
#include "td/actor/MultiPromise.h"
|
||||||
|
@ -23,6 +23,7 @@ enum class Version : int32 {
|
|||||||
FixPageBlockAudioEmptyFile,
|
FixPageBlockAudioEmptyFile,
|
||||||
AddMessageInvoiceProviderData,
|
AddMessageInvoiceProviderData,
|
||||||
AddCaptionEntities,
|
AddCaptionEntities,
|
||||||
|
AddVenueType,
|
||||||
Next
|
Next
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -32,6 +32,7 @@
|
|||||||
#include "td/telegram/StickersManager.h"
|
#include "td/telegram/StickersManager.h"
|
||||||
#include "td/telegram/StickersManager.hpp"
|
#include "td/telegram/StickersManager.hpp"
|
||||||
#include "td/telegram/Td.h"
|
#include "td/telegram/Td.h"
|
||||||
|
#include "td/telegram/Version.h"
|
||||||
#include "td/telegram/VideoNotesManager.h"
|
#include "td/telegram/VideoNotesManager.h"
|
||||||
#include "td/telegram/VideoNotesManager.hpp"
|
#include "td/telegram/VideoNotesManager.hpp"
|
||||||
#include "td/telegram/VideosManager.h"
|
#include "td/telegram/VideosManager.h"
|
||||||
|
@ -2577,15 +2577,17 @@ class CliClient final : public Actor {
|
|||||||
string address;
|
string address;
|
||||||
string provider;
|
string provider;
|
||||||
string venue_id;
|
string venue_id;
|
||||||
|
string venue_type;
|
||||||
std::tie(chat_id, args) = split(args);
|
std::tie(chat_id, args) = split(args);
|
||||||
std::tie(latitude, args) = split(args);
|
std::tie(latitude, args) = split(args);
|
||||||
std::tie(longitude, args) = split(args);
|
std::tie(longitude, args) = split(args);
|
||||||
std::tie(title, args) = split(args);
|
std::tie(title, args) = split(args);
|
||||||
std::tie(address, args) = split(args);
|
std::tie(address, args) = split(args);
|
||||||
std::tie(provider, venue_id) = split(args);
|
std::tie(provider, args) = split(args);
|
||||||
|
std::tie(venue_id, venue_type) = split(args);
|
||||||
|
|
||||||
send_message(chat_id, make_tl_object<td_api::inputMessageVenue>(make_tl_object<td_api::venue>(
|
send_message(chat_id, make_tl_object<td_api::inputMessageVenue>(make_tl_object<td_api::venue>(
|
||||||
as_location(latitude, longitude), title, address, provider, venue_id)));
|
as_location(latitude, longitude), title, address, provider, venue_id, venue_type)));
|
||||||
} else if (op == "test") {
|
} else if (op == "test") {
|
||||||
send_request(make_tl_object<td_api::testNetwork>());
|
send_request(make_tl_object<td_api::testNetwork>());
|
||||||
} else if (op == "alarm") {
|
} else if (op == "alarm") {
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
#include "td/telegram/Global.h"
|
#include "td/telegram/Global.h"
|
||||||
#include "td/telegram/logevent/LogEvent.h"
|
#include "td/telegram/logevent/LogEvent.h"
|
||||||
#include "td/telegram/StateManager.h"
|
#include "td/telegram/StateManager.h"
|
||||||
|
#include "td/telegram/Version.h"
|
||||||
|
|
||||||
#include "td/utils/logging.h"
|
#include "td/utils/logging.h"
|
||||||
#include "td/utils/misc.h"
|
#include "td/utils/misc.h"
|
||||||
|
Reference in New Issue
Block a user