{"id":20083147,"url":"https://github.com/datatags/too-many-icons","last_synced_at":"2025-07-30T07:08:37.014Z","repository":{"id":170138987,"uuid":"498083369","full_name":"datatags/Too-Many-Icons","owner":"datatags","description":null,"archived":false,"fork":false,"pushed_at":"2023-01-03T05:16:12.000Z","size":119,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-02T13:50:54.406Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/datatags.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2022-05-30T20:10:13.000Z","updated_at":"2023-01-03T05:22:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"19f789da-fc43-4dcc-adc6-f3bc6547c531","html_url":"https://github.com/datatags/Too-Many-Icons","commit_stats":null,"previous_names":["datatags/too-many-icons"],"tags_count":0,"template":false,"template_full_name":"twitch4j/twitch4j-minecraft-plugin","purl":"pkg:github/datatags/Too-Many-Icons","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datatags%2FToo-Many-Icons","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datatags%2FToo-Many-Icons/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datatags%2FToo-Many-Icons/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datatags%2FToo-Many-Icons/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/datatags","download_url":"https://codeload.github.com/datatags/Too-Many-Icons/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datatags%2FToo-Many-Icons/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267827503,"owners_count":24150350,"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","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-11-13T15:46:04.405Z","updated_at":"2025-07-30T07:08:36.959Z","avatar_url":"https://github.com/datatags.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Too Many Icons\nThis is a Twitch-Minecraft Integration plugin for making *things* happen when channel points are redeemed. This project is affectionately called [Too Many Icons](https://www.youtube.com/watch?v=Dd0IaBX8cEU\u0026t=1586s), primarily because I thought it was a funny name. I wrote it just as a fun project, so the code probably isn't the highest quality.\n\nToo Many Icons automatically handles refreshing authentication tokens (which is not something that Twitch4J natively supports [as of this writing](https://github.com/twitch4j/twitch4j/issues/175)) and will instantly refund spent channel points if the chosen target for the actions is not online. (Ideally it would 'pause' the rewards if the target is offline, but I'll leave that up to you for reasons mentioned below.) Some fun actions are built-in, but you're encouraged to write your own.\n\nThe project is divided into two separate plugins, `twitch` and `modules`. `twitch` is the core of the plugin and handles the interactions with, well, Twitch. All the channel point rewards are created in `modules`. This split allows you to hotswap the rewards part of the plugin (using [BileTools](https://www.spigotmc.org/resources/54823/), for example) which allows for quick testing without having to restart the whole server each time.\n\nI no longer have access to a Twitch affiliate account to test this with, so it's unlikely I will ever update this. I'm releasing it here in case anybody else (like you!) wants a handy framework for writing these sorts of things. If you do use this, please create an issue or something to link me to your channel; I'd love to see how you're using it!\n\n-----\n\n## Twitch Developer Applications\nTo obtain a `client_id` and `client_secret` to populate in `config.yml`, you can create an app [here](https://dev.twitch.tv/console/apps/create).\n\nAlternatively, you can provide `oauth_token`, which can be generated [here](https://www.twitchtokengenerator.com/) if you do not wish to host the authentication process yourself.\n\nAt least one of these must be provided to interact with the Helix API, which is used to track follows and stream state.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatatags%2Ftoo-many-icons","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdatatags%2Ftoo-many-icons","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatatags%2Ftoo-many-icons/lists"}