Skip to content

Commit 7557710

Browse files
committed
Add td_api::fixRichMessageWithAi.
1 parent 72fd1cb commit 7557710

6 files changed

Lines changed: 26 additions & 0 deletions

File tree

td/generate/scheme/td_api.tl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11952,6 +11952,10 @@ composeRichMessageWithAi message:inputRichMessage translate_to_language_code:str
1195211952
//@text The original text
1195311953
fixTextWithAi text:formattedText = FixedText;
1195411954

11955+
//@description Fixes rich message using an AI model. May return an error with a message "AICOMPOSE_FLOOD_PREMIUM" if Telegram Premium is required to send further requests
11956+
//@message The original message
11957+
fixRichMessageWithAi message:inputRichMessage = RichMessage;
11958+
1195511959
//@description Recognizes speech in a video note or a voice note message
1195611960
//@chat_id Identifier of the chat to which the message belongs
1195711961
//@message_id Identifier of the message. Use messageProperties.can_recognize_speech to check whether the message is suitable

td/telegram/Requests.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2906,6 +2906,12 @@ void Requests::on_request(uint64 id, td_api::fixTextWithAi &request) {
29062906
td_->translation_manager_->proofread_message_with_ai(std::move(request.text_), std::move(promise));
29072907
}
29082908

2909+
void Requests::on_request(uint64 id, td_api::fixRichMessageWithAi &request) {
2910+
CHECK_IS_USER();
2911+
CREATE_REQUEST_PROMISE();
2912+
td_->translation_manager_->proofread_rich_message_with_ai(std::move(request.message_), std::move(promise));
2913+
}
2914+
29092915
void Requests::on_request(uint64 id, const td_api::recognizeSpeech &request) {
29102916
CHECK_IS_USER();
29112917
CREATE_OK_REQUEST_PROMISE();

td/telegram/Requests.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,8 @@ class Requests {
352352

353353
void on_request(uint64 id, td_api::fixTextWithAi &request);
354354

355+
void on_request(uint64 id, td_api::fixRichMessageWithAi &request);
356+
355357
void on_request(uint64 id, const td_api::recognizeSpeech &request);
356358

357359
void on_request(uint64 id, const td_api::rateSpeechRecognition &request);

td/telegram/TranslationManager.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -695,6 +695,13 @@ void TranslationManager::compose_rich_message_with_ai(td_api::object_ptr<td_api:
695695
->send(true, input_rich_message, translate_to_language_code, std::move(input_tone), emojify, false);
696696
}
697697

698+
void TranslationManager::proofread_rich_message_with_ai(td_api::object_ptr<td_api::inputRichMessage> &&message,
699+
Promise<td_api::object_ptr<td_api::richMessage>> &&promise) {
700+
TRY_RESULT_PROMISE(promise, input_rich_message, get_input_rich_message(std::move(message)));
701+
td_->create_handler<ComposeRichMessageWithAiQuery>(std::move(promise))
702+
->send(true, input_rich_message, string(), nullptr, false, true);
703+
}
704+
698705
string TranslationManager::get_ai_compose_tones_key() {
699706
return "ai_compose_styles";
700707
}

td/telegram/TranslationManager.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,9 @@ class TranslationManager final : public Actor {
6565
void proofread_message_with_ai(td_api::object_ptr<td_api::formattedText> &&text,
6666
Promise<td_api::object_ptr<td_api::fixedText>> &&promise);
6767

68+
void proofread_rich_message_with_ai(td_api::object_ptr<td_api::inputRichMessage> &&message,
69+
Promise<td_api::object_ptr<td_api::richMessage>> &&promise);
70+
6871
void reload_ai_compose_tones(Promise<Unit> &&promise);
6972

7073
void on_get_ai_compose_tones(telegram_api::object_ptr<telegram_api::aicompose_Tones> &&tones_ptr);

td/telegram/cli.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5242,6 +5242,10 @@ class CliClient final : public Actor {
52425242
string text;
52435243
get_args(args, text);
52445244
send_request(td_api::make_object<td_api::fixTextWithAi>(as_formatted_text(text)));
5245+
} else if (op == "frmwa") {
5246+
string message;
5247+
get_args(args, message);
5248+
send_request(td_api::make_object<td_api::fixRichMessageWithAi>(as_input_rich_message(message)));
52455249
} else if (op == "rs") {
52465250
ChatId chat_id;
52475251
MessageId message_id;

0 commit comments

Comments
 (0)