{"id":15677881,"url":"https://github.com/lastzero/tweethog","last_synced_at":"2025-05-07T01:45:44.358Z","repository":{"id":64304984,"uuid":"106999774","full_name":"lastzero/tweethog","owner":"lastzero","description":"Stream, filter and react to Twitter status updates on the command line","archived":false,"fork":false,"pushed_at":"2018-09-06T13:41:03.000Z","size":117,"stargazers_count":13,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-31T05:04:18.484Z","etag":null,"topics":["golang","social-media","tweets","twitter","twitter-api","twitter-streaming-api"],"latest_commit_sha":null,"homepage":"","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/lastzero.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2017-10-15T09:41:31.000Z","updated_at":"2021-09-02T10:08:56.000Z","dependencies_parsed_at":"2022-12-06T07:32:58.865Z","dependency_job_id":null,"html_url":"https://github.com/lastzero/tweethog","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lastzero%2Ftweethog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lastzero%2Ftweethog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lastzero%2Ftweethog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lastzero%2Ftweethog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lastzero","download_url":"https://codeload.github.com/lastzero/tweethog/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252798770,"owners_count":21805879,"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":["golang","social-media","tweets","twitter","twitter-api","twitter-streaming-api"],"created_at":"2024-10-03T16:13:30.968Z","updated_at":"2025-05-07T01:45:44.342Z","avatar_url":"https://github.com/lastzero.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"TweetHog - Stream, filter and react to Twitter status updates\n=============================================================\n\n[![Build Status](https://travis-ci.org/lastzero/tweethog.png?branch=master)][ci]\n[![Code Quality](https://goreportcard.com/badge/github.com/lastzero/tweethog)][code quality]\n[![GitHub issues](https://img.shields.io/github/issues/lastzero/tweethog.svg)][issues]\n[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)][license]\n\n[ci]: https://travis-ci.org/lastzero/tweethog\n[code quality]: https://travis-ci.org/lastzero/tweethog\n[issues]: https://github.com/lastzero/tweethog/issues\n[license]: https://github.com/lastzero/tweethog/blob/master/LICENSE\n\nThis tool provides an easy way to stream, filter and optionally\nreact (like, follow, save image, log,...) to tweets based on topic, language and user profile. It is similar\nto commercial SaaS offerings such as TweetFull, RoboLike or Twitfox. However...\n\n* TweetHog is free, fast and doesn't require setting up a server\n* You stay in control of your data and don't need to give access to your Twitter account\n* You can improve your Go skills if you choose to adapt it to your specific needs\n\n![TweetHog](logo.png)\n\nInstallation\n------------\nMake sure you got Go version \u003e= 1.11 installed on your computer.\nIt can be downloaded for free at https://golang.org/dl/.\nYou might need to install Xcode and agree to its license first on OS X.\n\nThen open a terminal and enter:\n\n```\ngo get github.com/lastzero/tweethog/cmd/tweethog\n```\n\nTo update it afterwards:\n\n```\ngo get -u github.com/lastzero/tweethog/cmd/tweethog\n```\n\nNote: Your PATH, GOPATH and GOROOT environment variables\nneed to be set correctly for `go get` to work as expected.\n\nConfiguration\n-------------\nIn order to stream status updates, TweetHog needs access to the Twitter API:\n\n1. Copy [config.example.yml](config.example.yml) to `~/.tweethog`\n2. Create your own Twitter API keys \u0026 tokens on https://apps.twitter.com/app/new\n3. Put them in `~/.tweethog` by replacing the placeholders\n\nHint: You can use the `--config-file` flag to use a different config file.\n\nNote: Due to an [issue](https://github.com/dghubble/go-twitter/issues/61)\nwith the go-twitter library, you won't see any error when using\ninvalid credentials. See comments.\n\nExample Usage\n-------------\n```\n# tweethog filter -t cat\n2017/10/27 07:29:47 Starting Twitter stream...\n\n2017/10/27 07:30:08 m$hawtyyy @xmvdieee (Following: 136, Followers: 167, Likes: 1885)\nsomeone get me a cat\n\n2017/10/27 07:30:43 Eldar @Eldurr (Following: 228, Followers: 477, Likes: 3512)\nI need a vacation, just told the cat to get the fuck outta here\n\n2017/10/27 07:30:50 Oying Alvarado @oyingalvarado (Following: 195, Followers: 9, Likes: 2447)\nThere’s a disconcerting lack of cat tweets today\n```\n\nCommands\n--------\n\nCommand   | Description\n----------|-------------------------------------------------------------\nconfig    | Displays all configuration values\nauth      | Requests a user access token and secret for the Twitter API\nfilter    | Shows all matching tweets without performing any action\nlike      | Automatically likes all matching tweets\nfollow    | Automatically follows all users with matching tweets\nsmartlike | Likes tweets with random delay and rate limit\n\nGlobal Flags\n------------\n\nName                          | Description\n------------------------------|------------------------------------------------------------------\n--config-file value, -c value | YAML config filename (default: \"~/.tweethog\")\n--consumer-key value          | Twitter API consumer key\n--consumer-secret value       | Twitter API consumer secret\n--access-token value          | Twitter API user access token\n--access-secret value         | Twitter API user access token secret\n\n\nFilter Flags\n------------\n\nName                          | Description\n------------------------------|------------------------------------------------------------------\n--topic value, -t value       | Stream filter topic e.g. cat, dog, fish\n--lang value, -l value        | Stream filter language e.g. en, de, fr\n--min-followers value         | User min followers (default: 0)\n--max-followers value         | User max followers, 0 for unlimited (default: 0)\n--min-following value         | User min following (default: 0)\n--max-following value         | User max following, 0 for unlimited (default: 0)\n--max-tags value              | Max number of hash #tags (default: 0)\n--max-mentions value          | Max number of @mentions (default: 0)\n--retweets                    | Include tweets starting with RT\n--replies                     | Include tweets starting with @\n--via                         | Include tweets containing via @\n--urls                        | Include tweets containing URLs\n--images-only                 | Only tweets containing images\n\n\nOther Flags\n-----------\n\nName                          | Description\n------------------------------|------------------------------------------------------------------\n--save-images value           | Save all images in a directory\n--json-log value              | Log matching tweets in a file as newline delimited JSON\n\nDefault Values\n--------------\n\nAll of the flags can be set in the config file as a default. Example:\n\n```\nmax-mentions: 1\nmax-tags: 2\nlang: en\nurls: true\nretweets: false\nreplies: false\nvia: false\n```\n\nRun `tweethog config` to see the current values.\n\nAbout\n-----\nThis tool was created by [Michael Mayer](https://blog.liquidbytes.net/about)\nin an attempt to learn Go the agile way: Start with something small that works\nand then refactor and improve. You can use it for free and at your own risk\nunder the terms of the MIT license.\n\nPlease feel free to send an e-mail if you have any questions or just want to say hello.\nContributions are most welcome, even if it's just a bug report or a tiny pull-request to fix a typo.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flastzero%2Ftweethog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flastzero%2Ftweethog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flastzero%2Ftweethog/lists"}