From ed778ab2060c6131caf98231a97873d7ea490d5a Mon Sep 17 00:00:00 2001 From: Nathan Ringo Date: Tue, 16 Jan 2024 00:57:41 -0600 Subject: The start of database functionality. --- src/handlers/x500_mapper.rs | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'src/handlers') diff --git a/src/handlers/x500_mapper.rs b/src/handlers/x500_mapper.rs index f477e97..1dd8955 100644 --- a/src/handlers/x500_mapper.rs +++ b/src/handlers/x500_mapper.rs @@ -1,22 +1,31 @@ use serenity::{ - all::{GuildMemberUpdateEvent, Member}, + 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 struct X500Mapper(pub Pool); + +impl X500Mapper { + async fn notice_member(&self, nick: &str, uid: UserId) { + dbg!((nick, uid)); + } +} #[async_trait] -impl EventHandler for X500Mapper { +impl EventHandler for X500Mapper { async fn guild_member_update( &self, _ctx: Context, - old_if_available: Option, - new: Option, + _old_if_available: Option, + _new: Option, event: GuildMemberUpdateEvent, ) { - dbg!((old_if_available, new, event)); + if let Some(nick) = event.nick { + self.notice_member(&nick, event.user.id).await + } } } -- cgit v1.2.3