MM's Twitch.tv IRC Interface for GameMaker
A downloadable GameMaker Extension
A bundle of scripts and an object that allows you to connect your game to Twitch chat super easily! For the most basic application, you can interact with Twitch chat using just 3 scripts (plus your own custom handler script) to connect and send/receive chat messages.
- Super easy to use (You only need to use a minimum of 3 scripts for basic functionality)
- Flexible - Sending chat messages is easy, but you can also send and handle any Twitch IRC command (see https://dev.twitch.tv/docs/irc for info!)
- Asynchronous command handling
- Automatic PING->PONG and reconnection (if connection is lost)
- Safely supports both blocking and non-blocking socket connections
- Automatic rate limiting to reduce Global Ban risk
- Many other commands to make the system more powerful (Capability requests, tag management, special string unescaping, command queueing and more)
- Marked debug messages to help you track what's going on (and you can disable them when you need to!)
- Theoretically works on all export platforms including HTML5
Currently versions for both GameMaker: Studio 1.4 and GameMaker Studio 2 are available
Check out the Quick Reference and Basic Guide to get help setting up (or at least an idea of what the extension is about)
You can get an oauth key for your account quickly here: https://twitchapps.com/tmi/
The video guide also provides similar instructions, as well as some slightly more advanced usage. It covers basic connection, message sending and parsing, making a chat-interactive "Guess the Number" game and a couple of other things.
(Warning! I'm a little socially awkward, but I hope the cute bird makes up for it a little. It's 30 minutes long, but you only really need the first 7 minutes to get set up receiving and sending commands, as well as connecting - the rest is more useful, but non-essential stuff)
New in v1.1.0 (GMS2 Only)
- twitch_check_connected() can now return 3 possible values from the enum "public_twitch_connection_status" ("connected", "not_connected" and "attempting_connection"). It will still work as a true/false test as before, but now you can check if you're connected but not logged in yet with "public_twitch_connection_status.attempting_connection"
- oauth failures now cause a disconnect.
- "twitch_set_disconnect_callback_script" has been added so you can set a script to handle unexpected disconnects, which will be passed 1 argument containing a value from the "public_twitch_disconnect_reasons" enum.
Information about these enums and functions has been added to the quick reference
COOL NEW FACT!! As of GameMaker Studio 2 IDE v18.104.22.1685, you can now import "Local Asset Packages". Luckily, this already works with the .yymp already provided, so now it's easier to add this to your project then ever!
It is unlikely this asset will function with the Free versions of GameMaker
The 1.4 version will not receive any updates (except maybe bugfixes) as official support for the IDE ended. Also, for some reason, the non-blocking connect never succeeded for me (it works fine in Studio 2 though.
In order to download this GameMaker Extension you must purchase it at or above the minimum price of $2 USD. You will get access to the following files:
- My Twitch IRC integration for GameMaker is Done!Mar 28, 2018