mirror of
https://github.com/teloxide/teloxide.git
synced 2024-12-22 14:35:36 +01:00
Add BusinessIntro
class and corres. field to ChatPrivate
This commit is contained in:
parent
1a5eca0a75
commit
fa17b48793
5 changed files with 35 additions and 4 deletions
|
@ -9,6 +9,7 @@ pub use bot_command_scope::*;
|
||||||
pub use bot_description::*;
|
pub use bot_description::*;
|
||||||
pub use bot_name::*;
|
pub use bot_name::*;
|
||||||
pub use bot_short_description::*;
|
pub use bot_short_description::*;
|
||||||
|
pub use business_intro::*;
|
||||||
pub use callback_game::*;
|
pub use callback_game::*;
|
||||||
pub use callback_query::*;
|
pub use callback_query::*;
|
||||||
pub use chat::*;
|
pub use chat::*;
|
||||||
|
@ -164,6 +165,7 @@ mod bot_command_scope;
|
||||||
mod bot_description;
|
mod bot_description;
|
||||||
mod bot_name;
|
mod bot_name;
|
||||||
mod bot_short_description;
|
mod bot_short_description;
|
||||||
|
mod business_intro;
|
||||||
mod callback_game;
|
mod callback_game;
|
||||||
mod callback_query;
|
mod callback_query;
|
||||||
mod chat;
|
mod chat;
|
||||||
|
|
15
crates/teloxide-core/src/types/business_intro.rs
Normal file
15
crates/teloxide-core/src/types/business_intro.rs
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
|
use crate::types::Sticker;
|
||||||
|
|
||||||
|
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||||
|
pub struct BusinessIntro {
|
||||||
|
/// Title text of the business intro
|
||||||
|
pub title: Option<String>,
|
||||||
|
|
||||||
|
/// Message text of the business intro
|
||||||
|
pub message: Option<String>,
|
||||||
|
|
||||||
|
/// Sticker of the business intro
|
||||||
|
pub sticker: Option<Sticker>,
|
||||||
|
}
|
|
@ -1,8 +1,8 @@
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
use crate::types::{
|
use crate::types::{
|
||||||
ChatFullInfo, ChatId, ChatLocation, ChatPermissions, ChatPhoto, Message, ReactionType, Seconds,
|
BusinessIntro, ChatFullInfo, ChatId, ChatLocation, ChatPermissions, ChatPhoto, Message,
|
||||||
True, User,
|
ReactionType, Seconds, True, User,
|
||||||
};
|
};
|
||||||
|
|
||||||
use super::Birthdate;
|
use super::Birthdate;
|
||||||
|
@ -147,6 +147,12 @@ pub struct ChatPrivate {
|
||||||
///
|
///
|
||||||
/// [`GetChat`]: crate::payloads::GetChat
|
/// [`GetChat`]: crate::payloads::GetChat
|
||||||
pub birthdate: Option<Birthdate>,
|
pub birthdate: Option<Birthdate>,
|
||||||
|
|
||||||
|
/// For private chats with business accounts, the intro of the business.
|
||||||
|
/// Returned only in [`GetChat`].
|
||||||
|
///
|
||||||
|
/// [`GetChat`]: crate::payloads::GetChat
|
||||||
|
pub business_intro: Option<BusinessIntro>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[serde_with::skip_serializing_none]
|
#[serde_with::skip_serializing_none]
|
||||||
|
@ -577,8 +583,7 @@ impl Chat {
|
||||||
}
|
}
|
||||||
|
|
||||||
mod serde_helper {
|
mod serde_helper {
|
||||||
use super::Birthdate;
|
use crate::types::{Birthdate, BusinessIntro, True};
|
||||||
use crate::types::True;
|
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize)]
|
#[derive(Serialize, Deserialize)]
|
||||||
|
@ -601,6 +606,7 @@ mod serde_helper {
|
||||||
has_restricted_voice_and_video_messages: Option<True>,
|
has_restricted_voice_and_video_messages: Option<True>,
|
||||||
personal_chat: Option<Box<super::Chat>>,
|
personal_chat: Option<Box<super::Chat>>,
|
||||||
birthdate: Option<Birthdate>,
|
birthdate: Option<Birthdate>,
|
||||||
|
business_intro: Option<BusinessIntro>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<ChatPrivate> for super::ChatPrivate {
|
impl From<ChatPrivate> for super::ChatPrivate {
|
||||||
|
@ -615,6 +621,7 @@ mod serde_helper {
|
||||||
has_restricted_voice_and_video_messages,
|
has_restricted_voice_and_video_messages,
|
||||||
personal_chat,
|
personal_chat,
|
||||||
birthdate,
|
birthdate,
|
||||||
|
business_intro,
|
||||||
}: ChatPrivate,
|
}: ChatPrivate,
|
||||||
) -> Self {
|
) -> Self {
|
||||||
Self {
|
Self {
|
||||||
|
@ -626,6 +633,7 @@ mod serde_helper {
|
||||||
has_restricted_voice_and_video_messages,
|
has_restricted_voice_and_video_messages,
|
||||||
personal_chat,
|
personal_chat,
|
||||||
birthdate,
|
birthdate,
|
||||||
|
business_intro,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -641,6 +649,7 @@ mod serde_helper {
|
||||||
has_restricted_voice_and_video_messages,
|
has_restricted_voice_and_video_messages,
|
||||||
personal_chat,
|
personal_chat,
|
||||||
birthdate,
|
birthdate,
|
||||||
|
business_intro,
|
||||||
}: super::ChatPrivate,
|
}: super::ChatPrivate,
|
||||||
) -> Self {
|
) -> Self {
|
||||||
Self {
|
Self {
|
||||||
|
@ -653,6 +662,7 @@ mod serde_helper {
|
||||||
has_restricted_voice_and_video_messages,
|
has_restricted_voice_and_video_messages,
|
||||||
personal_chat,
|
personal_chat,
|
||||||
birthdate,
|
birthdate,
|
||||||
|
business_intro,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -717,6 +727,7 @@ mod tests {
|
||||||
has_restricted_voice_and_video_messages: None,
|
has_restricted_voice_and_video_messages: None,
|
||||||
personal_chat: None,
|
personal_chat: None,
|
||||||
birthdate: None,
|
birthdate: None,
|
||||||
|
business_intro: None,
|
||||||
}),
|
}),
|
||||||
photo: None,
|
photo: None,
|
||||||
available_reactions: Some(vec![ReactionType::Emoji { emoji: "🌭".to_owned() }]),
|
available_reactions: Some(vec![ReactionType::Emoji { emoji: "🌭".to_owned() }]),
|
||||||
|
@ -757,6 +768,7 @@ mod tests {
|
||||||
has_restricted_voice_and_video_messages: None,
|
has_restricted_voice_and_video_messages: None,
|
||||||
personal_chat: None,
|
personal_chat: None,
|
||||||
birthdate: None,
|
birthdate: None,
|
||||||
|
business_intro: None,
|
||||||
}),
|
}),
|
||||||
photo: None,
|
photo: None,
|
||||||
available_reactions: None,
|
available_reactions: None,
|
||||||
|
|
|
@ -1904,6 +1904,7 @@ mod tests {
|
||||||
has_restricted_voice_and_video_messages: None,
|
has_restricted_voice_and_video_messages: None,
|
||||||
personal_chat: None,
|
personal_chat: None,
|
||||||
birthdate: None,
|
birthdate: None,
|
||||||
|
business_intro: None,
|
||||||
}),
|
}),
|
||||||
photo: None,
|
photo: None,
|
||||||
available_reactions: None,
|
available_reactions: None,
|
||||||
|
|
|
@ -537,6 +537,7 @@ mod test {
|
||||||
has_restricted_voice_and_video_messages: None,
|
has_restricted_voice_and_video_messages: None,
|
||||||
personal_chat: None,
|
personal_chat: None,
|
||||||
birthdate: None,
|
birthdate: None,
|
||||||
|
business_intro: None,
|
||||||
}),
|
}),
|
||||||
photo: None,
|
photo: None,
|
||||||
available_reactions: None,
|
available_reactions: None,
|
||||||
|
|
Loading…
Reference in a new issue