twitch irc rs
v5.0.1
Il s'agit d'une bibliothèque client pour s'interfacer avec le chat Twitch.
Cette bibliothèque est asynchrone et s'exécute en utilisant le runtime tokio
.
Exemple d'utilisation (Il s'agit de l'exemple simple_listener
, voir examples/simple_listener.rs
et exécutez-le avec 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 ( ) ;
}
Consultez la documentation sur docs.rs pour plus de détails.