voshtomoc

This is a plugin for pidgin for Linux written in C. [Download source] [Download binary (64bit)]

The old version of the plugin for gaim (1.5 or 2.0) [Download source]

What this plugin does

If you have a program that you interact with using STDIN/STDOUT, you can run it with this plugin and have a buddy interact with your program using am IM window. You can specify the interaction to occur with only specific buddies, for all messages or for commands only (specified with a message of the form !CMD[command]), or restrict the interaction to occur only when you are marked as away.

Your external program will receive to STDIN a message from from the plugin: text or command from IM window and optionally, the username of the buddy who sent this message. Whatever your program sends to STDOUT gets sent to your buddy as a reply. Please note: Your program should always reply something and it should flush the buffers for STDOUT. If you do not want to send any message as reply, the output should be the string "<empty>" without quotations and followed by a new line character.

Installing the plugin

Create a new directory in your home folder. Download the source from the link above to that directory. Then run:

This will compile voshtomoc.so and copy it to ~/.purple/plugins

You can then configure the plugin in Pidgin, Tools->Plugins

Configuring the plugin

In pidgin, you can simply use the provided configuration dialog. The file ~/.purple/voshtomoc.conf can also be edited. The format is the same as for the gaim version.

The old version of this plugin (only for gaim) has no interface. You can use the configuration file ~/.gaim/voshtomoc.conf to set things up.

Format of the configuration file:

 number_of_programs 
first_program_name
send_text_from_CMD_only send_username run_only_when_idle
number_of_buddies_allowed_to_use_this_program
first_buddy_name
second_buddy_name
...
second_program_name
...

If a buddy name is *, all buddy names match. If a program name starts with #, the program is marked as inactive.

A sample configuration file is found here.

To reload the configuration file while the plugin is active, use the command vreload in an IM window.

What I use it for

I wrote a little perl script (sh_std) that takes shell commands at STDIN and returns the output to STDOUT. If no output is produced, "<No output>" is returned. This allows me to control my computer through an IM window. Please note this is NOT secure.

Another use I found is that I can run A.L.I.C.E using libaiml and have it chat with my buddies while I am away.