Compare commits

..

6 Commits

Author SHA1 Message Date
Xyon 8a52ab5783
Merge remote-tracking branch 'origin/main' into feature/airlock-greetings 2024-10-13 14:45:36 +01:00
Xyon ea81778099 Merge pull request 'Add missing closing square bracket' (#7) from hotfix/deploy-error into main
Badgey Deployment / build (push) Successful in 6m14s Details
Badgey Deployment / deploy (BADGEY) (push) Successful in 6s Details
Badgey Deployment / deploy (M5_COMPUTER) (push) Successful in 6s Details
Reviewed-on: #7
2024-10-12 17:38:47 +00:00
Xyon 4cb966c038
Add missing closing square bracket 2024-10-12 18:38:36 +01:00
Xyon a97460d739 Merge pull request 'feature/mod-convenience' (#6) from feature/mod-convenience into main
Badgey Deployment / build (push) Successful in 6m13s Details
Badgey Deployment / deploy (BADGEY) (push) Successful in 6s Details
Badgey Deployment / deploy (M5_COMPUTER) (push) Successful in 7s Details
Reviewed-on: #6
2024-10-12 16:25:33 +00:00
Xyon a64f66cc7a
Remove unused include 2024-10-12 17:25:09 +01:00
Xyon 54bd863934
Reimplement 'sr' helper command 2024-10-12 17:24:11 +01:00
1 changed files with 14 additions and 3 deletions

View File

@ -1,7 +1,6 @@
use manifold::error::{ManifoldError, ManifoldResult};
use manifold::{ManifoldContext, ManifoldData};
use poise::serenity_prelude as serenity;
use crate::badgey::models::quarantine_channel::QuarantineChannel;
#[poise::command(slash_command, prefix_command, required_permissions = "MODERATE_MEMBERS")]
async fn void_user(_ctx: ManifoldContext<'_>, _target: serenity::User) -> ManifoldResult<()> {
@ -23,6 +22,18 @@ async fn record_chronicle(_ctx: ManifoldContext<'_>, _target: serenity::User) ->
Ok(())
}
#[poise::command(slash_command, prefix_command, required_permissions = "MODERATE_MEMBERS", aliases("sr", "sl"))]
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(())
}
#[poise::command(slash_command, prefix_command, required_permissions = "MANAGE_GUILD")]
async fn add_quarantine_channel(ctx: ManifoldContext<'_>, channel: serenity::ChannelId, role: serenity::RoleId) -> ManifoldResult<()> {
let qc = QuarantineChannel::new(role.as_u64().clone() as i64, channel.as_u64().clone() as i64);
@ -42,6 +53,6 @@ async fn remove_quarantine_channel(ctx: ManifoldContext<'_>, channel: serenity::
Ok(())
}
pub fn commands() -> [poise::Command<ManifoldData, ManifoldError>; 6] {
[void_user(), unvoid_user(), airlock_user(), record_chronicle(), add_quarantine_channel(), remove_quarantine_channel()]
pub fn commands() -> [poise::Command<ManifoldData, ManifoldError>; 7] {
[void_user(), unvoid_user(), airlock_user(), record_chronicle(), security_record(), add_quarantine_channel(), remove_quarantine_channel()]
}