summary refs log tree commit diff
path: root/src/system/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/system/mod.rs')
-rw-r--r--src/system/mod.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/system/mod.rs b/src/system/mod.rs
index 0f5f23c..4eea408 100644
--- a/src/system/mod.rs
+++ b/src/system/mod.rs
@@ -25,7 +25,9 @@ impl Manager {
             followed_user: NonZeroU64::try_from(system_config.reference_user_id.parse::<u64>().unwrap()).unwrap().into(),
             command_prefix: "!".to_string(),
             members: system_config.members.iter().map(|member| Member {
+                name: member.name.clone(),
                 discord_token: member.discord_token.clone(),
+                user_id: Arc::new(Mutex::new(None)),
                 message_pattern: member.message_pattern.clone(),
                 shard: Arc::new(Mutex::new(Shard::new(
                     ShardId::ONE,
@@ -44,7 +46,12 @@ impl Manager {
         'member_event: loop {
             match message_receiver.recv().await {
                 None => (),
-                Some(MemberEvent::GatewayConnect(member_token)) => {
+                Some(MemberEvent::GatewayConnect(member_token, user_id)) => {
+                    for member in &system.members {
+                        if member.discord_token == member_token {
+                            {*member.user_id.lock().await = Some(user_id)};
+                        }
+                    }
                     logger.log_connect(member_token).await;
                 },
                 Some(MemberEvent::GatewayError(member_token)) => {