Fix ghoul message spam

This commit is contained in:
Joey Hines 2025-09-24 18:03:01 -06:00
parent c6786a77f7
commit 2901ed3be2
Signed by: joeyahines
GPG Key ID: 38BA6F25C94C9382
3 changed files with 11 additions and 2 deletions

2
Cargo.lock generated
View File

@ -1093,7 +1093,7 @@ dependencies = [
[[package]]
name = "fren"
version = "2.4.0"
version = "2.4.1"
dependencies = [
"axum 0.8.1",
"base64 0.22.1",

View File

@ -1,6 +1,6 @@
[package]
name = "fren"
version = "2.4.0"
version = "2.4.1"
edition = "2024"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -12,6 +12,7 @@ use rand::{Rng, rng};
use serde::{Deserialize, Serialize};
use std::fmt::Debug;
use std::sync::Arc;
use crate::discord::get_role;
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
#[serde(tag = "type")]
@ -243,6 +244,14 @@ impl Listener {
trigger_event.channel_id.say(ctx.http(), msg).await?;
}
Action::Ghoulify { hours } => {
// slight hack to prevent ghoul spamming
let ghoul_role = get_role(&ctx.http, data.cfg.guild_id, &UserRole::Ghoul.to_string()).await?;
if let Ok(user) = data.cfg.guild_id.member(&ctx.http(), trigger_event.triggerer).await
&& let Some(ghoul_role) = ghoul_role
&& user.roles.contains(&ghoul_role) {
break;
}
User::add_role(
ctx.http(),
&data.db,