Check that input content is non-empty inside corresponding functions.
This commit is contained in:
parent
2684df5f01
commit
936c27577e
@ -2259,6 +2259,9 @@ static Result<InputMessageContent> create_input_message_content(
|
|||||||
Result<InputMessageContent> get_input_message_content(
|
Result<InputMessageContent> get_input_message_content(
|
||||||
DialogId dialog_id, tl_object_ptr<td_api::InputMessageContent> &&input_message_content, Td *td, bool is_premium) {
|
DialogId dialog_id, tl_object_ptr<td_api::InputMessageContent> &&input_message_content, Td *td, bool is_premium) {
|
||||||
LOG(INFO) << "Get input message content from " << to_string(input_message_content);
|
LOG(INFO) << "Get input message content from " << to_string(input_message_content);
|
||||||
|
if (input_message_content == nullptr) {
|
||||||
|
return Status::Error(400, "Input message content must be non-empty");
|
||||||
|
}
|
||||||
|
|
||||||
td_api::object_ptr<td_api::InputFile> input_file;
|
td_api::object_ptr<td_api::InputFile> input_file;
|
||||||
auto file_type = FileType::None;
|
auto file_type = FileType::None;
|
||||||
|
@ -24958,11 +24958,7 @@ Result<td_api::object_ptr<td_api::message>> MessagesManager::send_message(
|
|||||||
|
|
||||||
Result<InputMessageContent> MessagesManager::process_input_message_content(
|
Result<InputMessageContent> MessagesManager::process_input_message_content(
|
||||||
DialogId dialog_id, tl_object_ptr<td_api::InputMessageContent> &&input_message_content) {
|
DialogId dialog_id, tl_object_ptr<td_api::InputMessageContent> &&input_message_content) {
|
||||||
if (input_message_content == nullptr) {
|
if (input_message_content != nullptr && input_message_content->get_id() == td_api::inputMessageForwarded::ID) {
|
||||||
return Status::Error(400, "Can't send message without content");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (input_message_content->get_id() == td_api::inputMessageForwarded::ID) {
|
|
||||||
// for sendMessageAlbum/editMessageMedia/addLocalMessage
|
// for sendMessageAlbum/editMessageMedia/addLocalMessage
|
||||||
auto input_message = td_api::move_object_as<td_api::inputMessageForwarded>(input_message_content);
|
auto input_message = td_api::move_object_as<td_api::inputMessageForwarded>(input_message_content);
|
||||||
TRY_RESULT(copy_options, process_message_copy_options(dialog_id, std::move(input_message->copy_options_)));
|
TRY_RESULT(copy_options, process_message_copy_options(dialog_id, std::move(input_message->copy_options_)));
|
||||||
|
@ -136,6 +136,9 @@ unique_ptr<StoryContent> get_story_content(Td *td, tl_object_ptr<telegram_api::M
|
|||||||
Result<unique_ptr<StoryContent>> get_input_story_content(
|
Result<unique_ptr<StoryContent>> get_input_story_content(
|
||||||
Td *td, td_api::object_ptr<td_api::InputStoryContent> &&input_story_content, DialogId owner_dialog_id) {
|
Td *td, td_api::object_ptr<td_api::InputStoryContent> &&input_story_content, DialogId owner_dialog_id) {
|
||||||
LOG(INFO) << "Get input story content from " << to_string(input_story_content);
|
LOG(INFO) << "Get input story content from " << to_string(input_story_content);
|
||||||
|
if (input_story_content == nullptr) {
|
||||||
|
return Status::Error(400, "Input story content must be non-empty");
|
||||||
|
}
|
||||||
|
|
||||||
switch (input_story_content->get_id()) {
|
switch (input_story_content->get_id()) {
|
||||||
case td_api::inputStoryContentPhoto::ID: {
|
case td_api::inputStoryContentPhoto::ID: {
|
||||||
|
@ -565,9 +565,6 @@ void StoryManager::send_story(td_api::object_ptr<td_api::InputStoryContent> &&in
|
|||||||
td_api::object_ptr<td_api::formattedText> &&input_caption,
|
td_api::object_ptr<td_api::formattedText> &&input_caption,
|
||||||
td_api::object_ptr<td_api::userPrivacySettingRules> &&rules, bool is_pinned,
|
td_api::object_ptr<td_api::userPrivacySettingRules> &&rules, bool is_pinned,
|
||||||
Promise<td_api::object_ptr<td_api::story>> &&promise) {
|
Promise<td_api::object_ptr<td_api::story>> &&promise) {
|
||||||
if (input_story_content == nullptr) {
|
|
||||||
return promise.set_error(Status::Error(400, "Can't send story without content"));
|
|
||||||
}
|
|
||||||
bool is_bot = td_->auth_manager_->is_bot();
|
bool is_bot = td_->auth_manager_->is_bot();
|
||||||
DialogId dialog_id(td_->contacts_manager_->get_my_id());
|
DialogId dialog_id(td_->contacts_manager_->get_my_id());
|
||||||
TRY_RESULT_PROMISE(promise, content, get_input_story_content(td_, std::move(input_story_content), dialog_id));
|
TRY_RESULT_PROMISE(promise, content, get_input_story_content(td_, std::move(input_story_content), dialog_id));
|
||||||
|
Loading…
Reference in New Issue
Block a user