finds.dev← search

// the find

hzoo/TwitchPlaysX

★ 308 · JavaScript · MIT · updated Jun 2022

:video_game: Connect to IRC to send inputs to any program, Twitch Plays Pokemon style. (Windows, Linux, OSX)

A Node.js server that connects to Twitch chat via TMI and forwards viewer commands as keyboard inputs to a focused window — basically a self-hosted TwitchPlaysPokemon for any program. It's a fun weekend project from 2014-era Twitch novelty, not production software.

- The core idea is simple and the implementation matches: IRC connection, regex command matching, platform-specific key injection — no overengineering for what is inherently a toy.

- Cross-platform support is real: xdotool on Linux, win32 API via Python on Windows, which covers the actual use case without hacks.

- tmi.js was a solid choice for Twitch IRC at the time — more reliable than browser MutationObserver scraping, as the README correctly explains.

- Abandoned since 2022, last meaningful work likely around 2015-2016. Twitch's IRC gateway has changed, tmi.js itself has had multiple breaking versions, and nothing here has kept up.

- Windows requires the target window to have focus, which means you can't use your machine while streaming — a fundamental architectural limit of the win32 SendKeys approach with no workaround documented beyond 'use a VM'.

- No input rate limiting or spam protection. In a real Twitch chat with hundreds of viewers, this will fire keyboard events as fast as messages arrive, which will likely crash or corrupt whatever program you're targeting.

- Python + pywin32 as a side-car for Windows key injection is a fragile dependency chain that hasn't been touched in years — pywin32 release compatibility with modern Python versions is not guaranteed.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →