mirror of
https://github.com/revanced/revanced-discord-bot.git
synced 2025-04-30 06:24:27 +02:00
refactor: use functional approach to handle error
This commit is contained in:
parent
b349d63b93
commit
0ec8c4c96d
@ -1,9 +1,12 @@
|
|||||||
use bson::{doc, Document};
|
use bson::{doc, Document};
|
||||||
use chrono::{Duration, Utc};
|
use chrono::{Duration, Utc};
|
||||||
use crate::utils::parse_duration;
|
|
||||||
use mongodb::options::{UpdateModifications, UpdateOptions};
|
use mongodb::options::{UpdateModifications, UpdateOptions};
|
||||||
use poise::serenity_prelude::{
|
use poise::serenity_prelude::{
|
||||||
self as serenity, Mentionable, PermissionOverwrite, Permissions, UserId,
|
self as serenity,
|
||||||
|
Mentionable,
|
||||||
|
PermissionOverwrite,
|
||||||
|
Permissions,
|
||||||
|
UserId,
|
||||||
};
|
};
|
||||||
use tracing::{debug, error, trace};
|
use tracing::{debug, error, trace};
|
||||||
|
|
||||||
@ -11,8 +14,13 @@ use crate::db::model::{LockedChannel, Muted};
|
|||||||
use crate::utils::bot::get_member;
|
use crate::utils::bot::get_member;
|
||||||
use crate::utils::macros::to_user;
|
use crate::utils::macros::to_user;
|
||||||
use crate::utils::moderation::{
|
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};
|
use crate::{Context, Error};
|
||||||
|
|
||||||
/// Lock a channel.
|
/// Lock a channel.
|
||||||
@ -90,14 +98,11 @@ 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(
|
.create_permission(http, &PermissionOverwrite {
|
||||||
http,
|
allow: permission_overwrite.allow & !permission,
|
||||||
&PermissionOverwrite {
|
deny: permission_overwrite.deny | permission,
|
||||||
allow: permission_overwrite.allow & !permission,
|
kind: permission_overwrite.kind,
|
||||||
deny: permission_overwrite.deny | permission,
|
})
|
||||||
kind: permission_overwrite.kind,
|
|
||||||
},
|
|
||||||
)
|
|
||||||
.await
|
.await
|
||||||
{
|
{
|
||||||
error!("Failed to create the new permission: {:?}", err);
|
error!("Failed to create the new permission: {:?}", err);
|
||||||
@ -208,16 +213,7 @@ pub async fn mute(
|
|||||||
let user = to_user!(member, ctx);
|
let user = to_user!(member, ctx);
|
||||||
let id = user.id;
|
let id = user.id;
|
||||||
let now = Utc::now();
|
let now = Utc::now();
|
||||||
let mut mute_duration = Duration::zero();
|
let mute_duration = parse_duration(duration).map_err(|e| Error::from(format!("{:?}", e)))?;
|
||||||
|
|
||||||
match parse_duration(duration) {
|
|
||||||
Ok(duration) => {
|
|
||||||
mute_duration = duration;
|
|
||||||
}
|
|
||||||
Err(err) => {
|
|
||||||
error!("Failed to parse duration: {:?}", err);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let data = &mut *ctx.data().write().await;
|
let data = &mut *ctx.data().write().await;
|
||||||
let configuration = &data.configuration;
|
let configuration = &data.configuration;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user