Command Line Interface Tweeter (rust version)
Screenshot in alacritty:
The rust version of this tool is somewhat faster than its haskell counterpart, but the haskell one has a couple more features.
Reasons to use tw-rs:
- Faster than other tools (t, tweet-hs, oysttyer)
- Lightweight (5MB executable)
- You know rust and like being able to extend your tools
- You want something that can be called from vim
- Support for colored output
- You want a twitter library for rust.
- Can be used in scripts
- BSD3 licensed
Reasons not to use tw-rs:
- Several features are still in development
- Fewer features than rainbowstream, t, or oysttyer
- You want to extend your tools in haskell
- You want "twitter in a terminal" that rainbowtools or oysttyer provides.
- You want to be able to easily tweet emoji
Generate a token to authorize access to your twitter account by following the guide here
Then place your API keys and OAuth tokens in a file (default is
$HOME/.cred), separated by a line break:
api-key: API_KEY_HERE api-sec: API_SECRET_HERE tok: OAUTH_TOKEN_HERE tok-sec: TOKEN_SECRET_HERE
Note that the labels must in the correct order, and separated from the keys with whitespace.
If you're on Linux/Windows the best way is probably to download the binaries from the releases page here.
Otherwise, you'll have to build from source. To build from source, install cargo with rustup; on unix systems this is as simple as
curl https://sh.rustup.rs -sSf | sh
cargo install tw-rs.
To get your profile, simply type:
$ tw user
To view a user's profile, type e.g.
$ tw user lemondefr
If you have any problems along the way:
$ tw help
$ tw send "YOUR_TWEET_TEXT"
Viewing your timeline
You can also use
$ tw view
to view your own timeline.
- view timeline
- view user profiles
- output with id of tweet
- delete tweet
- reply to tweet
- fav/unfav tweets
- follow/unfollow users
- display quoted tweets alongside
- fetch mentions
- block accounts
bash directory you will find a script that times tw-rs, tweet-hs,
oysttyer, and t fetching tweets. On linux, it consistently places
Comparison to other command-line clients
|Tool||Language||Color output||Interactive||Vim plugin support||Scriptable||Send emoji|
Screenshots (alacritty + solarized dark)
These aren't 100% great benchmarks since twitter's load varies, but tw does come in first consistently. This is done with haskell's bench tool.
tw-rs respects the CLICOLOR behavior defined here. If you wish to disable colorization,
$ export CLICOLOR=0
To make tw use standard unicode in place of symbol fonts, simply set
$ export DISABLE_EMOJI
A library is included. It's fairly easy to use once you have the credentials set up, though it requires a fixed oAuth token.
There is a haskell version of this, with a binary and a library, available here. The haskell library is more complete.