Pulling Raw Chat

Question, I’ve been trying to get all raw data from chat to push to an external program, which I want to do a number of things with it, such as logging, counters, advanced command interfacing, and general hand myself more control. Is there a quality way to constantly pull data from twitch chat. Even if it’s just a raw string which i must parse into useful object formats, is there a fast reliable asynchronous method for pulling twitch chat as live as is possible.

There is an unofficial and unsupported endpoint that Twitch uses to get chat history when you join a channel. It’s just a list of IRCv3 messages. I can’t speak to its reliability.

https://tmi.twitch.tv/api/rooms/:channel_id/recent_messages?count=50

Where :channel_id is a channel/user(/room maybe) ID.

{
    "messages": [
        "@tags=are;here= :username!username@username.tmi.twitch.tv PRIVMSG #channel :Example message here"
    ]
}

The count query string property only goes from 1 to 50. Anything else results in a “400 Bad Request” without any body.

The best option is to create an IRC client that JOINs whichever channels you need and then either react from there or log and then poll that log. (See the IRC dev docs.)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.