diff options
| author | seth <[email protected]> | 2023-11-16 00:33:59 -0500 |
|---|---|---|
| committer | seth <[email protected]> | 2023-11-16 05:41:54 +0000 |
| commit | fcf951b7712da947f3bc3a474b04a0b46c287ede (patch) | |
| tree | 999e69cc43f0f307d0b3ff603d5adc0251f9cbfd /src/handler/mod.rs | |
| parent | 387b7dee5c022dab74bd7afc920b58793b8308de (diff) | |
feat: implement event handler correctly
Diffstat (limited to 'src/handler/mod.rs')
| -rw-r--r-- | src/handler/mod.rs | 51 |
1 files changed, 26 insertions, 25 deletions
diff --git a/src/handler/mod.rs b/src/handler/mod.rs index 7f7c881..6085617 100644 --- a/src/handler/mod.rs +++ b/src/handler/mod.rs @@ -1,34 +1,35 @@ -use crate::utils; -use crate::{consts, Data}; -use log::*; +use crate::{Data, Error}; +use poise::serenity_prelude as serenity; +use poise::Event; -use poise::serenity_prelude::Message; +mod message; +pub mod pinboard; -mod events; +pub async fn handle( + ctx: &serenity::Context, + event: &Event<'_>, + _framework: poise::FrameworkContext<'_, Data, Error>, + data: &Data, +) -> Result<(), Error> { + match event { + Event::Ready { data_about_bot } => { + log::info!("logged in as {}", data_about_bot.user.name) + } -pub struct Handler { - data: Data, -} + Event::Message { new_message } => { + message::handle(ctx, event, _framework, data, new_message).await?; + } -impl Handler { - pub fn new(data: Data) -> Self { - Self { data } - } + Event::ChannelPinsUpdate { pin } => { + let Some(pin_board) = &data.pin_board else { + return Ok(()); + }; - fn should_echo(&self, msg: &Message) -> bool { - let gid = msg.guild_id.unwrap_or_default(); - if msg.author.id == self.data.bot || !utils::is_guild_allowed(gid) { - info!("not running copypasta command in {gid}"); - return false; + pin_board.handle_pin(ctx, pin).await; } - let content = &msg.content; - - content == "🗿" - || consts::TEAMOJIS.contains(&content.as_str()) - || content.to_ascii_lowercase() == "moyai" - || content - .to_ascii_lowercase() - .contains("twitter's recommendation algorithm") + _ => {} } + + Ok(()) } |
