Skip to main content

ronami_core/payloads/
post_story.rs

1//! Generated by `codegen_payloads`, do not edit by hand.
2
3use serde::Serialize;
4
5use crate::types::BusinessConnectionId;
6use crate::types::InputStoryContent;
7use crate::types::MessageEntity;
8use crate::types::ParseMode;
9use crate::types::Seconds;
10use crate::types::Story;
11use crate::types::StoryArea;
12
13impl_payload! {
14    /// Posts a story on behalf of a managed business account. Requires the _can_manage_stories_ business bot right. Returns [`Story`] on success.
15    ///
16    /// [`Story`]: crate::types::Story
17    #[derive(Debug, Clone, Serialize)]
18    pub PostStory (PostStorySetters) => Story {
19        required {
20            /// Unique identifier of the business connection
21            pub business_connection_id: BusinessConnectionId,
22            /// Content of the story
23            pub content: InputStoryContent,
24            /// Period after which the story is moved to the archive, in seconds; must be one of `6 * 3600`, `12 * 3600`, `86400`, or `2 * 86400`
25            pub active_period: Seconds,
26        }
27        optional {
28            /// Caption of the story, 0-2048 characters after entities parsing
29            pub caption: String [into],
30            /// Mode for parsing entities in the story caption. See [formatting options] for more details
31            ///
32            /// [formatting options]: https://core.telegram.org/bots/api#formatting-options
33            pub parse_mode: ParseMode,
34            /// List of special entities that appear in the caption, which can be specified instead of _parse_mode_
35            pub caption_entities: Vec<MessageEntity> [collect],
36            /// List of clickable areas to be shown on the story
37            pub areas: Vec<StoryArea> [collect],
38            /// Pass _true_ to keep the story accessible after it expires
39            pub post_to_chat_page: bool,
40            /// Pass _true_ if the content of the story must be protected from forwarding and screenshotting
41            pub protect_content: bool,
42        }
43    }
44}