twitch irc rs
v5.0.1
這是一個與 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 上的文件以了解更多詳細資訊。