From 8e6fced543735aa4c68e70221518a37c36780d59 Mon Sep 17 00:00:00 2001 From: salmonik Date: Wed, 4 Nov 2026 01:08:08 +0100 Subject: commands: gate admin, trigger, cron and recording behind permissions --- src/commands/cron.rs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src/commands/cron.rs') diff --git a/src/commands/cron.rs b/src/commands/cron.rs index a645581..47c3d62 100644 --- a/src/commands/cron.rs +++ b/src/commands/cron.rs @@ -11,6 +11,8 @@ type Context<'a> = poise::Context<'a, Data, Error>; /// Cron job management #[poise::command( slash_command, + guild_only, + required_permissions = "MANAGE_GUILD", subcommands("dodaj_audio", "dodaj_wiadomość", "pokaż", "usuń", "pauza", "wznów",) )] pub async fn cron(_ctx: Context<'_>) -> Result<()> { @@ -18,7 +20,7 @@ pub async fn cron(_ctx: Context<'_>) -> Result<()> { } /// Schedule audio playback -#[poise::command(slash_command)] +#[poise::command(slash_command, guild_only, required_permissions = "MANAGE_GUILD")] pub async fn dodaj_audio( ctx: Context<'_>, #[description = "Cron expression (e.g. \"37 21 * * *\" = every day at 21:37)"] cron_expression: String, @@ -58,7 +60,7 @@ pub async fn dodaj_audio( } /// Schedule a periodic message -#[poise::command(slash_command)] +#[poise::command(slash_command, guild_only, required_permissions = "MANAGE_GUILD")] pub async fn dodaj_wiadomość( ctx: Context<'_>, #[description = "Cron expression (e.g. \"37 21 * * *\" = every day at 21:37)"] cron_expression: String, @@ -85,7 +87,7 @@ pub async fn dodaj_wiadomość( } /// List all cron jobs -#[poise::command(slash_command)] +#[poise::command(slash_command, guild_only, required_permissions = "MANAGE_GUILD")] pub async fn pokaż(ctx: Context<'_>) -> Result<()> { let jobs = database::list_cron_jobs(&ctx.data().db_pool).await?; if jobs.is_empty() { @@ -119,7 +121,7 @@ pub async fn pokaż(ctx: Context<'_>) -> Result<()> { } /// Remove a cron job -#[poise::command(slash_command)] +#[poise::command(slash_command, guild_only, required_permissions = "MANAGE_GUILD")] pub async fn usuń( ctx: Context<'_>, #[description = "ID pracy do usunięcia"] job_id: i64, @@ -133,7 +135,7 @@ pub async fn usuń( } /// Pause a cron job -#[poise::command(slash_command)] +#[poise::command(slash_command, guild_only, required_permissions = "MANAGE_GUILD")] pub async fn pauza( ctx: Context<'_>, #[description = "ID pracy do zapauzowania"] job_id: i64, @@ -147,7 +149,7 @@ pub async fn pauza( } /// Resume a paused cron job -#[poise::command(slash_command)] +#[poise::command(slash_command, guild_only, required_permissions = "MANAGE_GUILD")] pub async fn wznów( ctx: Context<'_>, #[description = "ID pracy cron do wznowienia"] job_id: i64, -- cgit v1.2.3