From c7358fd4c0800a66ee1bd43566346cf63c70f61e Mon Sep 17 00:00:00 2001 From: ErrorNoInternet <errornointernet@envs.net> Date: Sat, 15 Mar 2025 23:06:21 -0400 Subject: [PATCH] feat(matrix): respond based on client username --- src/matrix/bot.rs | 6 +++--- src/matrix/mod.rs | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/matrix/bot.rs b/src/matrix/bot.rs index 2758c95..b1c0ebe 100644 --- a/src/matrix/bot.rs +++ b/src/matrix/bot.rs @@ -1,4 +1,4 @@ -use super::{COMMAND_PREFIX, MatrixContext}; +use super::MatrixContext; use crate::{ events::call_listeners, lua::{self, matrix::room::Room as LuaRoom}, @@ -35,9 +35,9 @@ pub async fn on_regular_room_message( .get::<Vec<String>>("MatrixOwners") .unwrap_or_default() .contains(&event.sender.to_string()) - && text_content.body.starts_with(COMMAND_PREFIX) + && text_content.body.starts_with(&ctx.name) { - let body = text_content.body[COMMAND_PREFIX.len()..] + let body = text_content.body[ctx.name.len()..] .trim_start_matches(':') .trim(); let split = body.split_once(char::is_whitespace).unzip(); diff --git a/src/matrix/mod.rs b/src/matrix/mod.rs index f867fe7..7680dd5 100644 --- a/src/matrix/mod.rs +++ b/src/matrix/mod.rs @@ -17,6 +17,7 @@ use verification::{on_device_key_verification_request, on_room_message_verificat #[derive(Clone)] pub struct MatrixContext { state: State, + name: String, } #[derive(Clone, Serialize, Deserialize)] @@ -87,7 +88,7 @@ pub async fn login( fs::write(&session_file, serde_json::to_string(&new_session)?).await?; } - client.add_event_handler_context(MatrixContext { state }); + client.add_event_handler_context(MatrixContext { state, name }); client.add_event_handler(on_stripped_state_member); loop { match client.sync_once(sync_settings.clone()).await {