diff options
author | Ashelyn Rose <git@ashen.earth> | 2025-03-01 16:35:00 -0700 |
---|---|---|
committer | Ashelyn Rose <git@ashen.earth> | 2025-03-01 16:35:00 -0700 |
commit | 38be251b5f4ed4dabe21753451e23c233b62b6dd (patch) | |
tree | 565952fb5bd371b88c38af2e8ad7fe7bded6ed99 /src/system/mod.rs | |
parent | 04bbe74642f5b6257361014e0c122a33c9fa4d70 (diff) |
autoproxy: member mode
Also adds method for system to resolve mentions to system members
Diffstat (limited to 'src/system/mod.rs')
-rw-r--r-- | src/system/mod.rs | 9 |
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)) => { |