Skip to main content

Twitter suite for Weechat.

Project description

Daniël Franke (@ainmosni) <daniel[at]ams-sec[dot]org>

Welcome to the wonderful world of weetwit, a plugin that will transform weechat to a (soon-to-be) fully-featured twitter client.


  • Realtime streaming timeline.
  • Updating, replying and retweeting according to Twitter standards.
  • Aware of twitter URL shortening.
  • Tools to query users and status updates.
  • Able to (un-)follow directly from weechat.
  • Share updates with IRC.


Before you can use it, you have to “create” a new application at twitter, the reason for this is that I can’t include the application keys without them becoming public knowledge. You can create the application at Twitter. The application needs read/write access.

First we need to install the module:

Installation through pip:

# pip install weetwit
$ Copy the plugin to ~/.weechat/python

Installation from source:

# cd /path/to/source/files
# pip install tweepy
# python install
$ cp plugin/ ~/.weechat/python

Configuration of weechat:

] /python load
] /set plugins.var.python.weetwit.access_token access_token_goes_here
] /set plugins.var.python.weetwit.access_token_secret access_token_secret_goes_here
] /set plugins.var.python.weetwit.consumer_key consumer_key_goes_here
] /set plugins.var.python.weetwit.consumer_secret consumer_secret_goes_here
] /python reload weetwit

You should now have a running weetwit.

Configuration parameters

There are multiple configuration parameters you can alter, here is a short description of them.

  • plugins.var.python.weetwit.show_in_current: Show the timeline in the current window.
  • plugins.var.python.weetwit.storage_dir: The location of where all the weetwit related files will be kept.
  • plugins.var.python.weetwit.timelined_location: The location of the timelined monitoring daemon.

Weechat commands

Many commands take <status identification> as argument, this can either be the ID of the status or a screen_name. In case of the screen_name, we will use the ID of last status by screen_name. (Note: if screen_name hasn’t showed up in your timeline, this won’t work.)

  • /tweet <status>
    • Update your status, this can be 140 characters long. URLs will be shortened using by twitter.
  • /tinfo <status identification>
    • Shows more detailed information about a status update.
  • /treply [.]<status identification> <message>
    • Replies to the relevant status update, this will always start with the @screen_name of the person the status belonged to, if the identification is prefixed with a dot, a dot will be prepended to the message so that your other followers will see it as well.
  • /retweet <status identification> [message]
    • Retweets the relevant status update, if [message] is present this will prepended to the retweet.
  • /tshare <status identification>
    • Shares the relevant status update with the current IRC channel.
  • /twhois <screen_name>
    • Displays information about screen_name.
  • /tfollow <screen_name>
    • Follows screen_name.
  • /tunfollow <screen_name>
    • Unfollows screen_name.


Q:Why does your script spawn an extra python process?
A:Because weechat doesn’t support background threads, and blocks on long running operations, this process is what monitors your timeline.
Q:I don’t want those ugly STATUSIDs in my weetwit buffer.
A:Add a filter like this: “/filter add statusid python.weetwit * [#STATUSID:” now you can toggle between them hidden and visible, depending on your needs.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for weetwit, version 0.6.3
Filename, size File type Python version Upload date Hashes
Filename, size weetwit-0.6.3.tar.gz (13.8 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page