diff --git a/src/events.rs b/src/events.rs index 063881b..b794f2b 100644 --- a/src/events.rs +++ b/src/events.rs @@ -33,8 +33,8 @@ pub async fn handle_event(client: Client, event: Event, state: State) -> anyhow: let mut is_encrypted = false; if let Some(ref sender) = sender { - let ncr_options = globals.get::("NcrOptions").ok(); - if let Some(ref options) = ncr_options + let mut ncr_options = None; + if let Ok(options) = globals.get::
("NcrOptions") && let Ok(decrypt) = globals.get::("ncr_decrypt") && let Some(plaintext) = decrypt .call::((options.clone(), content.clone())) @@ -43,6 +43,7 @@ pub async fn handle_event(client: Client, event: Event, state: State) -> anyhow: .and_then(|s| trim_header(s).ok()) { is_encrypted = true; + ncr_options = Some(options); plaintext.clone_into(&mut content); info!("decrypted message from {sender}: {content}"); }