Even better remote notifications with Irssi

by Patrick Connelly posted on July 26, 2013

Last month I wrote a Irssi plugin that pushed messages from Irssi to Beanstalkd. I was pretty happy with it, but I wanted more. So, I’ve improved it. The new version pushes in a slightly more normalized json payload to one of two beanstalk tubes. The tubes are configured for here and away. Then the python script that consumes them either displays it via a notification pop up, if sent to the here tube, or to pushover if sent to the away tube.


  1. Install beanstalkd on a system that both the irssi client (producer) and the system the notifications will be displayed on (consumer) can access via the network
  2. Install and configure the script in irssi
    1. Set beanstalk_server to the address of your beanstalkd server
    2. Set beanstalk_port to the port of your beanstalkd server
    3. Set beanstalk_here_tube to the tube name you want (optional)
    4. **Set beanstalk_away_tube to the tube name you want (optional)
  3. If you want to use pushover for your away notifications, do the following. Otherwise, set your beanstalk_away_tube in step 2D to the same as your beanstalk_here_tube
    1. Purchase pushover on your preferred platform [android / ios]
    2. Create a new application
    3. Copy your application key and user token from your account settings
  4. Download and configure on your consumer system
    1. Run the script python start to generate the directories and basic configuration
    2. Modify the ~/.beanstalk-notify/beanstalk-notify.conf
      1. beanstalk
        1. server: The address / hostname to your beanstalk server
        2. port: The port for your beanstalk server
        3. clear_on_start: If the tubes should be emptied on start. This keeps from flooding you with notifications if the daemon has not been run in a while
        4. away_tube: The name of the tube for pushover messages
        5. away_ignore: A comma separated list of server names (from irssi) to ignore when sending notifications
        6. here_tube: The name of the tube for noticiation messages
        7. here_ignore: A comma separated list of server names (from irssi) to ignore when sending notifications
      2. pushover
        1. app_token: Your application token
        2. user_key: Your user key
        3. notification
          1. use_native: Use the python notification library
          2. type: The type to use. Determines icon
        4. daemon
          1. log_level: The message level for the daemon loggin
    3. Run the script with the updated config python start
    4. Profit!

Better remote notifications with irssi

by Patrick Connelly posted on June 28, 2013

This has been deprecated in for the new script and configuration.


As I wrote about a long time ago I use to use a custom script with irssi to push to mumbles. Well, mumbles has gone defunct and I couldn’t really find a good growl client for linux. Plus with me traveling into the office weekly, it’s just not going to work well since growl is more push notification. So this lead me to research a true messaging system to try it.


Beanstalkd is a simple fast workqueue. Using this, we can push messages (in JSON formatting) to the queue and have the client pull from the queue whenever they want. The nice thing about designing it this way is it can be reused to push other desktop notifications from other systems.

You can find the full repo with updated documentation on github


  • Install beanstalkd on a system that both your irssi client (producer) and the system you want notifications on (consumer)


  • Install the JSON perl module as well as the Queue::Beanstalk module
  • Download the file into your ~/.irssi/scripts/ directory


  • Install pyyaml and beanstalkc. These can be installed via python-pip
  • Download the file onto your consumer system



  • Install the script by running _/script load beanstalkNotify _in irssi
  • Set your server /set beanstalk_server
  • Set your port /set beanstalk_port 12345


  • Modify the file to point to your beanstalkd server
  • Run the consumer script

Future Features

In the future I plan on adding the ability to add an audible notification for these as well. Maybe I’ll add the ability to pick a specific queue instead of the default, but I doubt it.

irssi + mumbles == push notification goodness

by Patrick Connelly posted on August 31, 2009

One of the biggest problems with irssi is that if you run it on remote machine, it can be quite hard to get notifications. For the past couple of years, I’ve been running a plugin called fnotify that writes notifications to a file, then using another script I read that file and print it out with libnotify. There are a couple of problems with this:

  1. libnotify is ugly
  2. takes up diskspace if you don’t clear the queue
  3. requires you to either have the script, or remember the ridiculously long command

Well, these are things of the past. Thanks to mumbles!

First install mumbles from yum (or source) then install the irssi script. Make sure you change the growl_server and growl_password then you are good to go. The script has a dependency on Net::GrowlNotify in perl.

The script uses irssi config variables so you can use /SET growl_server or /SET growl_password to set your growl server/password without having to load/unload the script.