From 6f95741092728cc7876829d4ca1ffae8cf6f5d9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristoffer=20=C3=96dmark?= Date: Sat, 6 Feb 2021 19:29:23 +0100 Subject: [PATCH 1/2] add Dice messagekind, that allows random values sent to be interpreted by bots --- lib/src/util/messages.rs | 2 ++ raw/src/types/message.rs | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) 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..6619fc508c 100644 --- a/raw/src/types/message.rs +++ b/raw/src/types/message.rs @@ -207,6 +207,10 @@ 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 +334,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 +474,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 +571,8 @@ pub struct RawMessage { pub video: Option