A nod to the Propane for mac which monitors Campfire rooms. This is for Linux users. It has been tested on Ubuntu 8.10 and should work on Debian based systems just fine.
It should be noted that butane is monitor only. Propane allows you to reply to in addition to monitoring campfire rooms.
-
Ruby 1.9.2 – Strongly recommend using RVM. See beginrescueend.com/ for details. Really, it’s worth it!
-
Ubuntu 8.04 (or later, I’d assume)
-
bundler gem
I use the Gnome desktop and I’m not sure about the requirements for libnotify-bin above.
-
Ability to reply. The tinder gem does provide that but butane does not yet make use of it.
Install rvm. See beginrescueend.com
Install ruby 1.9.2
rvm install ruby-1.9.2
Grab the butane source from github
git clone git://github.com/ricktessner/butane.git cd butane
Create the butane gemset with rvm. A .rvmrc is part of the butane repo.
rvm gemset create butane
Install the bundler gem. This is needed to install all the other required gems as listed in Gemfile.lock
gem install bundler
Install the required gems for butane
bundle install
Either login + password or a Campfire token can be used for authentication.
Create a .butanerc in your home directory. It’s in yaml format and here’s what it looks like:
--- mycampfire: :login: rick@email.com :password: mypassword :image: some_small_32x32_image :ssl: true :rooms: First Room: :sticky: rick Git Commits: :sticky: models|specs otheraccount: :token: 012394219adfe10239 :rooms: Light is Nice: :sticky: rick :image: nice_light_32x32_image :ignore: has\s+(left|entered)
Fixed keywords in the above:
-
:login:
-
:password:
-
:token:
-
:image:
-
:ssl:
-
:rooms:
-
:sticky:
-
:ignore:
-
:self_name:
The rest of the items, “mycampfire”, “otheraccount”, “First Room” and “Git Commits”, “Light is Nice” are the names of your accounts and rooms in those accounts.
The :ignore: is used, on a per-room basis, to just flat out ignore messages that match that regexp.
For campfire accounts that are ssl-enabled, you’ll need to use the :ssl: configuration to specify true for such an account. The default is false.
The :self_name: attribute is a per-account setting that should be your full name in the account - your own messages will be filtered out.
The :image: is used for a small 32x32 (or so) image that is used in the notification. This can be done at the account level and/or the room level as well. Any :image: defined for a room is used instead of the account image.
As you’ve guessed by now, it does work with multiple campfire accounts.
There is the “First Room”. Any activity that regexp matches /rick/i will pop up a sticky notification that needs to be clicked away. Ditto for the “Light is Nice” room.
In the “Git Commits” room, any activity that matches the regexp /models|specs/i will again cause a sticky notification to appear.
Starting butane as a daemon
butane start
Run butane attached to the console. This is useful for debugging purposes. Exceptions will appear on the console and give hints as to what’s going wrong.
butane run
Restart the butane daemon
butane restart
Stop the butane daemon
butane stop
Status of the butane daemon
butane status