// the find
hzoo/TwitchPlaysX
: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.