-
Notifications
You must be signed in to change notification settings - Fork 0
A command line tool to change the title, category and tags of Twitch livestreams. This is a read-only mirror.
License
danirod/streamtitle
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
StreamTitle StreamTitle is a little tool that I made so that I can change my stream information from the command line. And if you configure it properly, so it can for you. How to configure Go to the Twitch Developer Console (https://dev.twitch.tv/console) and create a new application. The OAuth redirection URL must be set to http://localhost:9300/st-callback but aside from that, you can call the application whatever you want. Grab the client ID and the client secret. Create a file in $XDG_CONFIG_DIR/StreamTitle/config.toml with the following two lines, having the values that are described below. On macOS, the config.toml configuration file has to be created in ~/Library/Application Support/StreamTitle/config.toml. # Replace with the actual values provided by the console client_id = 'x' client_secret = 'x' How to use On first start, or if the refresh token expires or gets invalidated, you will be asked to login again or authorize the application. It will print an URL, open it on your browser and authorize the application. To test the token connection, you can print your stream information with the -current flag. streamtitle -current Current stream information: Title: Golang development Game: 1469308723 Language: en Tags: [Golang Terminal Development] You can use one or many flags to change the stream information. You might need to pass the values in quotes to prevent weird things from happening. - `-title`: set the new stream title: `streamtitle -title "cooking pasta"` - `-game`: set the stream category; you need the category ID (there are Google searches that can tell you the category ID): `streamtitle -game 509670` - `-lang`: set the stream language; use two character ISO code: `streamtitle -lang es` - `-tags`: set the stream tags; provide up to ten alphanumerical strings separated by commas, no spaces: `streamtitle -tags SafeSpace,Role,Retro` A more complete example: streamtitle -title "cooking pasta" -game 509667 -lang en If you find yourself switching between two configurations many times (for instance, if you find yourself changing between two categories or reusing the same set of tags or title for different streams), you might want to look into profiles. A profile is a prerecorded set of title, category, language and tags, which can be saved in the config file. It is possible to ask StreamTitle to set the channel information from a profile. To create a profile, add a table called "profiles". Each nested table defines a profile called with the key of the profile. Each nested table may have up to 4 keys: title (string), language (string), game (number) and tags (string array). [profiles.cooking] game = 509667 language = 'en' tags = [ 'Cooking', 'Dishes', 'IRL' ] [profiles.programming] game = 1469308723 tags = ['Programming', 'Golang'] [profiles.darksouls] game = 490292 title = 'Dark Souls 100% no hit run' tags = ['NoHit', 'NoBackseating', 'DarkSouls'] language = 'en' Properties are not mandatory. You can skip a field, and it will keep the previous value. So for instance if I don't set the language in my profile then it will not update the value for that field; effectively keeping the same language as before. To use a profile, use the -profile parameter. It will update the channel information to the contents of the profile that has been set. streamtitle -profile darksouls You can also merge a profile with inline parameters. Inline parameters always override the profile content, and this is useful for profiles where you just want to change the game and the tags, but you'd want to provide your own title. streamtitle -profile programming -title 'Time to program some Go!' You can list your available profiles using the following command. It will print each profile name into a separate line. streamtitle -list-profiles Debug You can always inspect what is the application is doing by using the -verbose flag, which will print additional messages to the terminal as the program does its things, such as login, update the channel information or report errors. You can also use the -dry-run option to avoid updating the stream information. In conjunction, using -verbose -dry-run is a way to check what will the final channel information will be set to without actually changing the values. streamtitle -dry-run -verbose -profile cooking -title 'Pizza night' 2024/02/18 Fetching stream information... 2024/02/18 Updating stream information... 2024/02/18 New title: Pizza night 2024/02/18 New game ID: 509667 2024/02/18 New language: en 2024/02/18 Tag list: [Cooking Dishes IRL] 2024/02/18 Skipping update because we are running in dry-run mode
About
A command line tool to change the title, category and tags of Twitch livestreams. This is a read-only mirror.