All Projects → robotty → twitch-irc-rs

robotty / twitch-irc-rs

Licence: MIT license
Twitch IRC library for the Rust programming language

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to twitch-irc-rs

Firebot
A powerful all-in-one bot for Twitch streamers
Stars: ✭ 162 (+179.31%)
Mutual labels:  twitch, twitchtv, twitch-bot
Lagertha
A UI/UX redesign of the popular Twitch-bot PhantomBot
Stars: ✭ 10 (-82.76%)
Mutual labels:  twitch, twitchtv, twitch-bot
TwitchBot
Custom C# chat bot for Twitch TV
Stars: ✭ 33 (-43.1%)
Mutual labels:  twitch, twitchtv, twitch-bot
glitch
!NO MORE MAINTAINED! Reactive API Wrapper for Twitch in Kotlin/JVM
Stars: ✭ 12 (-79.31%)
Mutual labels:  twitch, twitchtv, twitch-bot
TwitchPy
This is a package you can use to connect with the Twitch API, manage a channel, create bots, etc
Stars: ✭ 22 (-62.07%)
Mutual labels:  twitch, irc, twitch-bot
Tc
A desktop chat client for Twitch
Stars: ✭ 182 (+213.79%)
Mutual labels:  twitch, irc
Twitch4j
Modular Async/Sync/Reactive Twitch API Client / IRC Client
Stars: ✭ 209 (+260.34%)
Mutual labels:  twitch, irc
TwitchMarkovChain
Twitch Bot for generating messages based on what it learned from chat
Stars: ✭ 87 (+50%)
Mutual labels:  twitch, twitch-bot
Twitch-View-Bot
First open-source really working view bot for Twitch
Stars: ✭ 63 (+8.62%)
Mutual labels:  twitch, twitch-bot
Java Twirk
Small, basic library for communication via the Twitch chat. Java 8 compatible
Stars: ✭ 36 (-37.93%)
Mutual labels:  twitch, irc
jChat
jChat is an overlay that allows you to show your Twitch chat on screen with OBS, XSplit, and any other streaming software that supports browser sources.
Stars: ✭ 106 (+82.76%)
Mutual labels:  twitch, irc
OxidizeBot
High performance Twitch bot in Rust
Stars: ✭ 123 (+112.07%)
Mutual labels:  twitch, twitch-bot
Go Twitch Irc
go irc client for twitch.tv
Stars: ✭ 155 (+167.24%)
Mutual labels:  twitch, irc
Twitch Bot
🤖 Easily create chat bots for Twitch.tv
Stars: ✭ 111 (+91.38%)
Mutual labels:  twitch, irc
twitchtube
Twitch YouTube bot. Automatically make video compilations of the most viewed Twitch clips and upload them to YouTube using Python 3.
Stars: ✭ 398 (+586.21%)
Mutual labels:  twitch, twitch-bot
Twitchirc Unity
lightweight IRC client component for use with the Unity Engine.
Stars: ✭ 81 (+39.66%)
Mutual labels:  twitch, irc
Twitch-Farmer
A bot that helps you to get more followers on Twitch
Stars: ✭ 124 (+113.79%)
Mutual labels:  twitch, twitch-bot
twitch-chat-bot
No description or website provided.
Stars: ✭ 63 (+8.62%)
Mutual labels:  twitch, irc
twitch-observer
Turn Twitch chatter into Python events
Stars: ✭ 25 (-56.9%)
Mutual labels:  twitch, twitch-bot
Matterbridge
bridge between mattermost, IRC, gitter, xmpp, slack, discord, telegram, rocketchat, twitch, ssh-chat, zulip, whatsapp, keybase, matrix, microsoft teams, nextcloud, mumble, vk and more with REST API (mattermost not required!)
Stars: ✭ 4,452 (+7575.86%)
Mutual labels:  twitch, irc

twitch-irc-rs

Rust CI status Crates.io Docs.rs

This is a client library to interface with Twitch chat.

This library is async and runs using the tokio runtime.

Example usage (This is the simple_listener example, see examples/simple_listener.rs and run it with 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();
}

Check out the documentation on docs.rs for more details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].