The grand update of this is the release of the new EventSub WebSocket simulation. Previously the features in the CLI only allowed for connecting and testing the Reconnect message flow. Now, the Twitch CLI is on par with all events you'll see in Twitch's production environment.
Some of the new functionality includes:
- Connecting/reconnecting to a single origin (ip address/port combo, e.g. 127.0.0.1:8080). This is similar behavior to the load balancer that handles connections into Twitch's EventSub WebSocket endpoint.
- Forwarding EventSub events to the mock server to be delivered to either all clients, or a single specified client.
- Ability to POST, DELETE, and GET an endpoint mocking /helix/eventsub/subscription.
- A strict mode, to require subscriptions within 10 seconds, and also require a subscription to be made for every forwarded event.
- Carryover of subscriptions between reconnects, and inclusion of a query parameter within the reconnect URL to allow for that carryover.
- Additional power-user features, such as disconnecting websocket clients with any disconnect code, and changing subscription types to any Status other than
revoked
andenabled
.
For more information on this new functionality, please refer to the official documentation:
https://dev.twitch.tv/docs/cli/websocket-event-command/
Other than that, this update also includes the following changes:
- Added support for version 2 of EventSub event
channel.follow
. This version must be specified using the new--verison
flag - Fixed bug where command
twitch mock-api generate
was generating 1 entry by default. It now generates 10 as expected. - Mock API endpoints Get Channel Chat Badges and Get Global Chat Badges now include fields
title
,description
,click_action
, andclick_url
- Fixed error messaging in command
twitch token
to now surface errors properly - Added flags
--ip
and--port
totwitch token -u
. Defaults are still localhost and 3000 respectively.
Special thanks to @tomihawk, @BarryCarlyon, @iProdigy, and @SputNikPlop for the bug reports, and to @Marenthyu for feedback on the new EventSub WebSocket documentation and functionality.
Changelog
- 762b7f4 Added --ip flag for 'twitch event websocket start'
- 1ebd213 Added SSL support for the EventSub WebSocket server
- 6abe278 Added channel.follow v2, and included backbone for future version changes via --version flag
- b53c296 Eventsub websocket update (#217)
- 73cd305 Fixed tests yet again
- f56f33e Fixed variable crossover causing #196
- 1f3fdda Merge pull request #218 from twitchdev/chat-badge-endpoints-update
- 25dfc79 Merge pull request #220 from twitchdev/follows-v2
- dad323d Merge pull request #222 from twitchdev/fix-221
- f02f16c Merge pull request #223 from twitchdev/eventsub-websocket-ssl
- 58cd529 Tests tests tests
- 092dabf Updated Get Channel Chat Badges and Get Global Chat Badges to include title, description, click_action, and click_url
- 1a9c5a4 twitch token now listens and serves separately, which lets bind errors be focused. Also introduced --ip and --port flags; Fixes #221