Come check us out on IRC: / #mpibot


Welcome to mpiBot! mpiBot is meant to be an extendable, simple, install-at-home piece of software to manage IRC and Instant Messaging protocols from one place. mpiBot is a very old project. See Project History for more. Unfortunately, I'm just now getting around to adding all the features I wanted in mpiBot.

If you seen us over at Google Code, don't go there anymore. I moved it back to because of so many privacy concerns with Google Code.

My philosophy is that instant messaging and communication is the core component of the internet. I just want to be able to harness all posssible protocols and networks, in one place, and make it so other people can extend, automate, and use these protocols with ease. Especially with a simple, easy, well known language such as PHP (and, you could extend it to other languages easily as well.) To be able to save chat logs, setup auto responses, and have 24/7 online presence . In addition, not restricting a protocol to a specific arena – for example, there is no AIM client for my cellphone. See my goal of a web client to fully understand what I'm talking about. Ultimate, clean communication – forever free – not reliant on a central point of service (e.g. NOT SaaS)

mpiBot is BSD/MIT Licensed. Pick your license, we don't care. You can happily use it for commercial purposes. All we ask is the copyrights remain intact and we are not held responsible for mishaps.

What can it do?

  • Full IRC Client Support. Connect to unlimited networks and chat simulatanously in those networks from one IRC connection. See IRC Protocol Notes for some specifics and shortfalls.
  • Easily extendable with PHP- If you know PHP, you can write bot hooks, modules, etc… To do everything from read you RSS feeds in private, or things like full-on AI bots are possible. Additionally, it would not be hard to use shell_exec() in PHP to extend it to any programming language that can execute and either print or return a result (or write it to a file, etc if you wanted to write another few lines of PHP.)
  • Full BNC Support [not quite yet, I am actively developing this, should be done in a couple of weeks, max]]
  • Short-Term Planned: MSN/Google Talk/Facebook/AIM/ICQ Support (in that order). So you can use an IRC client to talk over IM networks. Technically, XMPP support is just planned. Luckily, Google Talk is a native XMPP network. Recently, both Facebook and MSN have opened up their doors and are running XMPP “gateways”, allowing any XMPP client to talk over their network (although, seemingly, it's not their native or internal protocol). I may end up using the native MSN protocol eventually if MSN/XMPP isn't great. However, in that case, XMPP would be added first, then MSN's own protocol. AIM and ICQ seem to use their own proprietary protocol (the same protocol) called OSCAR. There is also the TOC2 protocol which is “Talk to OSCAR” but frankly, if I'm going to do this, I might as well write a native OSCAR client implementation.
  • Longer-Term Planned: Eventually, I'd like a web interface for mpiBot. To be specific, a web client that spoke in no native protocol other than HTML. The bot would decide how to format it based on which protocols and connections were active. So the end result would be something like Tril*ian, with IRC support, but a lot better [not flash], and open source.
  • Wish I could Plan: Skype support. But it's unlikely it will ever happen, or if it does, it's not going to work well. I just want to be able to do text chat in Skype, but the big bad wolf Microsoft®©™ doesn't seem to allow it. There used to be a Open Source Skype implementation but Microsoft shut it down with DMCA. This is the evil that people spoke of when we all said “DMCA was a bad idea”, but that's another story. It doesn't seem like talking over the net in Skype's protocol is going to be possible anytime soon. However, there is a Skype API. I don't think it's really worth it unless I can somehow get Skype-for-Linux to run on a headless Linux distribution and then intercept and send messages from there (maybe even voice/video?). But, this is on the bottom of my long list unless some startling revelation occurs. Until then, sorry.
  • Planned “fun” stuff: Some of these I need to research a little more, some of them are extremely simple, I just need to finish the bot's foundation completley before moving on to them:
    • rTorrent client, so you can manage torrents via your IRC client (and, eventually, a web client, like ruTorrent, but, nothing like ruTorrent. E.g. text-based management)
    • A pastebin daemon - so I can quickly paste code in my IRC client (to a special “daemon”, think a locally running PasteServ), it will pastebin it and return the URL for me)
    • Eggdrop botnet compatibility, or other popular bots. Does anyone still use eggdrop? :)
    • Gnutella (G2, specifically, it's not really gnutella) and other popular P2P network clients, so mpiBot eventually can be used as a full fledged fileserver. A built-in FTP server seems excessive, but maybe instead the ability to control/manage some popular+secure FTP server. Need to find a list of most popular pure P2P networks and implement them in that order.
    • Some minor e-mail support would be OK - to be able to see from/subject from IMAP/POP3 wouldn't be bad + quick sending e-mail.

Where can I get it?

Currently, you can only get mpiBot via's SVN. Do NOT use Alpha1. It is EXTREMELY outdated. See the mpiBot Code Page at SourceForge. I will add downloads once mpiBot releases some kind of release state, where I think the code would be interesting/useful for anyone except for developers. Currently, the code is really only useful for developers.

Who writes mpiBot?

nezZario does (me). So far, I'm the only person that contributes to the wiki too. It's lonely here.

I want to help write mpiBot, ....

Great, please see the Developer Section of the wiki.

I found a bug or want help