In the class constructor set_time_limit(0); means that the script wont timeout by itself due to a maximum execution time (usually 30 seconds). Hope that answers whoevers question that was.
So it *is* a persistently running script. Some (most?) virtual hosting companies disable the ability to do set_time_limit. Further, running the script persistently would generally only be usable via CLI.. web browsers close.
The other thing is that the bot sometimes disconnects unexpectely if you run if from a browser - but works A LOT better if you run it from a shell/cli.
I would bet its not so unexpected - web has TTL's, and other issues and if the script missed it JUST ONCE, it would time out. So yeah, you'd need to run it from a shell/cli. Since many people don't have that capability, thats why I asked how it worked..
I didn't understand that part, and now I do. Different fundamental assumptions.
And finally, im currently updating this bot to make it bigger and better by using modules - so that a framework bot can be made to do whatever you like by adding other modules to it e.g. chanserv, nickserv, operserv, logging, newsserv, search etc - and by adding a "fake stack" to queue commands/processes so it runs like it uses threads and so speeds it up and keeps a constant flow of data coming in through the socket connection - which also helps to ensure that it never pings out, tests so far have had it online for just over 2 days with no interruptions.
Ill keep you posted as to the arrival of the new one incase anybody wants to have a play with it.
I definitely would. While I don't think its appropriate/perfect for all needs, I see signifigant value in it.