//! Generated by `codegen_payloads`, do not edit by hand.
use serde::Serialize;
use crate::types::DraftId;
use crate::types::InputRichMessage;
use crate::types::Recipient;
use crate::types::ThreadId;
use crate::types::True;
impl_payload! {
/// Use this method to stream a partial rich message to a user while the message is being generated. Returns _True_ on success.
#[derive(Debug, PartialEq, Clone, Serialize)]
pub SendRichMessageDraft (SendRichMessageDraftSetters) => True {
required {
/// Unique identifier for the target private chat
pub chat_id: Recipient [into],
/// Unique identifier of the message draft; must be non-zero
pub draft_id: DraftId,
/// The partial message to be streamed
pub rich_message: InputRichMessage,
}
optional {
/// Unique identifier for the target message thread
pub message_thread_id: ThreadId,
/// Pass `true` to show the user a button to stop further drafts. The bot will receive an Update "stopped\_message\_generation" if the user presses the button.
pub can_stop: bool,
/// Pass `true` to keep the draft in the chat when the button is pressed. The draft will still disappear after a short time or if the bot sends a message. To fully preserve the partial draft, the bot should send it as a new message.
pub keep_on_stop: bool,
}
}
}