feat: make the admin hable to init the config
This commit is contained in:
parent
705c9e459f
commit
12ae78d934
@ -1,5 +1,8 @@
|
|||||||
use crate::botv2::{
|
use crate::botv2::{
|
||||||
domain::server_config::change_enable_server::change_enable_server,
|
domain::server_config::{
|
||||||
|
change_enable_server::change_enable_server,
|
||||||
|
check_if_server_enable_and_admin::check_if_server_enable_and_user_admin,
|
||||||
|
},
|
||||||
init::{Context, Error},
|
init::{Context, Error},
|
||||||
};
|
};
|
||||||
use poise::{
|
use poise::{
|
||||||
@ -14,8 +17,7 @@ use tracing::instrument;
|
|||||||
slash_command,
|
slash_command,
|
||||||
prefix_command,
|
prefix_command,
|
||||||
category = "server_config",
|
category = "server_config",
|
||||||
guild_only = true,
|
guild_only = true
|
||||||
owners_only = true
|
|
||||||
)]
|
)]
|
||||||
pub async fn init(
|
pub async fn init(
|
||||||
ctx: Context<'_>,
|
ctx: Context<'_>,
|
||||||
@ -27,6 +29,38 @@ pub async fn init(
|
|||||||
};
|
};
|
||||||
let entity_name = ctx.data().entity_name.clone();
|
let entity_name = ctx.data().entity_name.clone();
|
||||||
let footer = CreateEmbedFooter::new(entity_name.clone());
|
let footer = CreateEmbedFooter::new(entity_name.clone());
|
||||||
|
match check_if_server_enable_and_user_admin(guild.get(), ctx.author().id.get(), ctx.http())
|
||||||
|
.await
|
||||||
|
{
|
||||||
|
Ok((ok, _)) => {
|
||||||
|
if !ok {
|
||||||
|
let embed = CreateEmbed::new()
|
||||||
|
.title("You are not an admin")
|
||||||
|
.color(colour::Color::RED)
|
||||||
|
.footer(footer);
|
||||||
|
if let Err(why) = ctx
|
||||||
|
.send(CreateReply::default().embed(embed).ephemeral(true))
|
||||||
|
.await
|
||||||
|
{
|
||||||
|
tracing::error!("Error sending message: {:?}", why);
|
||||||
|
}
|
||||||
|
return Ok(());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Err(_) => {
|
||||||
|
let embed = CreateEmbed::new()
|
||||||
|
.title("You are not an admin")
|
||||||
|
.color(colour::Color::RED)
|
||||||
|
.footer(footer);
|
||||||
|
if let Err(why) = ctx
|
||||||
|
.send(CreateReply::default().embed(embed).ephemeral(true))
|
||||||
|
.await
|
||||||
|
{
|
||||||
|
tracing::error!("Error sending message: {:?}", why);
|
||||||
|
}
|
||||||
|
return Ok(());
|
||||||
|
}
|
||||||
|
};
|
||||||
let answer = match change_enable_server(guild.get(), enable).await {
|
let answer = match change_enable_server(guild.get(), enable).await {
|
||||||
Ok(_) => CreateEmbed::new()
|
Ok(_) => CreateEmbed::new()
|
||||||
.title("Server config initialized")
|
.title("Server config initialized")
|
||||||
|
Loading…
Reference in New Issue
Block a user