SlideShare a Scribd company logo
Phergie
A PHP 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.
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
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.
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.
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
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.
Links

Phergie - phergie.org

GitHub - http://github.com/phergie

IRC - #phergie on Freenode

Elazar - twitter.com/elazar

More Related Content

PPT
Py Con 2009 Pumping Iron Into Python
PDF
Raspberry pi Board Hardware & Software Setup
PDF
Core python programming tutorial
PPT
Where's the source, Luke? : How to find and debug the code behind Plone
PPTX
How to download and install Python - lesson 2
PDF
Cython compiler
PDF
Introduction to TensorFlow and OpenCV libraries
PDF
Badge Hacking with Nerves Workshop - ElixirConf 2016 - Justin Schneck and Fra...
Py Con 2009 Pumping Iron Into Python
Raspberry pi Board Hardware & Software Setup
Core python programming tutorial
Where's the source, Luke? : How to find and debug the code behind Plone
How to download and install Python - lesson 2
Cython compiler
Introduction to TensorFlow and OpenCV libraries
Badge Hacking with Nerves Workshop - ElixirConf 2016 - Justin Schneck and Fra...

Viewers also liked (20)

PPSX
¿Lo sabias? LIX
PDF
Portfolio dana matei 2015
PPTX
MongoDB Days UK: No Compromises SQL Connectivity for MongoDB
PPSX
Silenci sve
PDF
Acceleration in Journalism: A Theoretical Approach to a Complex Phenomenon
PDF
Pedro Espino Vargas - Plan negocios empresa_turistica
PDF
TorinoStoria_n11_nov2016
 
PDF
e & mobile commerce global market overview 2015
PPT
ESTUDIO DE ADSORCION PARA Cr (VI) UTILIZANDO CHACAY (ULEX EUROPAEUS) COMO C...
DOCX
Datos personales
PDF
Monter et réussir son projet musical
PPTX
How to Get Leads to your Business Website
PDF
Curso de ms dos
PDF
Informe 2011 Medios de Comunicación en Redes Sociales (GAD3) - JUL11
PDF
Pesquisa - Empresas de engenharia, consultoria, manutenção e instalação [Revi...
PDF
Las lenguas de España 6, el vasco
PPTX
Madurez en Gerencia de Proyectos
PDF
Rectus Femoris Injuries. Experience at Sevilla FC
PPTX
10 Tools to save you time
¿Lo sabias? LIX
Portfolio dana matei 2015
MongoDB Days UK: No Compromises SQL Connectivity for MongoDB
Silenci sve
Acceleration in Journalism: A Theoretical Approach to a Complex Phenomenon
Pedro Espino Vargas - Plan negocios empresa_turistica
TorinoStoria_n11_nov2016
 
e & mobile commerce global market overview 2015
ESTUDIO DE ADSORCION PARA Cr (VI) UTILIZANDO CHACAY (ULEX EUROPAEUS) COMO C...
Datos personales
Monter et réussir son projet musical
How to Get Leads to your Business Website
Curso de ms dos
Informe 2011 Medios de Comunicación en Redes Sociales (GAD3) - JUL11
Pesquisa - Empresas de engenharia, consultoria, manutenção e instalação [Revi...
Las lenguas de España 6, el vasco
Madurez en Gerencia de Proyectos
Rectus Femoris Injuries. Experience at Sevilla FC
10 Tools to save you time
Ad

Similar to Phergie, An IRC (and XMPP) Bot (20)

PPT
Php Introduction
PDF
Why I stopped worrying and loved PHP | Codesushi - Krakow 2017
KEY
Matt Gauger - Lamp vs. the world - MKE PHP Users Group - December 14, 2010
PDF
Jabber 101
PDF
Powering your website with realtime data
PDF
Alternative Infrastucture
ODP
Choosing a Web Architecture for Perl
PPS
PHP - History, Introduction, Summary, Extensions and Frameworks
PDF
Make your cheap VM fly
ODP
PHP Training: Module 1
PDF
PDF
Introduction to IRC
KEY
Symfony2 - A Short Introduction
PDF
2013 - Igor Sysoev - NGINx: origen, evolución y futuro - PHP Conference Argen...
PPT
Web servers – features, installation and configuration
PDF
Adding Real-time Features to PHP Applications
PPTX
PHP programmimg
PPTX
PSGI and Plack from first principles
PDF
Linux, Apache, Mysql, PHP
PDF
Php notes 01
Php Introduction
Why I stopped worrying and loved PHP | Codesushi - Krakow 2017
Matt Gauger - Lamp vs. the world - MKE PHP Users Group - December 14, 2010
Jabber 101
Powering your website with realtime data
Alternative Infrastucture
Choosing a Web Architecture for Perl
PHP - History, Introduction, Summary, Extensions and Frameworks
Make your cheap VM fly
PHP Training: Module 1
Introduction to IRC
Symfony2 - A Short Introduction
2013 - Igor Sysoev - NGINx: origen, evolución y futuro - PHP Conference Argen...
Web servers – features, installation and configuration
Adding Real-time Features to PHP Applications
PHP programmimg
PSGI and Plack from first principles
Linux, Apache, Mysql, PHP
Php notes 01
Ad

Recently uploaded (20)

PPTX
Big Data Technologies - Introduction.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Network Security Unit 5.pdf for BCA BBA.
PPT
Teaching material agriculture food technology
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
cuic standard and advanced reporting.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Approach and Philosophy of On baking technology
PDF
Encapsulation theory and applications.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Spectroscopy.pptx food analysis technology
Big Data Technologies - Introduction.pptx
Understanding_Digital_Forensics_Presentation.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
NewMind AI Weekly Chronicles - August'25 Week I
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Review of recent advances in non-invasive hemoglobin estimation
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Network Security Unit 5.pdf for BCA BBA.
Teaching material agriculture food technology
Dropbox Q2 2025 Financial Results & Investor Presentation
cuic standard and advanced reporting.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Digital-Transformation-Roadmap-for-Companies.pptx
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Approach and Philosophy of On baking technology
Encapsulation theory and applications.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
sap open course for s4hana steps from ECC to s4
Spectroscopy.pptx food analysis technology

Phergie, An IRC (and XMPP) Bot

  • 1. Phergie A PHP IRC (and XMPP) Bot
  • 2. 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.
  • 3. 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
  • 5. 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.
  • 6. 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.
  • 7. 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
  • 8. 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.
  • 9. Links Phergie - phergie.org GitHub - http://github.com/phergie IRC - #phergie on Freenode Elazar - twitter.com/elazar