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
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

Viewers also liked

¿Lo sabias? LIX
¿Lo sabias? LIX¿Lo sabias? LIX
¿Lo sabias? LIX
juanchojuancho
 
Portfolio dana matei 2015
Portfolio dana matei 2015Portfolio dana matei 2015
Portfolio dana matei 2015
Daniela Matei
 
MongoDB Days UK: No Compromises SQL Connectivity for MongoDB
MongoDB Days UK: No Compromises SQL Connectivity for MongoDBMongoDB Days UK: No Compromises SQL Connectivity for MongoDB
MongoDB Days UK: No Compromises SQL Connectivity for MongoDB
MongoDB
 
Silenci sve
Silenci sveSilenci sve
Silenci sve
de Nord
 
Fondos inversion primer semestre2013 rentabilidades_rafaelalguacilroldan_inverco
Fondos inversion primer semestre2013 rentabilidades_rafaelalguacilroldan_invercoFondos inversion primer semestre2013 rentabilidades_rafaelalguacilroldan_inverco
Fondos inversion primer semestre2013 rentabilidades_rafaelalguacilroldan_inverco
RAFAEL ALGUACIL ROLDAN
 
Acceleration in Journalism: A Theoretical Approach to a Complex Phenomenon
Acceleration in Journalism: A Theoretical Approach to a Complex PhenomenonAcceleration in Journalism: A Theoretical Approach to a Complex Phenomenon
Acceleration in Journalism: A Theoretical Approach to a Complex Phenomenon
Uwe Krüger
 
Pedro Espino Vargas - Plan negocios empresa_turistica
Pedro Espino Vargas - Plan negocios empresa_turisticaPedro Espino Vargas - Plan negocios empresa_turistica
Pedro Espino Vargas - Plan negocios empresa_turistica
Dr. Pedro Espino Vargas
 
TorinoStoria_n11_nov2016
TorinoStoria_n11_nov2016TorinoStoria_n11_nov2016
TorinoStoria_n11_nov2016cpz
 
e & mobile commerce global market overview 2015
e & mobile commerce global market overview 2015e & mobile commerce global market overview 2015
e & mobile commerce global market overview 2015
Anuj R KHANNA
 
ESTUDIO DE ADSORCION PARA Cr (VI) UTILIZANDO CHACAY (ULEX EUROPAEUS) COMO C...
ESTUDIO DE ADSORCION PARA Cr (VI) UTILIZANDO CHACAY (ULEX EUROPAEUS)   COMO C...ESTUDIO DE ADSORCION PARA Cr (VI) UTILIZANDO CHACAY (ULEX EUROPAEUS)   COMO C...
ESTUDIO DE ADSORCION PARA Cr (VI) UTILIZANDO CHACAY (ULEX EUROPAEUS) COMO C...
Pablo Rozas Riquelme
 
Datos personales
Datos personalesDatos personales
Datos personales
Jhonny Nuñez
 
Monter et réussir son projet musical
Monter et réussir son projet musicalMonter et réussir son projet musical
Monter et réussir son projet musical
Serge Medion
 
BF170
BF170BF170
How to Get Leads to your Business Website
How to Get Leads to your Business WebsiteHow to Get Leads to your Business Website
How to Get Leads to your Business Website
Rebecca Caroe
 
Curso de ms dos
Curso de ms dosCurso de ms dos
Curso de ms dos
picorohijodedios
 
Informe 2011 Medios de Comunicación en Redes Sociales (GAD3) - JUL11
Informe 2011 Medios de Comunicación en Redes Sociales (GAD3) - JUL11Informe 2011 Medios de Comunicación en Redes Sociales (GAD3) - JUL11
Informe 2011 Medios de Comunicación en Redes Sociales (GAD3) - JUL11
Retelur Marketing
 
