{"id":15442689,"url":"https://github.com/M7mdJs/twitch-tool","last_synced_at":"2025-03-03T00:32:14.139Z","repository":{"id":251716638,"uuid":"838231465","full_name":"M7mdJs/twitch-tool","owner":"M7mdJs","description":"The **Twitch Tool** is a command-line utility for interacting with the Twitch API. It provides features for obtaining access tokens, extracting authorization codes, fetching channel information, and managing settings. This tool is useful for developers and enthusiasts who want to automate the interaction with Twitch API.","archived":false,"fork":false,"pushed_at":"2024-11-13T11:42:34.000Z","size":8,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-13T12:32:04.680Z","etag":null,"topics":["python","python-3","python-script","python3","twitch","twitch-tv","twitchtv","twitter-api"],"latest_commit_sha":null,"homepage":"","language":"Python","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/M7mdJs.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":"2024-08-05T08:11:14.000Z","updated_at":"2024-11-13T11:42:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"31cdfa6b-22dc-4d25-852c-6b35ad631324","html_url":"https://github.com/M7mdJs/twitch-tool","commit_stats":null,"previous_names":["srwitty/twitch-tool","m7mdjs/twitch-tool"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/M7mdJs%2Ftwitch-tool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/M7mdJs%2Ftwitch-tool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/M7mdJs%2Ftwitch-tool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/M7mdJs%2Ftwitch-tool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/M7mdJs","download_url":"https://codeload.github.com/M7mdJs/twitch-tool/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241587784,"owners_count":19986628,"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":["python","python-3","python-script","python3","twitch","twitch-tv","twitchtv","twitter-api"],"created_at":"2024-10-01T19:29:22.963Z","updated_at":"2025-03-03T00:32:14.134Z","avatar_url":"https://github.com/M7mdJs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"```markdown\r\n# Twitch Tool\r\n\r\n## Overview\r\n\r\nThe **Twitch Tool** is a command-line utility for interacting with the Twitch API. It provides features for obtaining access tokens, extracting authorization codes, fetching channel information, and managing settings. This tool is useful for developers and enthusiasts who want to automate the interaction with Twitch API.\r\n\r\n## Features\r\n\r\n- **Token Exchange**: Exchange an authorization code for an access token and save it to a file.\r\n- **Authorization Code Extraction**: Generate an authorization URL, retrieve the authorization code, and save it.\r\n- **Channel Information Retrieval**: Fetch and save channel information from Twitch based on login names.\r\n- **Settings Management**: Save and modify settings like `Client-ID`, `Client Secret`, and `Redirect URI`.\r\n- **Error Handling**: Log errors to `error.json` if any issues arise during API requests.\r\n- **Reload and Clear Settings**: Reload the application or clear settings if needed.\r\n\r\n## Installation\r\n\r\n1. **Clone the Repository**\r\n\r\n   ```bash\r\n   git clone https://github.com/M7mdJs/twitch-tool.git\r\n   cd twitch-tool\r\n   ```\r\n\r\n2. **Install Dependencies**\r\n\r\n   Ensure you have Python 3.x installed. Install the required Python packages using `pip`:\r\n\r\n   ```bash\r\n   pip install requests\r\n   ```\r\n\r\n## Usage\r\n\r\n1. **Run the Tool**\r\n\r\n   Execute the tool from the command line:\r\n\r\n   ```bash\r\n   python twitch_tool.py\r\n   ```\r\n\r\n2. **Main Menu Options**\r\n\r\n   - **1. Start Token Exchange**: Exchange an authorization code for an access token.\r\n   - **2. Get Authorization Code**: Generate an authorization URL, authorize the app, and get the authorization code.\r\n   - **3. Get Channel Info**: Retrieve and save information about a Twitch channel.\r\n   - **4. Clear Settings**: Clear the settings file (`settings.json`).\r\n   - **5. Reload**: Clear the console and reload the main menu.\r\n   - **6. Exit**: Exit the application.\r\n\r\n3. **Token Exchange**\r\n\r\n   - Input your `Authorization Code`, `Redirect URI`, `Client ID`, and `Client Secret`.\r\n   - Tokens will be saved to `tokens.json`.\r\n\r\n4. **Authorization Code**\r\n\r\n   - Set or modify `Client ID` and `Redirect URI`.\r\n   - Generate an authorization URL, open it in a browser, and enter the redirected URL to extract the authorization code.\r\n\r\n5. **Channel Info**\r\n\r\n   - Input the channel `Login Name`.\r\n   - The channel information will be saved to `channel_info.json`.\r\n\r\n## Error Handling\r\n\r\nErrors encountered during API requests are logged to `error.json`. Check this file for details if the tool fails to fetch or save data.\r\n\r\n## Developer\r\n\r\n**[M7md_Js](https://github.com/M7mdJs)**\r\n\r\n- **GitHub**: [github.com/M7mdJs](https://github.com/M7mdJs)\r\n- **Discord**: [M7md](discord.com/users/1091118468155314306)\r\n\r\n\r\nFeel free to reach out if you have any questions or issues. Contributions and feedback are always welcome!\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\r\n```\r\n\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FM7mdJs%2Ftwitch-tool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FM7mdJs%2Ftwitch-tool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FM7mdJs%2Ftwitch-tool/lists"}