TypeScript icon, indicating that this package has built-in type declarations

    1.15.0 • Public • Published

    twitch2ma Build Status npm semantic-release

    twitch2ma is a Twitch chat bot that hooks into your channel and executes commands on a GrandMA 2 console using telnet.

    Viewers can run user-defined commands like !red in chat to trigger whatever action on the desk. Additionally, viewers can always run !lights in chat to list all available commands.


    To install twitch2ma you need to have at least node.js 14 installed. Run

    npm install -g twitch2ma


    Before you can run twitch2ma you need a config file in JSON or YAML format. Sample files are located in the root directory (JSON / YAML) of the repository and ship with the npm package.

    Find a detailed description of every option here.

    Twitch authentication

    As mentioned above, you need a clientId and an accessToken when connecting the bot to a channel. To obtain these, you will need to register an app on Just use any name you like for the app. OAuth Redirect URLSs don't matter either, just fill in anything. Category is Chat Bot of course. You can get your clientId from the manage page now.

    After you have done that, you will need an access token. Unfortunately, this is not done by twitch2ma yet, so you have to get it manually with this neat tool. You will get an OAuth token like oauth:9ouvuuiv3mwvdd3rx5obks823jdp20dj. Remove the oauth: and that is your access token for the configuration file.

    Locking commands and parameters

    twitch2ma can receive sACN to temporarily lock commands. This is done by the sacn configuration options. If configured, twitch2ma listens to the respective universe/channel combination and locks configured commands and parameters when the channel value drops below 100%. This allows for a more flexible way of allowing or denying viewers' input.

    When sACN is configured for a channel or parameter, it overrides timeout settings for that channel or parameter.

    Additionally a lockMessage can be configured which is sent to Twitch chat when viewers try to execute a locked command/parameters.


    To run twitch2ma, just run the following command. Please be aware that you need to have a desk or onPC in your network, reachable under the IP adress you configured. You also have to have telnet turned on.

    twitch2ma [configFile]

    configFile is optional and defaults to config.json.

    Advanced usage

    There are more commands and options available when running twitch2ma. Please run twitch2ma -h or twitch2ma help for more help.


    Find the changelog here .

    Contributors ✨

    Thanks goes to these wonderful people (emoji key):

    Julian Rabe

    💬 💻 📖 💡 🤔 🚇 🚧 📦 ⚠️

    Kevin Maslona

    🤔 📓


    🐛 🤔 📓

    This project follows the all-contributors specification. Contributions of any kind welcome!


    npm i twitch2ma

    DownloadsWeekly Downloads






    Unpacked Size

    259 kB

    Total Files


    Last publish


    • schw4rzlicht