Pesquisa - Empresas de engenharia, consultoria, manutenção e instalação [Revi...
Pesquisa - Empresas de engenharia, consultoria, manutenção e instalação [Revi...Pesquisa - Empresas de engenharia, consultoria, manutenção e instalação [Revi...
Pesquisa - Empresas de engenharia, consultoria, manutenção e instalação [Revi...
atitudeeditorial
 
Las lenguas de España 6, el vasco
Las lenguas de España 6, el vascoLas lenguas de España 6, el vasco
Las lenguas de España 6, el vasco
Cristina Ferrís Teja
 
Madurez en Gerencia de Proyectos
Madurez en Gerencia de ProyectosMadurez en Gerencia de Proyectos
Madurez en Gerencia de Proyectos
Lourdes Medina PfMP, PMP, ITIL, CSM, MSc
 
Rectus Femoris Injuries. Experience at Sevilla FC
Rectus Femoris Injuries. Experience at Sevilla FCRectus Femoris Injuries. Experience at Sevilla FC
Rectus Femoris Injuries. Experience at Sevilla FC
MuscleTech Network
 

Viewers also liked (20)

¿Lo sabias? LIX
¿Lo sabias? LIX¿Lo sabias? LIX
¿Lo sabias? LIX
 
Portfolio dana matei 2015
Portfolio dana matei 2015Portfolio dana matei 2015
Portfolio dana matei 2015
 
MongoDB Days UK: No Compromises SQL Connectivity for MongoDB
MongoDB Days UK: No Compromises SQL Connectivity for MongoDBMongoDB Days UK: No Compromises SQL Connectivity for MongoDB
MongoDB Days UK: No Compromises SQL Connectivity for MongoDB
 
Silenci sve
Silenci sveSilenci sve
Silenci sve
 
Fondos inversion primer semestre2013 rentabilidades_rafaelalguacilroldan_inverco
Fondos inversion primer semestre2013 rentabilidades_rafaelalguacilroldan_invercoFondos inversion primer semestre2013 rentabilidades_rafaelalguacilroldan_inverco
Fondos inversion primer semestre2013 rentabilidades_rafaelalguacilroldan_inverco
 
Acceleration in Journalism: A Theoretical Approach to a Complex Phenomenon
Acceleration in Journalism: A Theoretical Approach to a Complex PhenomenonAcceleration in Journalism: A Theoretical Approach to a Complex Phenomenon
Acceleration in Journalism: A Theoretical Approach to a Complex Phenomenon
 
Pedro Espino Vargas - Plan negocios empresa_turistica
Pedro Espino Vargas - Plan negocios empresa_turisticaPedro Espino Vargas - Plan negocios empresa_turistica
Pedro Espino Vargas - Plan negocios empresa_turistica
 
TorinoStoria_n11_nov2016
TorinoStoria_n11_nov2016TorinoStoria_n11_nov2016
TorinoStoria_n11_nov2016
 
e & mobile commerce global market overview 2015
e & mobile commerce global market overview 2015e & mobile commerce global market overview 2015
e & mobile commerce global market overview 2015
 
ESTUDIO DE ADSORCION PARA Cr (VI) UTILIZANDO CHACAY (ULEX EUROPAEUS) COMO C...
ESTUDIO DE ADSORCION PARA Cr (VI) UTILIZANDO CHACAY (ULEX EUROPAEUS)   COMO C...ESTUDIO DE ADSORCION PARA Cr (VI) UTILIZANDO CHACAY (ULEX EUROPAEUS)   COMO C...
ESTUDIO DE ADSORCION PARA Cr (VI) UTILIZANDO CHACAY (ULEX EUROPAEUS) COMO C...
 
Datos personales
Datos personalesDatos personales
Datos personales
 
Monter et réussir son projet musical
Monter et réussir son projet musicalMonter et réussir son projet musical
Monter et réussir son projet musical
 
BF170
BF170BF170
BF170
 
How to Get Leads to your Business Website
How to Get Leads to your Business WebsiteHow to Get Leads to your Business Website
How to Get Leads to your Business Website
 
Curso de ms dos
Curso de ms dosCurso de ms dos
Curso de ms dos
 
Informe 2011 Medios de Comunicación en Redes Sociales (GAD3) - JUL11
Informe 2011 Medios de Comunicación en Redes Sociales (GAD3) - JUL11Informe 2011 Medios de Comunicación en Redes Sociales (GAD3) - JUL11
Informe 2011 Medios de Comunicación en Redes Sociales (GAD3) - JUL11
 
Pesquisa - Empresas de engenharia, consultoria, manutenção e instalação [Revi...
Pesquisa - Empresas de engenharia, consultoria, manutenção e instalação [Revi...Pesquisa - Empresas de engenharia, consultoria, manutenção e instalação [Revi...
Pesquisa - Empresas de engenharia, consultoria, manutenção e instalação [Revi...
 
Las lenguas de España 6, el vasco
Las lenguas de España 6, el vascoLas lenguas de España 6, el vasco
Las lenguas de España 6, el vasco
 
Madurez en Gerencia de Proyectos
Madurez en Gerencia de ProyectosMadurez en Gerencia de Proyectos
Madurez en Gerencia de Proyectos
 
Rectus Femoris Injuries. Experience at Sevilla FC
Rectus Femoris Injuries. Experience at Sevilla FCRectus Femoris Injuries. Experience at Sevilla FC
Rectus Femoris Injuries. Experience at Sevilla FC
 

Similar to Phergie, An IRC (and XMPP) Bot

Xmpp and java
Xmpp and javaXmpp and java
Xmpp and java
Soham Sengupta
 
このPHP拡張がすごい!2017
このPHP拡張がすごい!2017このPHP拡張がすごい!2017
このPHP拡張がすごい!2017
sasezaki
 
Gerrit linuxtag2011
Gerrit linuxtag2011Gerrit linuxtag2011
Gerrit linuxtag2011
thkoch
 
introduction to linux desktop draft 5
introduction to linux desktop draft 5introduction to linux desktop draft 5
introduction to linux desktop draft 5
swee meng ng
 
Web_Development_Using_PHP.pdf
Web_Development_Using_PHP.pdfWeb_Development_Using_PHP.pdf
Web_Development_Using_PHP.pdf
AdityaSingh281706
 
Php tutorial
Php tutorialPhp tutorial
Php tutorial
sushil kumar
 
Php tutorial
Php tutorialPhp tutorial
Php tutorial
Nguyễn Hoà
 
Php tutorial
Php tutorialPhp tutorial
Php tutorial
vigneswaran54
 
t1837
t1837t1837
t1837
t1837t1837
Teaming up with robot!
Teaming up with robot!Teaming up with robot!
Teaming up with robot!
Vladimir Tarasov
 
Fluentd and PHP
Fluentd and PHPFluentd and PHP
Fluentd and PHP
chobi e
 
Phase 1 Software Progress ReportCard Czar Android AppCMS.docx
Phase 1 Software Progress ReportCard Czar Android AppCMS.docxPhase 1 Software Progress ReportCard Czar Android AppCMS.docx
Phase 1 Software Progress ReportCard Czar Android AppCMS.docx
randymartin91030
 
PHP: Hypertext Preprocessor Introduction
PHP: Hypertext Preprocessor IntroductionPHP: Hypertext Preprocessor Introduction
PHP: Hypertext Preprocessor Introduction
Oto Brglez
 
Eclipse pdt indigo release review
Eclipse pdt   indigo release reviewEclipse pdt   indigo release review
Eclipse pdt indigo release review
Giang Nguyễn
 
Ansible, Idempotency, and Jenkins
Ansible, Idempotency, and JenkinsAnsible, Idempotency, and Jenkins
Ansible, Idempotency, and Jenkins
tylerturk
 
Search Lucene
Search LuceneSearch Lucene
Search Lucene
Jeremy Coates
 
Php tutorial
Php tutorialPhp tutorial
Php tutorial
Niit
 
Advances in Open Source Password Cracking
Advances in Open Source Password CrackingAdvances in Open Source Password Cracking
Advances in Open Source Password Cracking
n|u - The Open Security Community
 
Insight into progam execution ppt
Insight into progam execution pptInsight into progam execution ppt
Insight into progam execution ppt
Keerty Smile
 

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

Xmpp and java
Xmpp and javaXmpp and java
Xmpp and java
 
このPHP拡張がすごい!2017
このPHP拡張がすごい!2017このPHP拡張がすごい!2017
このPHP拡張がすごい!2017
 
Gerrit linuxtag2011
Gerrit linuxtag2011Gerrit linuxtag2011
Gerrit linuxtag2011
 
introduction to linux desktop draft 5
introduction to linux desktop draft 5introduction to linux desktop draft 5
introduction to linux desktop draft 5
 
Web_Development_Using_PHP.pdf
Web_Development_Using_PHP.pdfWeb_Development_Using_PHP.pdf
Web_Development_Using_PHP.pdf
 
Php tutorial
Php tutorialPhp tutorial
Php tutorial
 
Php tutorial
Php tutorialPhp tutorial
Php tutorial
 
Php tutorial
Php tutorialPhp tutorial
Php tutorial
 
t1837
t1837t1837
t1837
 
t1837
t1837t1837
t1837
 
Teaming up with robot!
Teaming up with robot!Teaming up with robot!
Teaming up with robot!
 
Fluentd and PHP
Fluentd and PHPFluentd and PHP
Fluentd and PHP
 
Phase 1 Software Progress ReportCard Czar Android AppCMS.docx
Phase 1 Software Progress ReportCard Czar Android AppCMS.docxPhase 1 Software Progress ReportCard Czar Android AppCMS.docx
Phase 1 Software Progress ReportCard Czar Android AppCMS.docx
 
PHP: Hypertext Preprocessor Introduction
PHP: Hypertext Preprocessor IntroductionPHP: Hypertext Preprocessor Introduction
PHP: Hypertext Preprocessor Introduction
 
Eclipse pdt indigo release review
Eclipse pdt   indigo release reviewEclipse pdt   indigo release review
Eclipse pdt indigo release review
 
Ansible, Idempotency, and Jenkins
Ansible, Idempotency, and JenkinsAnsible, Idempotency, and Jenkins
Ansible, Idempotency, and Jenkins
 
Search Lucene
Search LuceneSearch Lucene
Search Lucene
 
Php tutorial
Php tutorialPhp tutorial
Php tutorial
 
Advances in Open Source Password Cracking
Advances in Open Source Password CrackingAdvances in Open Source Password Cracking
Advances in Open Source Password Cracking
 
Insight into progam execution ppt
Insight into progam execution pptInsight into progam execution ppt
Insight into progam execution ppt
 

Recently uploaded

Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 

Recently uploaded (20)

Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 

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
  • 4.
  • 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