This Program is an alternative version of the Twitch Developer Rig.
Primarilly this works as a glorified Rest Client but handles the required JWT generation or App Access Token generation and maintance as needed.
Generally it should serve as a "test tool" and not used to manage a live extension, but you could, saves you writing your own Bits Product, or Extension Config Managment tool! If you do so it's at your own risk!
Check out more Screenshots
This is an Electron App, so it maybe installed from the GitHub releases tab. It should also update from GitHub as new versions are released on GitHub. (Needs testing as I've never done Electron updates via GitHub)
It is Code Signed with the Publisher Barry Carlyon
You can download the latest version from here on GitHub under releases
You can use Windows "Add and Remove Programs" to uninstall the program.
You may need to manually remove data stored in the data/config storage location below.
Data is stored in the following location
%appdata%/BarryCarlyonTwitchExtensionTools/
In the file config.json
Which follows the format:
{
"extensions": {
...
"a_client_id": {
"name": "Your Entered Name",
"client_id": "",
"extension_secret": "base 64 encoded secret",
"user_id": "Twitch owner ID"
},
...
"a_client_id_with_secret": {
"name": "Your Entered Name",
"client_id": "",
"extension_secret": "base 64 encoded secret",
"client_secret": "a client API secret",
"user_id": "Twitch owner ID",
"access_token": "A recently generated App Access Token"
}
...
},
"active": {
"client_id": "Selected active Extension ClientID set to use",
"version": "Selected Version to talk to"
},
"window": {
"size": [ width, height ],
"position": [ x, y ]
}
}
⭐ Tip: If you open the Application and the window has gone missing, close the app, open config.json
for editing and completely reset "window"
to {}
and then reopen the app, it'll reset to default display, top left. The App does try to magically 0,0 the window if this happens but it might need a hand!
- Get Extension Configuration Segment
- Set Extension Configuration Segment
- Set Extension Required Configuration
- Send Extension PubSub Message
- Send Extension Chat Message
- Get Extensions
- Simulation of the Extension Details page for the selected version of an Extension
- Test different Versions of an Extension against the API.
If a Key Sets Extension API Client Secret is Provided, alllowing the generation of client credentials
- Convert UserName to UserID for various endpoints via Get Users
- Get Extension Bits Products
- Update Extension Bits Product
- Get Extension Transactions
- Extension View simulation, this might get explored but it's not gonna be as effective as actually testing on the Twitch Website itself (when in localtest).
- Uses Electron to provide as a Desktop App
- Uses Bootstrap for primary layout
- Uses GitHub for update delivery and code management
- JWT tokens are generated inside the App via auth0/node-jsonwebtoken, as apposed to "ClientSide" like this example
- A number of sindresorhus Electron Modules.
Basically this app is a "save my Extension configs" Insomnia-esque Rest Client. That wraps the main Extension functions in a handy Application. With some extra features!
Insomnia is a Rest client. I have written a Plugin for Insomnia to aid with JWT generating inside Insomnia itself. You can find that here on Github
If you break your extension from using this tool it's your own fault and the author(s) accept no responsbility for problems caused to your extension from using this tool. Granted the worse thing you might do is deprecate a bits product you actually needed.....
This project is Licensed under Do What The F*ck You Want To Public License, so Just Do What the F*ck you want to!
This is an Electron Project
To run locally, after cloning, just
$ npm install
$ npn run start
Thank you for the help I want to give you beer/coffee money -> Check the Funding/Sponsor details