tweet-hs: Command-line tool for twitter

[ bsd3, library, program, web ] [ Propose Tags ]

a Command Line Interface Tweeter


[Skip to Readme]

Modules

[Last Documentation]

  • Web
    • Web.Tweet
      • Web.Tweet.Exec

Flags

Automatic Flags
NameDescriptionDefault
llvm-fast

Enable build with llvm backend

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.4.0.7, 0.5.0.0, 0.5.0.1, 0.5.1.0, 0.5.1.2, 0.5.2.0, 0.5.3.0, 0.5.3.2, 0.5.3.3, 0.5.3.4, 0.5.3.5, 0.5.3.6, 0.5.3.7, 0.5.3.8, 0.5.3.9, 0.5.3.10, 0.5.3.11, 0.5.3.12, 0.5.3.13, 0.6.0.0, 0.6.0.1, 0.6.1.2, 0.6.1.3, 1.0.0.0, 1.0.0.1, 1.0.1.0, 1.0.1.1, 1.0.1.2, 1.0.1.3, 1.0.1.4, 1.0.1.5, 1.0.1.6, 1.0.1.7, 1.0.1.8, 1.0.1.9, 1.0.1.21, 1.0.1.27, 1.0.1.33, 1.0.1.35, 1.0.1.36, 1.0.1.37, 1.0.1.38, 1.0.1.39, 1.0.1.40, 1.0.1.41, 1.0.1.42, 1.0.1.43, 1.0.2.1, 1.0.2.2, 1.0.2.3
Dependencies ansi-wl-pprint (>=0.6.7.3 && <0.7), authenticate-oauth (>=1.6 && <1.7), base (>=4.9.1.0 && <4.10), bytestring (>=0.10.8.1 && <0.11), composition (>=1.0.2.1 && <1.1), data-default (>=0.7.1.1 && <0.8), directory (>=1.3.0.0 && <1.4), extra (>=1.5.1 && <1.6), http-client (>=0.5.6.1 && <0.6), http-client-tls (>=0.3.4 && <0.4), http-types (>=0.9.1 && <0.10), lens (>=4.15.1 && <4.16), megaparsec (>=5.2.0 && <5.3), MissingH (>=1.4.0.1 && <1.5), optparse-applicative (>=0.13.2.0 && <0.14), split (>=0.2.3.1 && <0.3), text (>=1.2.2.1 && <1.3), tweet-hs (>=0.5.1.2 && <0.6) [details]
License BSD-3-Clause
Copyright 2016 Vanessa McHale
Author Vanessa McHale
Maintainer tmchale@wisc.edu
Category Web
Home page https://github.com/vmchale/command-line-tweeter#readme
Source repo head: git clone https://github.com/vmchale/command-line-tweeter
Uploaded by vmchale at 2017-03-26T03:10:18Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Executables tweet
Downloads 29210 total (110 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2017-03-26 [all 3 reports]

Readme for tweet-hs-0.5.1.2

[back to package description]

Command Line Interface Tweeter

Displaying a user timeline in a terminal.

Config

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 ~/.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

Installation

If you're on Linux/Windows the best way is probably to download the binaries from the releases page here.

To build from source, install haskell stack; on unix systems this is as simple as

wget -qO- https://get.haskellstack.org/ | sh

Then type stack install tweet-hs it will generate an executable called tweet, which is what we want.

Use

View Profiles and timelines

To get your timeline, simply type:

tweet view

To view a user's profile, type e.g.

tweet user pinepapplesmear --color

Sending tweets

To tweet from stderr, run a command that pipes stderr to stdin, i.e.

YOUR_BUILD_COMMAND 2>&1 >/dev/null | tweet input

The tweet executable reads from stdIn only, but you can view the options (replies, number of tweets to thread, etc.) with

tweet --help

This script powers the twitter account @my_build_errors for instance. There's an example bash script for in bash/example

Viewing your timeline

You can also use

tweet view

or

tweet view --color

to view your own timeline.

Completions

The directory bash/ has a mkCompletions script to allow command completions for your convenience.

Library

A 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.

Finer details

The function tweetData will tweet an object of type Tweet. Its use is pretty self-explanatory, but how to best form Tweets is not immediately obvious.

Tweet is an instance of Default so you can use def to get an empty tweet replying to nobody and not fetching extended user data. This is especially useful if you want to use lenses and avoid ugly record syntax, e.g.

set status "This is the new status field" $ def

will give you a Tweet with sensible defaults and the desired text.