refactor: style and micro performance improvements
This commit is contained in:
		| @@ -22,10 +22,13 @@ pub async fn handle_event(client: Client, event: Event, state: State) -> anyhow: | |||||||
|             let formatted_message = message.message(); |             let formatted_message = message.message(); | ||||||
|             info!("{}", formatted_message.to_ansi()); |             info!("{}", formatted_message.to_ansi()); | ||||||
|  |  | ||||||
|             let owners = state.lua.globals().get::<Vec<String>>("Owners")?; |  | ||||||
|             if message.is_whisper() |             if message.is_whisper() | ||||||
|                 && let (Some(sender), content) = message.split_sender_and_content() |                 && let (Some(sender), content) = message.split_sender_and_content() | ||||||
|                 && owners.contains(&sender) |                 && state | ||||||
|  |                     .lua | ||||||
|  |                     .globals() | ||||||
|  |                     .get::<Vec<String>>("Owners")? | ||||||
|  |                     .contains(&sender) | ||||||
|             { |             { | ||||||
|                 if let Err(error) = state.commands.execute( |                 if let Err(error) = state.commands.execute( | ||||||
|                     content, |                     content, | ||||||
| @@ -55,7 +58,7 @@ pub async fn handle_event(client: Client, event: Event, state: State) -> anyhow: | |||||||
|         } |         } | ||||||
|         Event::Disconnect(message) => { |         Event::Disconnect(message) => { | ||||||
|             call_listeners(&state, "disconnect", message.map(|m| m.to_string())).await; |             call_listeners(&state, "disconnect", message.map(|m| m.to_string())).await; | ||||||
|             exit(1) |             exit(0) | ||||||
|         } |         } | ||||||
|         Event::Login => call_listeners(&state, "login", ()).await, |         Event::Login => call_listeners(&state, "login", ()).await, | ||||||
|         Event::RemovePlayer(player_info) => { |         Event::RemovePlayer(player_info) => { | ||||||
| @@ -84,8 +87,7 @@ pub async fn handle_event(client: Client, event: Event, state: State) -> anyhow: | |||||||
|         Event::Init => { |         Event::Init => { | ||||||
|             debug!("received initialize event"); |             debug!("received initialize event"); | ||||||
|  |  | ||||||
|             let globals = state.lua.globals(); |             state.lua.globals().set( | ||||||
|             globals.set( |  | ||||||
|                 "client", |                 "client", | ||||||
|                 lua::client::Client { |                 lua::client::Client { | ||||||
|                     inner: Some(client), |                     inner: Some(client), | ||||||
|   | |||||||
| @@ -46,12 +46,11 @@ async fn main() -> anyhow::Result<()> { | |||||||
|     console_subscriber::init(); |     console_subscriber::init(); | ||||||
|  |  | ||||||
|     let args = arguments::Arguments::parse(); |     let args = arguments::Arguments::parse(); | ||||||
|  |  | ||||||
|     let script_path = args.script.unwrap_or(PathBuf::from(DEFAULT_SCRIPT_PATH)); |     let script_path = args.script.unwrap_or(PathBuf::from(DEFAULT_SCRIPT_PATH)); | ||||||
|     let event_listeners = Arc::new(RwLock::new(HashMap::new())); |     let event_listeners = Arc::new(RwLock::new(HashMap::new())); | ||||||
|  |  | ||||||
|     let lua = Lua::new(); |     let lua = Lua::new(); | ||||||
|     let globals = lua.globals(); |     let globals = lua.globals(); | ||||||
|  |  | ||||||
|     globals.set("script_path", &*script_path)?; |     globals.set("script_path", &*script_path)?; | ||||||
|     lua::register_functions(&lua, &globals, event_listeners.clone())?; |     lua::register_functions(&lua, &globals, event_listeners.clone())?; | ||||||
|     lua.load( |     lua.load( | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user