mirror of
https://github.com/revanced/revanced-discord-bot.git
synced 2025-04-30 06:24:27 +02:00
feat: cure slash command
This commit is contained in:
parent
e0ca87322d
commit
166d4e334f
@ -2,23 +2,16 @@ use bson::{doc, Document};
|
||||
use chrono::Utc;
|
||||
use mongodb::options::{UpdateModifications, UpdateOptions};
|
||||
use poise::serenity_prelude::{
|
||||
self as serenity,
|
||||
Mentionable,
|
||||
PermissionOverwrite,
|
||||
Permissions,
|
||||
UserId,
|
||||
self as serenity, Member, Mentionable, PermissionOverwrite, Permissions, UserId,
|
||||
};
|
||||
use tracing::{debug, error, trace};
|
||||
|
||||
use crate::db::model::{LockedChannel, Muted};
|
||||
use crate::utils::bot::get_member;
|
||||
use crate::utils::decancer::cure as cure_member;
|
||||
use crate::utils::macros::to_user;
|
||||
use crate::utils::moderation::{
|
||||
ban_moderation,
|
||||
queue_unmute_member,
|
||||
respond_moderation,
|
||||
BanKind,
|
||||
ModerationKind,
|
||||
ban_moderation, queue_unmute_member, respond_moderation, BanKind, ModerationKind,
|
||||
};
|
||||
use crate::utils::parse_duration;
|
||||
use crate::{Context, Error};
|
||||
@ -98,11 +91,14 @@ pub async fn lock(ctx: Context<'_>) -> Result<(), Error> {
|
||||
let permission = Permissions::SEND_MESSAGES & Permissions::ADD_REACTIONS;
|
||||
|
||||
if let Err(err) = channel
|
||||
.create_permission(http, &PermissionOverwrite {
|
||||
.create_permission(
|
||||
http,
|
||||
&PermissionOverwrite {
|
||||
allow: permission_overwrite.allow & !permission,
|
||||
deny: permission_overwrite.deny | permission,
|
||||
kind: permission_overwrite.kind,
|
||||
})
|
||||
},
|
||||
)
|
||||
.await
|
||||
{
|
||||
error!("Failed to create the new permission: {:?}", err);
|
||||
@ -469,3 +465,13 @@ async fn handle_ban(ctx: &Context<'_>, kind: &BanKind) -> Result<(), Error> {
|
||||
)
|
||||
.await
|
||||
}
|
||||
|
||||
/// Cure a member.
|
||||
#[poise::command(slash_command)]
|
||||
pub async fn cure(
|
||||
ctx: Context<'_>,
|
||||
#[description = "The member to cure"] member: Member,
|
||||
) -> Result<(), Error> {
|
||||
cure_member(ctx.serenity_context(), &None, &member).await;
|
||||
Ok(())
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user