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 chrono::Utc;
|
||||||
use mongodb::options::{UpdateModifications, UpdateOptions};
|
use mongodb::options::{UpdateModifications, UpdateOptions};
|
||||||
use poise::serenity_prelude::{
|
use poise::serenity_prelude::{
|
||||||
self as serenity,
|
self as serenity, Member, Mentionable, PermissionOverwrite, Permissions, UserId,
|
||||||
Mentionable,
|
|
||||||
PermissionOverwrite,
|
|
||||||
Permissions,
|
|
||||||
UserId,
|
|
||||||
};
|
};
|
||||||
use tracing::{debug, error, trace};
|
use tracing::{debug, error, trace};
|
||||||
|
|
||||||
use crate::db::model::{LockedChannel, Muted};
|
use crate::db::model::{LockedChannel, Muted};
|
||||||
use crate::utils::bot::get_member;
|
use crate::utils::bot::get_member;
|
||||||
|
use crate::utils::decancer::cure as cure_member;
|
||||||
use crate::utils::macros::to_user;
|
use crate::utils::macros::to_user;
|
||||||
use crate::utils::moderation::{
|
use crate::utils::moderation::{
|
||||||
ban_moderation,
|
ban_moderation, queue_unmute_member, respond_moderation, BanKind, ModerationKind,
|
||||||
queue_unmute_member,
|
|
||||||
respond_moderation,
|
|
||||||
BanKind,
|
|
||||||
ModerationKind,
|
|
||||||
};
|
};
|
||||||
use crate::utils::parse_duration;
|
use crate::utils::parse_duration;
|
||||||
use crate::{Context, Error};
|
use crate::{Context, Error};
|
||||||
@ -98,11 +91,14 @@ pub async fn lock(ctx: Context<'_>) -> Result<(), Error> {
|
|||||||
let permission = Permissions::SEND_MESSAGES & Permissions::ADD_REACTIONS;
|
let permission = Permissions::SEND_MESSAGES & Permissions::ADD_REACTIONS;
|
||||||
|
|
||||||
if let Err(err) = channel
|
if let Err(err) = channel
|
||||||
.create_permission(http, &PermissionOverwrite {
|
.create_permission(
|
||||||
|
http,
|
||||||
|
&PermissionOverwrite {
|
||||||
allow: permission_overwrite.allow & !permission,
|
allow: permission_overwrite.allow & !permission,
|
||||||
deny: permission_overwrite.deny | permission,
|
deny: permission_overwrite.deny | permission,
|
||||||
kind: permission_overwrite.kind,
|
kind: permission_overwrite.kind,
|
||||||
})
|
},
|
||||||
|
)
|
||||||
.await
|
.await
|
||||||
{
|
{
|
||||||
error!("Failed to create the new permission: {:?}", err);
|
error!("Failed to create the new permission: {:?}", err);
|
||||||
@ -469,3 +465,13 @@ async fn handle_ban(ctx: &Context<'_>, kind: &BanKind) -> Result<(), Error> {
|
|||||||
)
|
)
|
||||||
.await
|
.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