gluon/src/handlers/commands/admin_commands.rs

47 lines
1.7 KiB
Rust
Raw Normal View History

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