twitch irc rs
v5.0.1
これは、Twitch チャットと連携するためのクライアント ライブラリです。
このライブラリは非同期であり、 tokio
ランタイムを使用して実行されます。
使用例 (これはsimple_listener
例です。examples 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 のドキュメントを確認してください。