Globidev / twitch-irc

A base for working with Twitch IRC chatrooms
BSD 3-Clause "New" or "Revised" License
2 stars 2 forks source link
irc plugin-engine twitch

Twitch-irc

An extensible IRC relay application for twitch.tv chat rooms

Motivation

As streaming becomes more and more popular, the need for community centered applications increases.
The world's leading video platform and community for gamers delivers over 10 billion messages a day with its chat service (source).
A lot of existing tools revolve around this IRC-based service and this is why we should ease the process of making such tools.

This project aims to provide a robust base to work with twitch's IRC chat rooms.

Usage

With docker :whale::

docker run --rm -it \
    globidocker/twitch-irc channel script

Examples

3 scripts are provided as a proof of extensibility

Echo
twitch-irc day9tv twitch-irc-echo

This simple script will just display IRC messages on the standard output

Websocket
twitch-irc lirik twitch-irc-websocket [port]

This script will relay private messages with a websocket server listening on the port port You can subscribe to specific channels using the connection request's path ws://host:port/channel

This is the script used by twitch-cast and is available at ws://datcoloc.com/chat/channel

X11
twitch-irc your-channel twitch-irc-x11

Inspired by the social experiment Twitch plays Pokémon

This script makes use of the X11 library to forward specific channel messages as keycodes to a X11 window.
The chat can send game inputs!

Building

with Haskell's stack:

stack setup
stack build --copy-bins