From 613b4f10cef09a757d5a90edda8fa53af3f7851f Mon Sep 17 00:00:00 2001
From: doryan <sagiev2015@yandex.ru>
Date: Sat, 31 Aug 2024 23:30:42 +0400
Subject: [PATCH] feat(dice): skip only dice message

---
 src/middlewares/admin_check_middleware.rs | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/src/middlewares/admin_check_middleware.rs b/src/middlewares/admin_check_middleware.rs
index eac1e25..fd34ada 100644
--- a/src/middlewares/admin_check_middleware.rs
+++ b/src/middlewares/admin_check_middleware.rs
@@ -1,8 +1,8 @@
 use async_trait::async_trait;
 use telers::{
     errors::{EventErrorKind, HandlerError},
-    event::telegram::{HandlerRequest, HandlerResponse},
-    middlewares::{InnerMiddleware, Next},
+    event::{telegram::{HandlerRequest, HandlerResponse}, EventReturn},
+    middlewares::{InnerMiddleware, Next}, types::Message,
 };
 
 use anyhow::Error as Reject;
@@ -24,6 +24,11 @@ impl InnerMiddleware for AdminCheck {
     ) -> Result<HandlerResponse, EventErrorKind> {
         let (bot, message) = (request.clone().bot, request.clone().update);
 
+        let is_replying_dice: Option<Message> = match message.kind().message().unwrap() {
+            Message::Dice(dice) => dice.reply_to_message.clone(),
+            _ => None
+        };
+
         let admins_list = get_all_admins(&bot, message.chat().unwrap().id())
             .await
             .unwrap();
@@ -34,12 +39,13 @@ impl InnerMiddleware for AdminCheck {
             let response = next(request).await?;
             return Ok(response);
         } else {
-            MessageSender::builder(chat_id)
+            if is_replying_dice.is_some() {
+                MessageSender::builder(chat_id)
                 .text("Недостаточно прав для использования данной команды.")
-                .build()
-                .send(&bot)
+                .build().send(&bot)
                 .await
                 .unwrap();
+            }
 
             return Err(EventErrorKind::Handler(HandlerError::new(Reject::msg(
                 "User isn't admin.".to_string(),