rustirc

A fully asynchronous IRC client written in Rust

A fully working echo bot example

```rust use rustirc::{ client::{Client, ClientState}, eventhandler::EventHandler, messageparser, };

struct Handler;

[asynctrait::asynctrait]

impl EventHandler for Handler { async fn onmessagesent(&self, client: &mut Client, message: message_parser::Message) { println!( "Message content => {} | sent by: {}", message.parameters[1], message.source.unwrap() );

    // That means we're in a channel and we can send a message
    match client.state {
        ClientState::InChannel(_) => {
            client
                .send_message(message.parameters[1])
                .await;
        }
        _ => {}
    }
}

// Fires an unimplemented raw event
async fn on_unimplemented(&self, client: &mut Client, message: message_parser::Message) {
    // Do as you you'd like
}

}

[tokio::main]

async fn main() -> Result<(), Box> { let mut c = Client::new("localhost", 6667) .handler(Handler) .connect() .await?;

c.start().await?;
Ok(())

} ```