{"id":17200350,"url":"https://github.com/tv42/didyouseethis","last_synced_at":"2025-03-25T08:41:41.801Z","repository":{"id":7654025,"uuid":"9014998","full_name":"tv42/didyouseethis","owner":"tv42","description":"Retweet anything with certain keywords","archived":false,"fork":false,"pushed_at":"2014-11-10T18:17:01.000Z","size":180,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-30T08:13:51.361Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","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/tv42.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":"2013-03-25T20:15:13.000Z","updated_at":"2017-12-19T09:42:51.000Z","dependencies_parsed_at":"2022-09-09T17:13:31.272Z","dependency_job_id":null,"html_url":"https://github.com/tv42/didyouseethis","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/tv42%2Fdidyouseethis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tv42%2Fdidyouseethis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tv42%2Fdidyouseethis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tv42%2Fdidyouseethis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tv42","download_url":"https://codeload.github.com/tv42/didyouseethis/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245431694,"owners_count":20614181,"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-10-15T02:07:40.911Z","updated_at":"2025-03-25T08:41:41.774Z","avatar_url":"https://github.com/tv42.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"didyouseethis -- Retweet anything with certain keywords\n=======================================================\n\nThis service will allow you to run a Twitter bot that retweets\nanything matching its criteria. One way of using it would be to have a\nprotected account retweet things you might be interested in, and then\nletting select people follow that protected account.\n\nTo install, you'll need a working Go setup. Then run:\n\n    go get github.com/tv42/didyouseethis/cmd/didyouseethis-save\n    go get github.com/tv42/didyouseethis/cmd/didyouseethis-retweet\n\nAnd now your GOPATH's bin directory should have the commands.\n\nTo use, you'll need to register a Twitter app, and put its key in a\nYAML config file, along with the keywords you want to track:\n\n    oauth:\n      key: KEY_GOES_HERE\n      secret: SECRET_GOES_HERE\n    keywords:\n    - orange juice\n    - milk\n\nFor keywords, each word in a single line has to match; any item\nmatching means tweet is included.\n\nTest them out by running:\n\n    mkdir state\n    didyouseethis-save MY_CONF_FILE.yaml state \u0026\n    didyouseethis-retweet MY_CONF_FILE.yaml state\n\nOn the first run, you will be asked to authorize the app; once the\nauthorization is ok, the commands will run in batch mode.\n\nThe above commands will exit on errors, and expect to be run under a\ndaemon supervisor that restarts them.\n\nYou are responsible for following Twitter's policies; there are plenty\nof details where didyouseethis does not currently enforce correct\nbehavior.\n\nThe code is still uglier than it should be, but hey, it works!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftv42%2Fdidyouseethis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftv42%2Fdidyouseethis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftv42%2Fdidyouseethis/lists"}