twitch irc rs
v5.0.1
Esta es una biblioteca cliente para interactuar con el chat de Twitch.
Esta biblioteca es asíncrona y se ejecuta utilizando el tiempo de ejecución tokio
.
Ejemplo de uso (este es el ejemplo simple_listener
, consulte examples/simple_listener.rs
y ejecútelo con 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 ( ) ;
}
Consulte la documentación en docs.rs para obtener más detalles.