use serenity::{ all::{GuildMemberUpdateEvent, Member, UserId}, async_trait, client::{Context, EventHandler}, }; use sqlx::{Database, Pool}; /// A handler that notices people with an X.500 in their nicknames that matches a student's, and /// records it in the database. pub struct X500Mapper(pub Pool); impl X500Mapper { async fn notice_member(&self, nick: &str, uid: UserId) { dbg!((nick, uid)); } } #[async_trait] impl EventHandler for X500Mapper { async fn guild_member_update( &self, _ctx: Context, _old_if_available: Option, _new: Option, event: GuildMemberUpdateEvent, ) { if let Some(nick) = event.nick { self.notice_member(&nick, event.user.id).await } } }