diff --git a/lib/src/util/messages.rs b/lib/src/util/messages.rs index 14fa6d3c8e..8ebb031a97 100644 --- a/lib/src/util/messages.rs +++ b/lib/src/util/messages.rs @@ -33,6 +33,7 @@ impl MessageText for Message { impl MessageText for MessageKind { fn text<'a>(&'a self) -> Option { match self { + MessageKind::Dice { .. } => None, MessageKind::Text { data, .. } => Some(data.to_owned()), MessageKind::Audio { data } => data.title.to_owned(), MessageKind::Document { data, caption } => { @@ -97,6 +98,7 @@ impl MessageGetFiles for Message { impl MessageGetFiles for MessageKind { fn get_files<'a>(&'a self) -> Option> { match self { + MessageKind::Dice { .. } => None, MessageKind::Text { .. } => None, MessageKind::Audio { data } => Some(vec![data.get_file()]), MessageKind::Document { data, .. } => { diff --git a/raw/src/types/message.rs b/raw/src/types/message.rs index b43824e64f..526670f3fa 100644 --- a/raw/src/types/message.rs +++ b/raw/src/types/message.rs @@ -207,6 +207,8 @@ pub enum MessageKind { // contain further reply_to_message fields even if it is itself a reply. data: Box, }, + /// This object represents an animated emoji that displays a random value. + Dice { data: Dice }, #[doc(hidden)] Unknown { raw: RawMessage }, } @@ -330,6 +332,7 @@ impl Message { maybe_field!(contact, Contact); maybe_field!(location, Location); maybe_field!(poll, Poll); + maybe_field!(dice, Dice); maybe_field!(venue, Venue); maybe_field!(new_chat_members, NewChatMembers); maybe_field!(left_chat_member, LeftChatMember); @@ -469,6 +472,7 @@ impl ChannelPost { maybe_field!(contact, Contact); maybe_field!(location, Location); maybe_field!(poll, Poll); + maybe_field!(dice, Dice); maybe_field!(venue, Venue); maybe_field!(new_chat_members, NewChatMembers); maybe_field!(left_chat_member, LeftChatMember); @@ -565,6 +569,8 @@ pub struct RawMessage { pub video: Option