diff --git a/src/types/inline_query_result_cached_sticker.rs b/src/types/inline_query_result_cached_sticker.rs index 15876438..0c4e9b88 100644 --- a/src/types/inline_query_result_cached_sticker.rs +++ b/src/types/inline_query_result_cached_sticker.rs @@ -27,3 +27,44 @@ pub struct InlineQueryResultCachedSticker { /// Content of the message to be sent instead of the sticker. pub input_message_content: Option, } + +impl InlineQueryResultCachedSticker { + pub fn new(id: S1, sticker_file_id: S2) -> Self + where + S1: Into, + S2: Into, + { + Self { + id: id.into(), + sticker_file_id: sticker_file_id.into(), + reply_markup: None, + input_message_content: None, + } + } + + pub fn id(mut self, val: S) -> Self + where + S: Into, + { + self.id = val.into(); + self + } + + pub fn sticker_file_id(mut self, val: S) -> Self + where + S: Into, + { + self.sticker_file_id = val.into(); + self + } + + pub fn reply_markup(mut self, val: InlineKeyboardMarkup) -> Self { + self.reply_markup = Some(val); + self + } + + pub fn input_message_content(mut self, val: InputMessageContent) -> Self { + self.input_message_content = Some(val); + self + } +}