Experience seems to show that development of the official BeBot is likely to lag behind what module creaters are going to come up with. So to better support module coders, I think there should be a "official" place to store functions that can be used by mutiple modules.
The idea is that the distributed BeBot (.zip, .tar.gz, svn, etc.) should never contain a lib-custom.php. The bot should create the lib-custom.php below if it doesn't exisit, but if lib-custom.php already exisits nothing should ever happen to it.
<?
// lib-custom.php - Custom Functions.
$custom = new Custom($bot);
$bot -> custom = &$custom;
// The Class itself...
class Custom
{ // Start Class
var $bot;
// Constructor: Hands over a referance to the "Bot" class.
function Custom (&$bot)
{
$this -> bot = &$bot;
}
// Custom Functions Below this line.
} // End of Class
?>
Module developers can add functions they reuse often in their modules to lib-custom.php and call them like: $this -> bot -> custom -> functionname(); When a module is announced, the author would included "add this to lib-custom.php."
A good function may make it's way from lib-custom.php to an official BeBot core module in the next stable release.