PHP
How to write your own IRC bouncer in PHP
So, we're at the revspace party right now and User:deathzor just told he wants to give a workshop PHP. My psybnc bugged, once again, and he started boasting about how easy it is to write your own bouncer in PHP.
Hereby, our friend User:deathzor will share his knowledge of PHP programming!
When?
In a week or 3.
Who wants to join?
User:zkyp
User:junk
User:DipSwitch
Needed knowledge
Understanding basicly scripting, if statements else statements etc.
Time
3 Evenings about 3 hours a evening including some time to play with code yourself and ask questions. ( most likely from 7/11 include time to eat in here )
Evening 1: first hour: Basic Theory and application design, plus some basics of OOP ( just in php ). Second hour: Class setup, in the Bouncer, then expanded this to add some talk about sockets, depends on the skill level of the group i may include some basic network socket understanding. 3rd hour: build time, this is just for people to build there own version.
Evening 2: First hour: Understanding IRC in consept understanding both client and server connection between the irc client and there server, and explaining who the embed sockets in a php class. Second hour: Login Management. 3rd Hour: Code time and question time.
Evening 3: First and Second hour: Link management ( this is gonna take up some time to get right ).
Time and subjects may change when i change the code bases as the current version i build i still under construction.
What?
"Note2self" IRC Client side tutorial step 1, write a socket class for a active socket class step 2, write a irc idle bot, that logs commands received from the server step 3, Log the important functions like channels etc in a database ( the joined channels and remove them on a part command from the same db ).
Login scripting (+MySQL) Write a mysql login script that can check bouncer users for the auth ( using a simple md5 sum )
IRC Server side Write a Reply server, that will do a force join on all the irc channels you need to join.
Other. include disconnect away mode detections