added DEMOCRACY ALERT and delay

This commit is contained in:
doryan04 2024-02-12 12:12:09 +04:00
parent 44de5a191a
commit 82a0eef029
3 changed files with 40 additions and 16 deletions

View File

@ -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()
)

View File

@ -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(),

View File

@ -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,