Reimplement 'sr' helper command

This commit is contained in:
Xyon 2024-10-12 17:24:11 +01:00
parent 04552bb029
commit 54bd863934
Signed by: xyon
GPG Key ID: DD18155D6B18078D
1 changed files with 16 additions and 2 deletions

View File

@ -1,6 +1,8 @@
use built::chrono;
use manifold::error::{ManifoldError, ManifoldResult}; use manifold::error::{ManifoldError, ManifoldResult};
use manifold::{ManifoldContext, ManifoldData}; use manifold::{ManifoldContext, ManifoldData};
use poise::serenity_prelude as serenity; use poise::serenity_prelude as serenity;
use crate::badgey::schema::custom_responses::response;
#[poise::command(slash_command, prefix_command, required_permissions = "MODERATE_MEMBERS")] #[poise::command(slash_command, prefix_command, required_permissions = "MODERATE_MEMBERS")]
async fn void_user(_ctx: ManifoldContext<'_>, _target: serenity::User) -> ManifoldResult<()> { async fn void_user(_ctx: ManifoldContext<'_>, _target: serenity::User) -> ManifoldResult<()> {
@ -22,6 +24,18 @@ async fn record_chronicle(_ctx: ManifoldContext<'_>, _target: serenity::User) ->
Ok(()) Ok(())
} }
pub fn commands() -> [poise::Command<ManifoldData, ManifoldError>; 4] { #[poise::command(slash_command, prefix_command, required_permissions = "MODERATE_MEMBERS", aliases("sr", "sl"))]
[void_user(), unvoid_user(), airlock_user(), record_chronicle()] async fn security_record(ctx: ManifoldContext<'_>) -> ManifoldResult<()> {
let author = ctx.author().id;
let timestamp = chrono::Utc::now().timestamp();
let response_body = format!("```**__Server Security Report__**\n\n**Date:** <t:{timestamp}:f>\n**Moderator(s):** <@{author}>\n**Offending User(s):**\n\n**Description:**\n\n**Actions Taken:**```", timestamp = timestamp, author = author);
ctx.reply(response_body).await?;
Ok(())
}
pub fn commands() -> [poise::Command<ManifoldData, ManifoldError>; 5] {
[void_user(), unvoid_user(), airlock_user(), record_chronicle(), security_record()]
} }