2024-10-08 22:37:22 +03:00
use std ::ops ::Deref ;
use telers ::{
event ::{ telegram ::HandlerResult , EventReturn } ,
filters ::CommandObject ,
types ::Message ,
Bot ,
} ;
use crate ::{
2025-04-09 23:46:50 +03:00
assets ::files ::{ BAN_COMMAND_HELP , MUTE_COMMAND_HELP , UNBAN_COMMAND_HELP , UNMUTE_COMMAND_HELP } ,
utils ::telegram ::{ args_parser ::parse_args , senders ::send_html } ,
2024-10-08 22:37:22 +03:00
} ;
2025-04-09 23:46:50 +03:00
#[ allow(unused) ]
const USER_ID_NOT_FOUND : & str = " Для выполнение команды нужно знать ID пользователя, или ввести команду и выполнить её, ответив на сообщение пользователя " ;
#[ allow(unused) ]
const COMMAND_EXECUTION_REJECTED : & str = " Выполнение данной команды невозможно, поскольку пользователю были выданы права администратора модераторами или основателем " ;
pub async fn admin_commands_endpoint (
2024-10-08 22:37:22 +03:00
bot : Bot ,
message : Message ,
2025-04-09 23:46:50 +03:00
command_object : CommandObject ,
2024-10-08 22:37:22 +03:00
) -> HandlerResult {
2025-04-09 23:46:50 +03:00
let ( command_type , args ) = ( command_object . command . deref ( ) , command_object . args . deref ( ) ) ;
2024-10-08 22:37:22 +03:00
2025-04-09 23:46:50 +03:00
let chat_id = message . chat ( ) . id ( ) ;
2024-10-08 22:37:22 +03:00
2025-04-09 23:46:50 +03:00
if let Some ( _args ) = parse_args ( args , & message , command_type ) {
match command_type {
" ban " | " unban " | " mute " | " unmute " = > todo! ( ) ,
_ = > unreachable! ( ) ,
} ;
} else {
2024-10-08 22:37:22 +03:00
let help_txt = match command_type {
" ban " = > BAN_COMMAND_HELP ,
" mute " = > MUTE_COMMAND_HELP ,
2025-04-09 23:46:50 +03:00
" unban " = > UNBAN_COMMAND_HELP ,
2024-10-08 22:37:22 +03:00
" unmute " = > UNMUTE_COMMAND_HELP ,
2025-04-09 23:46:50 +03:00
_ = > unreachable! ( ) ,
2024-10-08 22:37:22 +03:00
} ;
2025-04-09 23:46:50 +03:00
send_html ( & bot , chat_id , help_txt ) . await ? ;
2024-10-08 22:37:22 +03:00
}
Ok ( EventReturn ::Finish )
}