From 0ec0c9450110c35a5e6548279c1ba8504f982b27 Mon Sep 17 00:00:00 2001 From: doryan Date: Sat, 8 Jun 2024 03:09:17 +0400 Subject: [PATCH] Function for checks for the existence of target user have been implemented for enum TargetUser --- src/types/enums/target_user.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/types/enums/target_user.rs b/src/types/enums/target_user.rs index 4a710f3..eac3e56 100644 --- a/src/types/enums/target_user.rs +++ b/src/types/enums/target_user.rs @@ -15,6 +15,21 @@ pub enum TargetUser { } impl TargetUser { + pub fn exist(&self) -> bool { + match self { + Self::Id(_id) => true, + Self::Reply(msg) => { + if let Some(replied_msg) = msg.reply_to_message() { + return replied_msg.from().map(|user| user.id).is_some(); + } else { + false + } + } + Self::CurrentMessage(msg) => msg.from().map(|user| user.id).is_some(), + Self::None => false, + } + } + pub fn get_id(&self) -> Option { match self { Self::Id(id) => Some(*id),