From a98b6814b11d4989c418f09cf6198379478e808c Mon Sep 17 00:00:00 2001 From: ErrorNoInternet Date: Mon, 10 Mar 2025 18:58:14 -0400 Subject: [PATCH] refactor(http)!: get address from lua --- src/arguments.rs | 6 +----- src/events.rs | 7 ++++++- src/main.rs | 3 --- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/arguments.rs b/src/arguments.rs index 06498f7..791078a 100644 --- a/src/arguments.rs +++ b/src/arguments.rs @@ -1,6 +1,6 @@ use crate::build_info; use clap::Parser; -use std::{net::SocketAddr, path::PathBuf}; +use std::path::PathBuf; /// A Minecraft utility bot #[derive(Parser)] @@ -9,8 +9,4 @@ pub struct Arguments { /// Path to main Lua file #[arg(short, long)] pub script: Option, - - /// Socket address to bind HTTP server to - #[arg(short = 'a', long)] - pub http_address: Option, } diff --git a/src/events.rs b/src/events.rs index fefeeec..7a9e9e9 100644 --- a/src/events.rs +++ b/src/events.rs @@ -16,6 +16,7 @@ use hyper_util::rt::TokioIo; use log::{debug, error, info, trace}; use mlua::{Error, Function, IntoLuaMulti, Table}; use ncr::utils::trim_header; +use std::net::SocketAddr; use tokio::net::TcpListener; #[allow(clippy::too_many_lines)] @@ -191,7 +192,11 @@ pub async fn handle_event(client: Client, event: Event, state: State) -> anyhow: )?; call_listeners(&state, "init", ()).await; - let Some(address) = state.http_address else { + let Some(address): Option = globals + .get::("HttpAddress") + .ok() + .and_then(|string| string.parse().ok()) + else { return Ok(()); }; diff --git a/src/main.rs b/src/main.rs index 914f805..5dcd0f5 100644 --- a/src/main.rs +++ b/src/main.rs @@ -28,7 +28,6 @@ use std::{ collections::HashMap, env, fs::{OpenOptions, read_to_string}, - net::SocketAddr, path::PathBuf, sync::Arc, }; @@ -39,7 +38,6 @@ type ListenerMap = Arc>>>; #[derive(Default, Clone, Component)] pub struct State { - http_address: Option, lua: Arc, event_listeners: ListenerMap, commands: Arc>>, @@ -116,7 +114,6 @@ async fn main() -> anyhow::Result<()> { .add_plugins(DefaultBotPlugins) .set_handler(events::handle_event) .set_state(State { - http_address: args.http_address, lua: Arc::new(lua), event_listeners, commands: Arc::new(commands),