mirror of
https://github.com/revanced/revanced-discord-bot.git
synced 2025-04-29 22:14:28 +02:00
fix: set ephemeral
after checking for errors
This commit is contained in:
parent
37076c2910
commit
2014f283e9
@ -1,8 +1,7 @@
|
|||||||
use std::cmp;
|
use std::cmp;
|
||||||
use std::sync::Arc;
|
use std::sync::{Arc, RwLock};
|
||||||
|
|
||||||
use mongodb::options::FindOptions;
|
use mongodb::options::FindOptions;
|
||||||
use std::sync::Mutex;
|
|
||||||
use poise::serenity_prelude::{ChannelId, GuildChannel, GuildId, Mentionable, User, UserId};
|
use poise::serenity_prelude::{ChannelId, GuildChannel, GuildId, Mentionable, User, UserId};
|
||||||
use tokio::task::JoinHandle;
|
use tokio::task::JoinHandle;
|
||||||
use tracing::{debug, error, warn};
|
use tracing::{debug, error, warn};
|
||||||
@ -123,9 +122,8 @@ pub async fn respond_moderation<'a>(
|
|||||||
configuration: &Configuration,
|
configuration: &Configuration,
|
||||||
) -> Result<(), Error> {
|
) -> Result<(), Error> {
|
||||||
let current_user = ctx.serenity_context().http.get_current_user().await?;
|
let current_user = ctx.serenity_context().http.get_current_user().await?;
|
||||||
let send_as_ephemeral = Arc::new(Mutex::new(false));
|
|
||||||
|
|
||||||
let send_as_ephemeral_clone = send_as_ephemeral.clone();
|
let send_ephemeral = RwLock::new(false);
|
||||||
|
|
||||||
let create_embed = |f: &mut serenity::CreateEmbed| {
|
let create_embed = |f: &mut serenity::CreateEmbed| {
|
||||||
let mut moderated_user: Option<&User> = None;
|
let mut moderated_user: Option<&User> = None;
|
||||||
@ -136,7 +134,8 @@ pub async fn respond_moderation<'a>(
|
|||||||
|
|
||||||
let embed = match error {
|
let embed = match error {
|
||||||
Some(err) => {
|
Some(err) => {
|
||||||
*send_as_ephemeral_clone.lock().unwrap() = true;
|
*send_ephemeral.write().unwrap() = true;
|
||||||
|
|
||||||
f.title(format!("Failed to mute {}", user.tag()))
|
f.title(format!("Failed to mute {}", user.tag()))
|
||||||
.field("Exception", err.to_string(), false)
|
.field("Exception", err.to_string(), false)
|
||||||
.field(
|
.field(
|
||||||
@ -167,7 +166,8 @@ pub async fn respond_moderation<'a>(
|
|||||||
moderated_user = Some(user);
|
moderated_user = Some(user);
|
||||||
match error {
|
match error {
|
||||||
Some(err) => {
|
Some(err) => {
|
||||||
*send_as_ephemeral_clone.lock().unwrap() = true;
|
*send_ephemeral.write().unwrap() = true;
|
||||||
|
|
||||||
f.title(format!("Failed to unmute {}", user.tag()))
|
f.title(format!("Failed to unmute {}", user.tag()))
|
||||||
.field("Exception", err.to_string(), false)
|
.field("Exception", err.to_string(), false)
|
||||||
.field(
|
.field(
|
||||||
@ -191,7 +191,8 @@ pub async fn respond_moderation<'a>(
|
|||||||
moderated_user = Some(user);
|
moderated_user = Some(user);
|
||||||
let f = match error {
|
let f = match error {
|
||||||
Some(err) => {
|
Some(err) => {
|
||||||
*send_as_ephemeral_clone.lock().unwrap() = true;
|
*send_ephemeral.write().unwrap() = true;
|
||||||
|
|
||||||
f.title(format!("Failed to ban {}", user.tag()))
|
f.title(format!("Failed to ban {}", user.tag()))
|
||||||
.field("Exception", err.to_string(), false)
|
.field("Exception", err.to_string(), false)
|
||||||
.field(
|
.field(
|
||||||
@ -220,7 +221,8 @@ pub async fn respond_moderation<'a>(
|
|||||||
moderated_user = Some(user);
|
moderated_user = Some(user);
|
||||||
match error {
|
match error {
|
||||||
Some(err) => {
|
Some(err) => {
|
||||||
*send_as_ephemeral_clone.lock().unwrap() = true;
|
*send_ephemeral.write().unwrap() = true;
|
||||||
|
|
||||||
f.title(format!("Failed to unban {}", user.tag()))
|
f.title(format!("Failed to unban {}", user.tag()))
|
||||||
.field("Exception", err.to_string(), false)
|
.field("Exception", err.to_string(), false)
|
||||||
.field(
|
.field(
|
||||||
@ -242,7 +244,8 @@ pub async fn respond_moderation<'a>(
|
|||||||
},
|
},
|
||||||
ModerationKind::Lock(channel, author, error) => match error {
|
ModerationKind::Lock(channel, author, error) => match error {
|
||||||
Some(err) => {
|
Some(err) => {
|
||||||
*send_as_ephemeral_clone.lock().unwrap() = true;
|
*send_ephemeral.write().unwrap() = true;
|
||||||
|
|
||||||
f.title(format!("Failed to lock {} ", channel.name()))
|
f.title(format!("Failed to lock {} ", channel.name()))
|
||||||
.field("Exception", err.to_string(), false)
|
.field("Exception", err.to_string(), false)
|
||||||
.field(
|
.field(
|
||||||
@ -268,7 +271,8 @@ pub async fn respond_moderation<'a>(
|
|||||||
},
|
},
|
||||||
ModerationKind::Unlock(channel, author, error) => match error {
|
ModerationKind::Unlock(channel, author, error) => match error {
|
||||||
Some(err) => {
|
Some(err) => {
|
||||||
*send_as_ephemeral_clone.lock().unwrap() = true;
|
*send_ephemeral.write().unwrap() = true;
|
||||||
|
|
||||||
f.title(format!("Failed to unlock {}", channel.name()))
|
f.title(format!("Failed to unlock {}", channel.name()))
|
||||||
.field("Exception", err.to_string(), false)
|
.field("Exception", err.to_string(), false)
|
||||||
.field(
|
.field(
|
||||||
@ -308,11 +312,11 @@ pub async fn respond_moderation<'a>(
|
|||||||
let reply = ctx
|
let reply = ctx
|
||||||
.send(|reply| {
|
.send(|reply| {
|
||||||
reply
|
reply
|
||||||
.ephemeral(*send_as_ephemeral.lock().unwrap())
|
.embed(|embed| {
|
||||||
.embed(|embed| {
|
create_embed(embed);
|
||||||
create_embed(embed);
|
embed
|
||||||
embed
|
})
|
||||||
})
|
.ephemeral(*send_ephemeral.read().unwrap())
|
||||||
})
|
})
|
||||||
.await?;
|
.await?;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user