phergie, an irc (and xmpp) bot

9
Phergie A PHP IRC (and XMPP) Bot

Upload: alexmace

Post on 27-Jun-2015

2.366 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Phergie, An IRC (and XMPP) Bot

PhergieA PHP IRC (and XMPP) Bot

Page 2: Phergie, An IRC (and XMPP) Bot

Short History

Originally written by Matthew Turland (Elazar) as a replacement for the Ai bot in the #phpc IRC channel, written in PHP so users could contribute.

Completely re-written version 2.0 released in January 2010.

52 forks, 104 watchers on GitHub.

Page 3: Phergie, An IRC (and XMPP) Bot

Plugins or: she doesn't look like much

All of Phergie's functionality is provided by plugins.

The bot itself just receives messages and passes them on to plugins for handling.

Examples include: Google, Twitter, Remind, Karma, Beer, Redmine, Url

Page 4: Phergie, An IRC (and XMPP) Bot
Page 5: Phergie, An IRC (and XMPP) Bot

Writing Plugins

Really easy

Extend the Command plugin for doing commands, or the abstract class for more general functionality.

Helper plugins for doing Http requests, etc.

Page 6: Phergie, An IRC (and XMPP) Bot

The XMPP Driver

Phergie 2.0 refactored the IRC connection handling as a driver.

Namesco had already installed an XMPP server.

Phergie's functionality looked useful.

So I wrote an XMPP driver.

Page 7: Phergie, An IRC (and XMPP) Bot

Proved to be amazingly easy to implement.

New classes for the connection, the host mask and events.

Now running reliably on our internal chat server, working towards a public release.

xmpp branch on my fork: http://github.com/alexmace/phergie

Page 8: Phergie, An IRC (and XMPP) Bot

Redmine Plugin

Posts details of tickets mentioned in chat.

Plan to extend to time tracking, issue assignment, sprint information.

Working towards integration into core release of Phergie.

Very easy to write similar plugin for your preferred issue tracking software.

Page 9: Phergie, An IRC (and XMPP) Bot

Links

Phergie - phergie.org

GitHub - http://github.com/phergie

IRC - #phergie on Freenode

Elazar - twitter.com/elazar