Estou pensando bitlbee e ii talvez.
Minha idéia é basicamente que você tem uma configuração de bitlbee em execução, que se conecta a uma série de serviços de mensagens instantâneas e apresenta um servidor de IRC para você se conectar. Então você usa ii, que é um cliente IRC baseado em fs, ele cria uma estrutura de diretório com todos os canais, consultas e assim por diante que você está conectado. Eu não usei isso sozinho, mas eu acho que você tem uma estrutura semelhante a:
Bitlbee
| (this is the control channel where you communicate with the IM-connections)
|- #bitlbee.out (this is where you read)
|- #bitlbee.in (this is where you write)
|
| (this is the IM-presence you want to communicate with, for example yourself)
|- nickname.out (when you send commands to your bot they end up here)
|- nickname.in (when the bot is saying something to the user it should be append to this file)
|
| (some other user you want to notify about things)
|- othernick.out
|- othernick.in
Então você só tem um script em qualquer idioma que apenas leia e escreva a partir desses arquivos. echo "Hello World" >> bitlbee/nickname.in