{"id":13338821,"url":"https://github.com/tomaarsen/TwitchRhymeBot","last_synced_at":"2025-03-11T10:32:03.755Z","repository":{"id":109767115,"uuid":"185000019","full_name":"tomaarsen/TwitchRhymeBot","owner":"tomaarsen","description":"Twitch bot that periodically responds to messages with a rhyme","archived":false,"fork":false,"pushed_at":"2020-04-06T09:51:58.000Z","size":23,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-03T00:05:24.346Z","etag":null,"topics":["bot","python","rhyme","rhyming","twitch","twitch-bot","twitchbot"],"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/tomaarsen.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":"2019-05-05T08:08:32.000Z","updated_at":"2023-01-06T23:58:41.000Z","dependencies_parsed_at":"2023-06-11T16:31:20.283Z","dependency_job_id":null,"html_url":"https://github.com/tomaarsen/TwitchRhymeBot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomaarsen%2FTwitchRhymeBot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomaarsen%2FTwitchRhymeBot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomaarsen%2FTwitchRhymeBot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomaarsen%2FTwitchRhymeBot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tomaarsen","download_url":"https://codeload.github.com/tomaarsen/TwitchRhymeBot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243015481,"owners_count":20222086,"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":["bot","python","rhyme","rhyming","twitch","twitch-bot","twitchbot"],"created_at":"2024-07-29T19:17:22.222Z","updated_at":"2025-03-11T10:32:03.726Z","avatar_url":"https://github.com/tomaarsen.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TwitchRhymeBot\nTwitch bot that periodically responds to messages with a rhyme   \n\n---\n# Note\n\nThis program relies on a database generated by an outdated version of the [TwitchMarkovChain](https://github.com/CubieDev/TwitchMarkovChain) program. As a result, this program cannot easily be used.\n\n---\n# Explanation\n\nWhen the bot has started, it will start listening to chat messages in the channel listed in the settings.txt file. Every \"cooldown\" seconds, as listed in the settings.txt file, the bot will respond to a message with a rhyme. The bot will try to ensure that the sound of the final word of the input message from the random chat user and the output message from the bot have the same sound. It will also try to match the syllable count of both messages.\n\n---\n\n# Example\n\u003cpre\u003e\u003cb\u003e\nInput:  \"its kinda useless\"\nOutput: \"Good job regardless\"\n\nInput:  \"Face your crimes!\"\nOutput: \"were great times\"\n\nInput:  \"bloody and stuff\"\nOutput: \"This game is tough\"\n\u003c/b\u003e\u003c/pre\u003e\n\n---\n\n# Settings\nThis bot is controlled by a settings.txt file, which looks like:\n```\n{\n    \"Host\": \"irc.chat.twitch.tv\",\n    \"Port\": 6667,\n    \"Channel\": \"#\u003cchannel\u003e\",\n    \"Nickname\": \"\u003cname\u003e\",\n    \"Authentication\": \"oauth:\u003cauth\u003e\",\n    \"Cooldown\": 300\n}\n```\n\n| **Parameter**        | **Meaning** | **Example** |\n| -------------------- | ----------- | ----------- |\n| Host                 | The URL that will be used. Do not change.                         | \"irc.chat.twitch.tv\" |\n| Port                 | The Port that will be used. Do not change.                        | 6667 |\n| Channel              | The Channel that will be connected to.                            | \"#CubieDev\" |\n| Nickname             | The Username of the bot account.                                  | \"CubieB0T\" |\n| Authentication       | The OAuth token for the bot account.                              | \"oauth:pivogip8ybletucqdz4pkhag6itbax\" |\n| Cooldown | The cooldown between rhymes in seconds. | 300 |\n\n\n*Note that the example OAuth token is not an actual token, but merely a generated string to give an indication what it might look like.*\n\nI got my real OAuth token from https://twitchapps.com/tmi/.\n\n---\n\n# Usage\n\u003cb\u003eRun the RhymeBot.py file\u003c/b\u003e\n\n---\n\n# Dependencies\n\u003cb\u003eThis bot relies on having a MarkovChain_xxx.db file being in the same folder as the .py files.\u003c/b\u003e\nMore generally, this bot relies on the \u003cb\u003eTwitchMarkovChain\u003c/b\u003e bot being run in the same folder, to create a database of sentences.\n\n---\n\n# Requirements\n* [Python 3.6+](https://www.python.org/downloads/)\n* [Module requirements](requirements.txt)\u003cbr\u003e\nInstall these modules using `pip install -r requirements.txt`\n\nAmong these modules is my own [TwitchWebsocket](https://github.com/CubieDev/TwitchWebsocket) wrapper, which makes making a Twitch chat bot a lot easier.\nThis repository can be seen as an implementation using this wrapper.\n\n---\n\n# Other Twitch Bots\n\n* [TwitchMarkovChain](https://github.com/CubieDev/TwitchMarkovChain)\n* [TwitchAIDungeon](https://github.com/CubieDev/TwitchAIDungeon)\n* [TwitchGoogleTranslate](https://github.com/CubieDev/TwitchGoogleTranslate)\n* [TwitchCubieBotGUI](https://github.com/CubieDev/TwitchCubieBotGUI)\n* [TwitchCubieBot](https://github.com/CubieDev/TwitchCubieBot)\n* [TwitchRandomRecipe](https://github.com/CubieDev/TwitchRandomRecipe)\n* [TwitchUrbanDictionary](https://github.com/CubieDev/TwitchUrbanDictionary)\n* [TwitchRhymeBot](https://github.com/CubieDev/TwitchRhymeBot)\n* [TwitchWeather](https://github.com/CubieDev/TwitchWeather)\n* [TwitchDeathCounter](https://github.com/CubieDev/TwitchDeathCounter)\n* [TwitchSuggestDinner](https://github.com/CubieDev/TwitchSuggestDinner)\n* [TwitchPickUser](https://github.com/CubieDev/TwitchPickUser)\n* [TwitchSaveMessages](https://github.com/CubieDev/TwitchSaveMessages)\n* [TwitchMMLevelPickerGUI](https://github.com/CubieDev/TwitchMMLevelPickerGUI) (Mario Maker 2 specific bot)\n* [TwitchMMLevelQueueGUI](https://github.com/CubieDev/TwitchMMLevelQueueGUI) (Mario Maker 2 specific bot)\n* [TwitchPackCounter](https://github.com/CubieDev/TwitchPackCounter) (Streamer specific bot)\n* [TwitchDialCheck](https://github.com/CubieDev/TwitchDialCheck) (Streamer specific bot)\n* [TwitchSendMessage](https://github.com/CubieDev/TwitchSendMessage) (Meant for debugging purposes)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomaarsen%2FTwitchRhymeBot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftomaarsen%2FTwitchRhymeBot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomaarsen%2FTwitchRhymeBot/lists"}