Library to interact with Twitch chat messages using conduits in Go.
Since the IRC will become more limited soon, this library is designed be a replacement ingest for chatbots and the likes.
- helix: Package to subscribe to chat messages through conduits using the Twitch Helix API
- webhook: Logic for webhook conduits, implementing the
helix.Transport
interface (TODO) - websocket: Logic for websocket conduits, implementing the
helix.Transport
interface - oauth: Oauth flow to let users give permission for the bot to join their channel (TODO)
go get github.com/broadeditz/go-twitch-conduits
Generally speaking, there are 3 things you need to get started:
- A Twitch application with the
user:read:chat
,user:bot
scopes for your bot user. And either thechannel:bot
scope, or moderator status for the channels you're trying to join. - An OAuth app token for the application, following the Client credential grant flow.
- The twitch user ID of the bot user
There are quick start examples in the example
directory.
- Subscribe to a chat (or more)
- Websocket conduits
- Transport interface for conduits & helix client
- Small example of how to use the library
- Joining/leaving/deleting/updating an existing conduit
- Webhook conduits
- Oauth flow to let users give permission for the bot to join their channel
- Unit tests
- Single optional wrapper combining helix & transport into a simple to use package
- Send messages to chat
- v1.0.0: refactor helix to be more user-friendly