15个版本 (稳定)

5.0.1 2023年8月29日
5.0.0 2022年10月4日
4.1.0 2022年9月20日
4.0.0 2022年3月9日
0.3.0 2020年11月24日

#3 in #twitch

Download history 380/week @ 2024-04-23 353/week @ 2024-04-30 284/week @ 2024-05-07 290/week @ 2024-05-14 310/week @ 2024-05-21 428/week @ 2024-05-28 251/week @ 2024-06-04 265/week @ 2024-06-11 215/week @ 2024-06-18 276/week @ 2024-06-25 136/week @ 2024-07-02 172/week @ 2024-07-09 260/week @ 2024-07-16 418/week @ 2024-07-23 320/week @ 2024-07-30 419/week @ 2024-08-06

1,449 每月下载量
3 crates 中使用

MIT 许可证

350KB
5.5K SLoC

twitch-irc-rs

Rust CI status Crates.io Docs.rs

这是一个用于与Twitch聊天接口的客户端库。

此库是异步的,并使用tokio运行时运行。

示例用法(这是simple_listener示例,请参阅examples/simple_listener.rs并使用cargo run --example simple_listener运行)

use twitch_irc::login::StaticLoginCredentials;
use twitch_irc::TwitchIRCClient;
use twitch_irc::{ClientConfig, SecureTCPTransport};

#[tokio::main]
pub async fn main() {
    // default configuration is to join chat as anonymous.
    let config = ClientConfig::default();
    let (mut incoming_messages, client) =
        TwitchIRCClient::<SecureTCPTransport, StaticLoginCredentials>::new(config);

    // first thing you should do: start consuming incoming messages,
    // otherwise they will back up.
    let join_handle = tokio::spawn(async move {
        while let Some(message) = incoming_messages.recv().await {
            println!("Received message: {:?}", message);
        }
    });

    // join a channel
    // This function only returns an error if the passed channel login name is malformed,
    // so in this simple case where the channel name is hardcoded we can ignore the potential
    // error with `unwrap`.
    client.join("sodapoppin".to_owned()).unwrap();

    // keep the tokio executor alive.
    // If you return instead of waiting the background task will exit.
    join_handle.await.unwrap();
}

有关更多详细信息,请参阅docs.rs上的文档。

依赖项

~4–19MB
~290K SLoC