aboutsummaryrefslogtreecommitdiff

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 drivel.go credentials.go

usage

To get the last 200 tweets of your home timeline:

drivel home

To get the last 200 tweets of your mention timeline:

drivel mentions

To get the last 200 tweets of @USER:

drivel timeline 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 [--keepDays=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.

example:

$ ./drivel status "First Message"
Did not find /home/alexander/.drivel, creating.
Go to https://apps.twitter.com/app/new to register a new app
and create an access token

Consumer Key: someconsumerkey
Consumer Secret: somesecret
Access Token: sometoken
Access Token Secret: sometokensecret
==> Updated status to 'First Message' with id 1013198854823514112
$
$ ./drivel status "Maxitest Lorem ipsum dolor sit amet, consetetur sadipscing elitr, 
sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, 
sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet 
clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. 
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod 
tempor invidunt ut labor" *.jpg *.mp4 *.gif
==> Uploaded 7-Sins-in-the-Digital-World.jpg with id 1013200017602043904
==> Uploaded DifferenceTechEnthusiasts.jpg with id 1013200023608287234
==> Uploaded disappointednotsurprised.jpg with id 1013200028339507200
==> Uploaded fpalm30c3.jpg with id 1013200033053896704
==> Updated status to 'Maxitest Lorem ipsum dolor sit amet, consetetur sadipscing
elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
Stet clita kasd gubergren, no sea takimata sanctus est' with id 1013200053387874305
==> Uploaded howtoeven.jpg with id 1013200057108135936
==> Updated status to 'Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet,
consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labor'
with id 1013200061533171712
==> Uploaded disgusted-clint-eastwood.gif with id 1013200063978500097
==> Updated status to '' with id 1013200074254450688
==> Uploaded headwall.gif with id 1013200076871696384
==> Updated status to '' with id 1013200088049602562
==> Uploaded KittingUp.mp4 with id 1013200090595545089
==> Updated status to '' with id 1013200101811122178
==> Uploaded SteveHughes_Metal.mp4 with id 1013200104357064704
==> Updated status to '' with id 1013200119813033985

final note

drivel does not sanitize/validate user input for now.

final final note

You can buy me a beer here.