{"id":20614367,"url":"https://github.com/devincarr/echo","last_synced_at":"2025-03-06T18:43:16.458Z","repository":{"id":27519668,"uuid":"31000541","full_name":"DevinCarr/echo","owner":"DevinCarr","description":"The echo of twitch chat","archived":false,"fork":false,"pushed_at":"2016-05-21T22:51:39.000Z","size":770,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-17T04:12:37.171Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","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/DevinCarr.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}},"created_at":"2015-02-19T04:02:33.000Z","updated_at":"2016-03-23T03:09:25.000Z","dependencies_parsed_at":"2022-09-01T02:12:35.145Z","dependency_job_id":null,"html_url":"https://github.com/DevinCarr/echo","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevinCarr%2Fecho","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevinCarr%2Fecho/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevinCarr%2Fecho/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevinCarr%2Fecho/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DevinCarr","download_url":"https://codeload.github.com/DevinCarr/echo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242268907,"owners_count":20100069,"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":[],"created_at":"2024-11-16T11:12:33.169Z","updated_at":"2025-03-06T18:43:16.440Z","avatar_url":"https://github.com/DevinCarr.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# echo [![Build Status](https://travis-ci.org/DevinCarr/echo.svg?branch=master)](https://travis-ci.org/DevinCarr/echo?branch=master)\nA Twitch.tv IRC echo bot.\n\n## Usage\nThe bot can only currently connect to a [twitch.tv](https://www.twitch.tv/) chat channel, but could technically connect to any host with some alterations to the message parsing.\n\nEcho will listen in on the twitch.tv chat and look for multiple repeated messages and perform a Least Common Substring calculation to provide a similarity metric. If there are enough messages that are close to the same (and the bot hasn't sent a message recently) it will repeat the message into the chat.\n\n## Acquiring\n```shell\n$ git clone https://github.com/DevinCarr/echo.git\n$ cd echo\n$ git submodule update --init --recursive\n```\n\n## Running\n\n### Unix/Linux\n\nRequirements:\n- CMake \u003e= 2.8\n- C++11 compiler:\n  - clang++ \u003e= 3.4\n  - g++ \u003e= 4.8\n\n```shell\nmkdir build\ncd build\ncmake ..\nmake\n```\nExample usage:\n```shell\n./echo\n```\n\n### Windows\nOpen the solution file in the `echo` folder and build with at least VS2015. (hasn't been tested with other Windows compilers)\n\n### Configuration\nAfter run once, a `settings.xml` file will be created for you to put your twitch username and password to login. The settings file will be located in:\n- Windows: `%APPDATA%\\Roaming\\echo`\n- Unix/Linux: `$HOME/.echo`\n\nGet your password using the oauth key generated from [here](http://twitchapps.com/tmi/) and then the channel of the twitch.tv stream.\n\n## Logs\nThe bot wil create a log file (currently stored in the settings folder (see above) in `logs/`.\n\n## Other\nEcho occassionally shows:\n```shell\n\u003c PING\n\u003e PONG :tmi.twitch.tv\n```\nThis is a common response that echo makes to make sure that the twitch IRC doesn't disconnect echo for being AFK. ([Further](https://github.com/justintv/Twitch-API/blob/master/IRC.md))\n\n## Building Tests\n```shell\nmkdir build           # build directory\ncd build\ncmake -Dtest=on ..    # build with tests linked\nmake\nmake unittest         # or ./echo-test\n```\n\n## License\nMIT - (view LICENSE for more information)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevincarr%2Fecho","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevincarr%2Fecho","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevincarr%2Fecho/lists"}