Add link_preview_options getter to Message

This commit is contained in:
Andrey Brusnik 2024-07-19 02:06:18 +04:00
parent 3d74587c93
commit 1abf1fa519
No known key found for this signature in database
GPG key ID: D33232F28CFF442C

View file

@ -681,16 +681,16 @@ mod getters {
use std::ops::Deref;
use crate::types::{
self, message::MessageKind::*, Chat, ChatId, ChatMigration, MaybeInaccessibleMessage,
MediaAnimation, MediaAudio, MediaContact, MediaDocument, MediaGame, MediaKind,
MediaLocation, MediaPhoto, MediaPoll, MediaSticker, MediaStory, MediaText, MediaVenue,
MediaVideo, MediaVideoNote, MediaVoice, Message, MessageChannelChatCreated,
MessageChatShared, MessageCommon, MessageConnectedWebsite, MessageDeleteChatPhoto,
MessageDice, MessageEntity, MessageGroupChatCreated, MessageId, MessageInvoice,
MessageLeftChatMember, MessageNewChatMembers, MessageNewChatPhoto, MessageNewChatTitle,
MessageOrigin, MessagePassportData, MessagePinned, MessageProximityAlertTriggered,
MessageSuccessfulPayment, MessageSupergroupChatCreated, MessageUsersShared,
MessageVideoChatParticipantsInvited, PhotoSize, TextQuote, User,
self, message::MessageKind::*, Chat, ChatId, ChatMigration, LinkPreviewOptions,
MaybeInaccessibleMessage, MediaAnimation, MediaAudio, MediaContact, MediaDocument,
MediaGame, MediaKind, MediaLocation, MediaPhoto, MediaPoll, MediaSticker, MediaStory,
MediaText, MediaVenue, MediaVideo, MediaVideoNote, MediaVoice, Message,
MessageChannelChatCreated, MessageChatShared, MessageCommon, MessageConnectedWebsite,
MessageDeleteChatPhoto, MessageDice, MessageEntity, MessageGroupChatCreated, MessageId,
MessageInvoice, MessageLeftChatMember, MessageNewChatMembers, MessageNewChatPhoto,
MessageNewChatTitle, MessageOrigin, MessagePassportData, MessagePinned,
MessageProximityAlertTriggered, MessageSuccessfulPayment, MessageSupergroupChatCreated,
MessageUsersShared, MessageVideoChatParticipantsInvited, PhotoSize, TextQuote, User,
};
use super::{
@ -870,6 +870,17 @@ mod getters {
}
}
#[must_use]
pub fn link_preview_options(&self) -> Option<&LinkPreviewOptions> {
match &self.kind {
Common(MessageCommon {
media_kind: MediaKind::Text(MediaText { link_preview_options, .. }),
..
}) => link_preview_options.as_ref(),
_ => None,
}
}
/// Returns message entities that represent text formatting.
///
/// **Note:** you probably want to use [`parse_caption_entities`]