{"id":16980176,"url":"https://github.com/danirod/streamtitle","last_synced_at":"2025-04-05T17:20:18.269Z","repository":{"id":65833573,"uuid":"600427233","full_name":"danirod/streamtitle","owner":"danirod","description":"A command line tool to change the title, category and tags of Twitch livestreams. This is a read-only mirror.","archived":false,"fork":false,"pushed_at":"2024-02-18T13:18:47.000Z","size":43,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"trunk","last_synced_at":"2025-02-11T14:22:51.656Z","etag":null,"topics":["golang","helix-api","twitch","twitch-api","twitch-helix"],"latest_commit_sha":null,"homepage":"https://danirod.es/pkg/streamtitle","language":"Go","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danirod.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-11T13:13:15.000Z","updated_at":"2024-02-17T14:43:59.000Z","dependencies_parsed_at":"2024-06-20T14:09:06.052Z","dependency_job_id":"5a2a0251-c937-4423-8890-331dab3d0f81","html_url":"https://github.com/danirod/streamtitle","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danirod%2Fstreamtitle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danirod%2Fstreamtitle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danirod%2Fstreamtitle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danirod%2Fstreamtitle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danirod","download_url":"https://codeload.github.com/danirod/streamtitle/tar.gz/refs/heads/trunk","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247370573,"owners_count":20928042,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["golang","helix-api","twitch","twitch-api","twitch-helix"],"created_at":"2024-10-14T01:50:07.145Z","updated_at":"2025-04-05T17:20:18.241Z","avatar_url":"https://github.com/danirod.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"StreamTitle\n\n    StreamTitle is a little tool that I made so that I can change my\n    stream information from the command line. And if you configure it\n    properly, so it can for you.\n\n\nHow to configure\n\n    Go to the Twitch Developer Console (https://dev.twitch.tv/console)\n    and create a new application. The OAuth redirection URL must be\n    set to http://localhost:9300/st-callback but aside from that, you\n    can call the application whatever you want. Grab the client ID and\n    the client secret.\n\n    Create a file in $XDG_CONFIG_DIR/StreamTitle/config.toml with the\n    following two lines, having the values that are described below.\n    On macOS, the config.toml configuration file has to be created in\n    ~/Library/Application Support/StreamTitle/config.toml.\n\n        # Replace with the actual values provided by the console\n        client_id = 'x'\n        client_secret = 'x'\n\n\nHow to use\n\n    On first start, or if the refresh token expires or gets\n    invalidated, you will be asked to login again or authorize the\n    application. It will print an URL, open it on your browser and\n    authorize the application.\n\n    To test the token connection, you can print your stream\n    information with the -current flag.\n\n        streamtitle -current\n\n        Current stream information:\n               Title: Golang development\n                Game: 1469308723\n            Language: en\n                Tags: [Golang Terminal Development]\n\n    You can use one or many flags to change the stream\n    information. You might need to pass the values in quotes to\n    prevent weird things from happening.\n\n    - `-title`: set the new stream title: `streamtitle -title \"cooking\n      pasta\"`\n    - `-game`: set the stream category; you need the category ID\n      (there are Google searches that can tell you the category ID):\n      `streamtitle -game 509670`\n    - `-lang`: set the stream language; use two character ISO code:\n      `streamtitle -lang es`\n    - `-tags`: set the stream tags; provide up to ten alphanumerical\n      strings separated by commas, no spaces: `streamtitle -tags\n      SafeSpace,Role,Retro`\n\n    A more complete example:\n\n        streamtitle -title \"cooking pasta\" -game 509667 -lang en\n\n    If you find yourself switching between two configurations many\n    times (for instance, if you find yourself changing between two\n    categories or reusing the same set of tags or title for different\n    streams), you might want to look into profiles.\n\n    A profile is a prerecorded set of title, category, language and\n    tags, which can be saved in the config file. It is possible to ask\n    StreamTitle to set the channel information from a profile.\n\n    To create a profile, add a table called \"profiles\". Each nested\n    table defines a profile called with the key of the profile. Each\n    nested table may have up to 4 keys: title (string), language\n    (string), game (number) and tags (string array).\n\n        [profiles.cooking]\n        game = 509667\n        language = 'en'\n        tags = [ 'Cooking', 'Dishes', 'IRL' ]\n\n        [profiles.programming]\n        game = 1469308723\n        tags = ['Programming', 'Golang']\n\n        [profiles.darksouls]\n        game = 490292\n        title = 'Dark Souls 100% no hit run'\n        tags = ['NoHit', 'NoBackseating', 'DarkSouls']\n        language = 'en'\n\n    Properties are not mandatory. You can skip a field, and it will\n    keep the previous value. So for instance if I don't set the\n    language in my profile then it will not update the value for that\n    field; effectively keeping the same language as before.\n\n    To use a profile, use the -profile parameter. It will update the\n    channel information to the contents of the profile that has been\n    set.\n\n        streamtitle -profile darksouls\n\n    You can also merge a profile with inline parameters. Inline\n    parameters always override the profile content, and this is useful\n    for profiles where you just want to change the game and the tags,\n    but you'd want to provide your own title.\n\n        streamtitle -profile programming -title 'Time to program some Go!'\n\n    You can list your available profiles using the following\n    command. It will print each profile name into a separate line.\n\n        streamtitle -list-profiles\n\nDebug\n\n    You can always inspect what is the application is doing by using\n    the -verbose flag, which will print additional messages to the\n    terminal as the program does its things, such as login, update the\n    channel information or report errors.\n\n    You can also use the -dry-run option to avoid updating the stream\n    information. In conjunction, using -verbose -dry-run is a way to\n    check what will the final channel information will be set to\n    without actually changing the values.\n\n        streamtitle -dry-run -verbose -profile cooking -title 'Pizza night'\n        2024/02/18 Fetching stream information...\n        2024/02/18 Updating stream information...\n        2024/02/18 New title: Pizza night\n        2024/02/18 New game ID: 509667\n        2024/02/18 New language: en\n        2024/02/18 Tag list: [Cooking Dishes IRL]\n        2024/02/18 Skipping update because we are running in dry-run mode\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanirod%2Fstreamtitle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanirod%2Fstreamtitle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanirod%2Fstreamtitle/lists"}