{"id":19512324,"url":"https://github.com/vmchale/command-line-tweeter","last_synced_at":"2025-04-26T04:31:33.710Z","repository":{"id":62435728,"uuid":"74792079","full_name":"vmchale/command-line-tweeter","owner":"vmchale","description":"Tweets in from a pipe","archived":true,"fork":false,"pushed_at":"2020-11-29T02:45:04.000Z","size":6207,"stargazers_count":71,"open_issues_count":5,"forks_count":10,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-17T17:57:43.791Z","etag":null,"topics":["haskell","tweets","twitter","twitter-cli","twitter-client"],"latest_commit_sha":null,"homepage":null,"language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vmchale.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":"2016-11-25T22:43:07.000Z","updated_at":"2025-04-02T13:36:15.000Z","dependencies_parsed_at":"2022-11-01T21:30:33.943Z","dependency_job_id":null,"html_url":"https://github.com/vmchale/command-line-tweeter","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmchale%2Fcommand-line-tweeter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmchale%2Fcommand-line-tweeter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmchale%2Fcommand-line-tweeter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmchale%2Fcommand-line-tweeter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vmchale","download_url":"https://codeload.github.com/vmchale/command-line-tweeter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250931020,"owners_count":21509801,"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":["haskell","tweets","twitter","twitter-cli","twitter-client"],"created_at":"2024-11-10T23:25:29.911Z","updated_at":"2025-04-26T04:31:31.496Z","avatar_url":"https://github.com/vmchale.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Command Line Interface Tweeter\n\n[![Windows build status](https://ci.appveyor.com/api/projects/status/github/vmchale/command-line-tweeter?svg=true)](https://ci.appveyor.com/project/vmchale/command-line-tweeter)\n[![Build Status](https://travis-ci.org/vmchale/command-line-tweeter.svg?branch=master)](https://travis-ci.org/vmchale/command-line-tweeter)\n[![Hackage](https://img.shields.io/hackage/v/tweet-hs.svg)](http://hackage.haskell.org/package/tweet-hs)\n\n![Displaying a user timeline in a terminal.](https://raw.githubusercontent.com/vmchale/command-line-tweeter/master/screenshot.png)\n\n`tweet-hs` is a command-line tool for twitter. It has more features than\nits [rust counterpart](https://github.com/vmchale/clit-rs) and it's a bit\nslower. \n\nReasons to use tweeth-hs:\n  - Faster than other tools ([t](https://github.com/sferik/t),\n  [oysttyer](https://github.com/oysttyer/oysttyer))\n  - Support for colored output. \n  - Can be used in scripts\n  - You know haskell and like being able to extend your tools. \n  - You want something that can be called from\n    [vim](https://github.com/vmchale/vim-twitter)\n  - You want a twitter library for haskell. \n  - BSD3 licensed \n\nReasons not to use tweet-hs:\n  - You want \"twitter in a terminal\" that [rainbowtools](https://github.com/DTVD/rainbowstream)\n    or [oysttyer](https://github.com/oysttyer/oysttyer) provides. \n  - You want to be able to easily tweet emoji\n\n## Comparison to other command-line clients\n\n| Tool | Language | Color output | Interactive | Vim plugin support | Scriptable | Send emoji |\n| ---- | -------- | ------------ | ----------- | ------------------ | ---------- | ---------- |\n| tw | Rust | x |   | x | x |  |\n| rainbowstream | Python | x | x |  |  | x |\n| oysttyer | Perl |  | x |  | ½ |  |\n| tweet-hs | Haskell | x |  | x | x |  |\n| t | Ruby | ½ |  |  | x |  |\n\n## Config\nGenerate a token to authorize access to your twitter account by following the guide [here](https://dev.twitter.com/oauth/overview/application-owner-access-tokens)\n\nThen place your API keys and OAuth tokens in a file `~/.cred.toml`, as in the\nfollowing example:\n\n```\napi-key = \"API_KEY_HERE\"\napi-sec = \"API_SECRET_HERE\"\ntok = \"OAUTH_TOKEN_HERE\"\ntok-sec = \"TOKEN_SECRET_HERE\"\n```\n\n## Installation\n\nIf you're on Linux/Windows the best way is probably to download the binaries\nfrom the releases page [here](https://github.com/vmchale/command-line-tweeter/releases).\n\nTo build from source, install [haskell stack](https://docs.haskellstack.org/en/stable/README/#how-to-install); on unix systems this is as simple as\n\n```\nwget -qO- https://get.haskellstack.org/ | sh\n```\n\nThen type `stack install tweet-hs` it will put an executable called `tweet` on your path.\n\n## Use\n\n### View Profiles and timelines\n\nTo get your timeline, simply type:\n\n```\ntweet view\n```\n\nTo view a user's profile, type e.g.\n\n```\ntweet user NateSilver538 --color\n```\n\n### Sending tweets\n\nTo send a tweet:\n\n```\ntweet send \"This is my tweet\"\n```\n\n#### Input from stdin\nTo tweet from stderr, run a command that pipes stderr to stdin, i.e.\n\n```\nstack build \u0026\u003e/dev/null | tweet input\n```\n\nThe `tweet` executable reads from stdin only, but you can view the options (replies, number of tweets to thread, etc.) with\n\n```\ntweet --help\n```\n\nThis script powers the twitter account [@my\\_build\\_errors](https://twitter.com/my_build_errors) for instance. There's an example bash script for in `bash/example`\n\n### Viewing your timeline\n\nYou can also use\n\n```\ntweet view\n```\n\nor \n\n```\ntweet view --color\n```\n\nto view your own timeline.\n\n### GHCi integration\n\nYou can define the following in your `~/.ghci`\n\n```haskell\n:def tweet (\\str -\u003e pure $ \":! tweet send \\\"\" ++ str ++ \"\\\"\")\n```\n\n### Completions\n\nThe directory `bash/` has a `mkCompletions` script to allow command completions for your convenience.\n\n## Library\n\nA haskell package is included. It's fairly easy to use once you have the credentials set up, with two main functions: `thread` and `basicTweet`: the first for threading your own tweets or replying to someone else's and the second for just tweeting.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvmchale%2Fcommand-line-tweeter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvmchale%2Fcommand-line-tweeter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvmchale%2Fcommand-line-tweeter/lists"}