From 7ad4b227267e3bb2da99ef5d76c30cd54d040157 Mon Sep 17 00:00:00 2001 From: mat <27899617+mat-1@users.noreply.github.com> Date: Fri, 18 Nov 2022 21:52:09 -0600 Subject: Add functions to get ChatPacket author and content (#42) * Add functions to get ChatPacket author and content * add ChatPacket::username and ChatPacket::content --- azalea/examples/craft_dig_straight_down.rs | 18 +++++++++--------- azalea/examples/echo.rs | 8 +++++--- 2 files changed, 14 insertions(+), 12 deletions(-) (limited to 'azalea/examples') diff --git a/azalea/examples/craft_dig_straight_down.rs b/azalea/examples/craft_dig_straight_down.rs index d6c0ed1c..3e6d9e31 100755 --- a/azalea/examples/craft_dig_straight_down.rs +++ b/azalea/examples/craft_dig_straight_down.rs @@ -27,17 +27,17 @@ async fn main() { async fn handle(bot: Client, event: Event, state: State) -> anyhow::Result<()> { match event { Event::Chat(m) => { - if m.username == bot.player.username { + if m.username() == Some(bot.game_profile.name) { return Ok(()); }; - if m.content == "go" { - // make sure we only start once - let ctx_lock = ctx.lock().unwrap(); - if ctx_lock.started { - return; - }; - ctx_lock.started = true; - drop(ctx_lock); + if m.content() == "go" { + { + // make sure we only start once + if *state.started.lock() { + return Ok(()); + }; + *state.started.lock() = true; + } bot.goto(pathfinder::Goals::NearXZ(5, azalea::BlockXZ(0, 0))) .await; diff --git a/azalea/examples/echo.rs b/azalea/examples/echo.rs index 51896e53..5f6cf072 100755 --- a/azalea/examples/echo.rs +++ b/azalea/examples/echo.rs @@ -24,10 +24,12 @@ pub struct State {} async fn handle(bot: Client, event: Event, state: State) -> anyhow::Result<()> { match event { Event::Chat(m) => { - if m.username == bot.username { - return Ok(()); // ignore our own messages + if let (Some(sender), content) = m.split_sender_and_content() { + if sender == bot.game_profile.name { + return Ok(()); // ignore our own messages + } + bot.chat(&content).await?; }; - bot.chat(m.content).await; } _ => {} } -- cgit v1.2.3