Go to file
2020-10-21 12:19:19 +02:00
.gitignore purge history since July 2018 2019-01-01 19:35:22 +01:00
credentials.go print everything that is not tweets to stderr (excluding wipe) 2020-10-21 08:34:11 +02:00
drivel.go implement cursoring for timelines 2020-10-21 12:19:19 +02:00
example.template add flags for a template file to format tweets 2020-10-16 19:20:53 +02:00
go.mod go mod update 2020-10-11 13:17:29 +02:00
LICENSE add license 2019-01-13 20:17:24 +01:00
media.go print everything that is not tweets to stderr (excluding wipe) 2020-10-21 08:34:11 +02:00
Readme.md add flags for a template file to format tweets 2020-10-16 19:20:53 +02:00
requests.go add tweet_mode=extended to retweet 2020-10-19 08:05:57 +02:00
types.go add retweet and fav count 2020-10-21 09:03:22 +02:00

drivel

drivel is a Twitter command line interface.

You can find releases on releases.gutmet.org or build it yourself.

build

Checkout the repository and compile with

go build -o drivel

usage

To get up to the last 200 tweets of your home timeline:

drivel home

To get up to the last 200 tweets of your mention timeline:

drivel mentions

To get up to the last 200 tweets of @USER:

drivel timeline [--with-replies] USER

To like a tweet with a specific ID:

drivel like TWEET_ID

To retweet a tweet with a specific ID:

drivel retweet TWEET_ID

To lookup tweets with specific IDs:

drivel lookup TWEET_ID1 [TWEET_ID2 TWEET_ID3 ...]

To wipe your timeline and likes (keepDays defaults to 10, can only reach back as far as the result of the timeline):

drivel wipe [--keep-days=N]

To update your status with optional media upload:

drivel status STATUS [FILE1 FILE2 ...]

To reply to a tweet with a specific ID:

drivel reply TWEET_ID MESSAGE [FILE1 FILE2 ...]

To quote a tweet with a specific ID:

drivel quote TWEET_ID MESSAGE [FILE1 FILE2 ...]

with any number of files, as long as they are .jpg, .png, .gif or .mp4 and smaller than 50 MB each. On first use, drivel will ask you to go to https://apps.twitter.com/app/new, register a new app and create an access token. Those values will be stored in HOME/.drivel/ for later use.

drivel will automatically split large status messages and multiple files into separate tweets belonging to the same thread.

The results of the 'home' and 'mentions' commands can be filtered to exclude certain user names. Create text files 'FilterHome' and 'FilterMentions' in HOME/.drivel and list excluded users line by line.

Each command (other than wipe) can use a go text template to format the printed results - pass a file name to '--template'. The template is executed with a slice of []Status. See types.go for available data fields and example.template for a minimalist example.

final note

drivel does not sanitize/validate user input for now.

final final note

You can buy me a beer here.