feat!(events/chat): pass more message fields
This commit is contained in:
		| @@ -23,10 +23,13 @@ pub async fn handle_event(client: Client, event: Event, state: State) -> anyhow: | |||||||
|         Event::Chat(message) => { |         Event::Chat(message) => { | ||||||
|             let globals = state.lua.globals(); |             let globals = state.lua.globals(); | ||||||
|             let (sender, mut content) = message.split_sender_and_content(); |             let (sender, mut content) = message.split_sender_and_content(); | ||||||
|             let formatted_message = message.message(); |             let uuid = message.uuid().map(|uuid| uuid.to_string()); | ||||||
|             info!("{}", formatted_message.to_ansi()); |             let is_whisper = message.is_whisper(); | ||||||
|  |             let text = message.message(); | ||||||
|  |             let ansi_text = text.to_ansi(); | ||||||
|  |             info!("{ansi_text}"); | ||||||
|  |  | ||||||
|             if let Some(sender) = sender { |             if let Some(ref sender) = sender { | ||||||
|                 let mut ncr_options = None; |                 let mut ncr_options = None; | ||||||
|                 if let Ok(options) = globals.get::<Table>("NcrOptions") |                 if let Ok(options) = globals.get::<Table>("NcrOptions") | ||||||
|                     && let Ok(decrypt) = globals.get::<Function>("ncr_decrypt") |                     && let Ok(decrypt) = globals.get::<Function>("ncr_decrypt") | ||||||
| @@ -41,9 +44,9 @@ pub async fn handle_event(client: Client, event: Event, state: State) -> anyhow: | |||||||
|                     info!("decrypted message from {sender}: {content}"); |                     info!("decrypted message from {sender}: {content}"); | ||||||
|                 } |                 } | ||||||
|  |  | ||||||
|                 if message.is_whisper() && globals.get::<Vec<String>>("Owners")?.contains(&sender) { |                 if is_whisper && globals.get::<Vec<String>>("Owners")?.contains(sender) { | ||||||
|                     if let Err(error) = state.commands.execute( |                     if let Err(error) = state.commands.execute( | ||||||
|                         content, |                         content.clone(), | ||||||
|                         CommandSource { |                         CommandSource { | ||||||
|                             client: client.clone(), |                             client: client.clone(), | ||||||
|                             message: message.clone(), |                             message: message.clone(), | ||||||
| @@ -63,7 +66,14 @@ pub async fn handle_event(client: Client, event: Event, state: State) -> anyhow: | |||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|  |  | ||||||
|             call_listeners(&state, "chat", formatted_message.to_string()).await; |             let table = state.lua.create_table()?; | ||||||
|  |             table.set("text", text.to_string())?; | ||||||
|  |             table.set("ansi_text", ansi_text)?; | ||||||
|  |             table.set("sender", sender)?; | ||||||
|  |             table.set("content", content)?; | ||||||
|  |             table.set("uuid", uuid)?; | ||||||
|  |             table.set("is_whisper", is_whisper)?; | ||||||
|  |             call_listeners(&state, "chat", table).await; | ||||||
|         } |         } | ||||||
|         Event::Death(packet) => { |         Event::Death(packet) => { | ||||||
|             if let Some(packet) = packet { |             if let Some(packet) = packet { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user