From 82a0eef0296001a07317a0bff33c512f3c36634e Mon Sep 17 00:00:00 2001 From: doryan04 Date: Mon, 12 Feb 2024 12:12:09 +0400 Subject: [PATCH] added DEMOCRACY ALERT and delay --- src/ban.rs | 8 +++++++- src/main.rs | 41 +++++++++++++++++++++++++++++------------ src/mute.rs | 7 ++++--- 3 files changed, 40 insertions(+), 16 deletions(-) diff --git a/src/ban.rs b/src/ban.rs index 4550488..3f0a7f6 100644 --- a/src/ban.rs +++ b/src/ban.rs @@ -32,7 +32,13 @@ pub mod ban{ Ok(_) => { bot.send_message( chat_id, - format!("Пользователь {} был заблокирован по причине {}", + format!("Пользователь {} был заблокирован по причине {}.\ + \n Совершился 🇺🇸🦅🦅📞📞📞🎺🇺🇸🦅🦅📞📞📞🎺 ⚠️⚠️⚠️DEMOCRATION \ + ALERT⚠️⚠️⚠️🇺🇸🦅🦅📞📞📞🎺🇺🇸🦅🦅📞📞📞🎺USA🇺🇸🦅🦅📞🇺🇸🦅🦅📞🇺🇸🦅🦅📞\ + 📞📞🎺🇺🇸🦅🦅📞📞📞🎺 ⚠️⚠️⚠️DEMOCRATION ALERT⚠️⚠️⚠️🇺🇸🦅🦅📞📞📞🎺🇺🇸🦅🦅\ + 📞📞📞🎺USA🇺🇸🦅🦅📞🇺🇸🦅🦅📞🇺🇸🦅🦅📞📞📞🎺🇺🇸🦅🦅📞📞📞🎺 ⚠️⚠️⚠️DEMOCRATION ALERT⚠️⚠️\ + ⚠️🇺🇸🦅🦅📞📞📞🎺🇺🇸🦅🦅📞📞📞🎺USA🇺🇸🦅🦅📞🇺🇸🦅🦅📞🇺🇸🦅🦅📞📞📞🎺🇺🇸🦅🦅📞📞📞🎺 \ + ⚠️⚠️⚠️DEMOCRATION ALERT⚠️⚠️⚠️🇺🇸🦅🦅📞📞📞🎺🇺🇸🦅🦅📞📞📞🎺USA🇺🇸🦅🦅📞🇺🇸🦅🦅📞", user.first_name, reason.unwrap() ) diff --git a/src/main.rs b/src/main.rs index e7ca976..c02318a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -25,9 +25,8 @@ async fn main() { enum Command { #[command(description = "Команда для отображения инструкции")] Help, - #[command(description = "Снимается мьют." - )] - Unmute, + #[command(description = "Снимается мьют.")] + DemocracyUnmute, #[command(description = "Банит человека. Для этого необходимо \ 1. Сделать реплай на сообщение человека, которого вы хотите забанить; \ 2. Указать причину бана." @@ -37,7 +36,7 @@ enum Command { 1. Сделать реплай на сообщение человека, которого вы хотите замьютить; \ 2. Указать множитель мьюта." )] - Mute(i64), + DemocracyMute(i64), } async fn callback(bot: Bot, msg: Message, commands: Command) -> ResponseResult<()> { @@ -56,17 +55,35 @@ async fn callback(bot: Bot, msg: Message, commands: Command) -> ResponseResult<( ).await; } }, - Command::Mute(multiplier) => { - if is_admin_check(&msg, &bot).await { - let _ = mute_user( - msg.reply_to_message(), - multiplier, - &bot, + Command::DemocracyMute(multiplier) => { + if let 1i64..=10i64 = multiplier{ + if is_admin_check(&msg, &bot).await { + let _ = mute_user( + msg.reply_to_message(), + multiplier, + &bot, + msg.chat.id, + ).await; + } + } else if let 10i64..=i64::MAX = multiplier{ + bot.send_message( msg.chat.id, - ).await; + "Вы ввели слишком большой множитель, пожалуйста, \ + выберите множитель из промежутка [1; 10]" + ).await + .expect("Вы ввели слишком большой множитель, пожалуйста, \ + выберите множитель из промежутка [1; 10]"); + } else { + bot.send_message( + msg.chat.id, + "Вы ввели нулевой или отрицательный множитель, пожалуйста, \ + выберите множитель из промежутка [1; 10]" + ).await + .expect("Вы ввели нулевой или отрицательный множитель, пожалуйста, \ + выберите множитель из промежутка [1; 10]"); } } - Command::Unmute => { + Command::DemocracyUnmute => { if is_admin_check(&msg, &bot).await { let _ = unmute( msg.reply_to_message(), diff --git a/src/mute.rs b/src/mute.rs index ee85e67..306f36f 100644 --- a/src/mute.rs +++ b/src/mute.rs @@ -1,7 +1,8 @@ pub mod mute { use teloxide::Bot; - use chrono::{Duration, Local}; use teloxide::requests::Requester; + use tokio::time::{sleep, Duration}; + use chrono::{Duration as ChronoDuration, Local}; use teloxide::payloads::RestrictChatMemberSetters; use teloxide::types::{ChatId, ChatPermissions, Message, MessageKind}; @@ -31,9 +32,9 @@ pub mod mute { .unwrap() .value as i64; - let duration = Local::now().naive_utc() + Duration::hours(multiplier * dice_value); + let duration = Local::now().naive_utc() + ChronoDuration::hours(multiplier * dice_value); - println!("{:?}", duration); + sleep(Duration::from_secs(4)).await ; match bot.restrict_chat_member( chat_id,