React to delete message; cargo clippy --fix

This commit is contained in:
Elnu 2025-03-26 21:26:20 -07:00
parent b3cb507b16
commit feb1142d6e
2 changed files with 52 additions and 30 deletions

View file

@ -11,7 +11,7 @@ type Context<'a> = poise::Context<'a, Data, Error>;
pub struct Data {}
use commands::{challenge::*, kanji::*, meta::*, owner::*};
use poise::serenity_prelude as serenity;
use poise::{serenity_prelude as serenity, Event};
use poise::serenity_prelude::model::gateway::GatewayIntents;
use clap::Parser;
@ -45,9 +45,9 @@ impl Arguments {
domain: env::var("DOMAIN")?,
discord_token: env::var("DISCORD_TOKEN")?,
prefix: env::var("PREFIX")?,
hugo: env::var("HUGO")?.into(),
hugo: env::var("HUGO")?,
build: env::var("BUILD")?,
guild_data: env::var("GUILD_DATA")?.into(),
guild_data: env::var("GUILD_DATA")?,
})
}
}
@ -67,6 +67,24 @@ lazy_static! {
};
}
async fn event_handler(
ctx: &serenity::Context,
event: &Event<'_>,
framework: poise::FrameworkContext<'_, Data, Error>,
_data: &Data,
) -> Result<(), Error> {
if let Event::ReactionAdd { add_reaction, .. } = event {
if !add_reaction.emoji.unicode_eq("") {
return Ok(());
}
let message = add_reaction.message(&ctx.http).await?;
if message.author.id == framework.bot_id && add_reaction.user_id.map(|id| *id.as_u64() == 441283734214279178).unwrap_or(false) {
message.delete(&ctx.http).await?;
}
}
Ok(())
}
#[tokio::main]
async fn main() {
// Initialize the logger to use environment variables.
@ -102,6 +120,9 @@ async fn main() {
hyogai(),
so(),
],
event_handler: |ctx, event, framework, data| {
Box::pin(event_handler(ctx, event, framework, data))
},
prefix_options: poise::PrefixFrameworkOptions {
prefix: Some(ARGS.prefix.clone()),
..Default::default()
@ -113,6 +134,7 @@ async fn main() {
GatewayIntents::GUILD_MESSAGES
| GatewayIntents::DIRECT_MESSAGES
| GatewayIntents::MESSAGE_CONTENT
| GatewayIntents::GUILD_MESSAGE_REACTIONS
| GatewayIntents::GUILDS,
)
.setup(move |_ctx, _ready, _framework| Box::pin(async move { Ok(Data {}) }));