| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
An irc bot implemented in php, roughly a clone of irccat with some extra features I liked from other bots thrown in.
Note I run my instance of phpIrcBot under the name overlord. Anywhere you see overlord substitute the name of the ircbot you have configured.
You can currently chose to install via Pear or download/checkout the code.
pear install channel://pear.b3cft.com/IRCBot
Download or clone the project from phpIrcBot Downloads This code currently (Dec 2011) relies on two pear projects:
pear install channel://pear.gradwell.com/autoloader pear install channel://pear.b3cft.com/CoreUtils
From the downloaded/cloned version you can copy the example config in src/data/ircbot.example.ini
From the pear installed version you can copy the example config located in pear's data_dir, if you don't know where this is you can use:
pear config-get data_dir
the pear packaged version will be inside an IRCBot directory.
Copy the ircbot.example.ini to ircbot.ini in the same location and open in the text editor of your choice.
From a downloaded/cloned source src/bin/ircbot.php should suffice.
The build system I'm using is ant and there are several php based build tools used:
pear config-set auto_discover 1 pear install PHP_CodeSniffer pear install PhpDocumentor pear install channel://pear.phpmd.org/PHP_PMD pear install channel://pear.pdepend.org/PHP_Depend pear install channel://pear.phpunit.de/phpcpd pear install channel://pear.phpunit.de/phploc pear install channel://pear.phpunit.de/PHP_CodeBrowser pear install channel://pear.phpunit.de/PHPUnit
You may not want all of those, but phpunit I would heartily recommend and if you are going to commit back, please use the PHP_CodeSniffer to validate to the coding standards.
Running ant will execute a complete unit test and coverage report and dump the output in the build directory.
If you want to see the project coverage, docs or other metrics they should be available here
overlord has some basic commands that are hopefully self explanatory.
For most actions you can direct message overlord or direct a message to him in a channel.
e.g.
/msg overlord help
or in channel overlord: help for both he will return a link to this page.
Some commands he will only direct message back, e.g. asking for a list of commands:
overlord: commands /msg overlord commands
should result in a private message consisting something like
?ampm, ?args, ?hits addop, delop, deop, devoice, join kick, leave, op, part, part ping, showops, stats, uptime, version voice, welcome, welcomeTopic
Commands that are not prefixed with a ? are built in commands to overlord or provided by a plugin.
overlord: join forge overlord: leave forge /msg overlord join forge /msg overlord leave forge
part can also be used and is a synonym for leave.
Channels can be referenced with or without the #prefix.
Should overlord be in a channel in which he is an operator, you can ask overlord to op, deop, voice and devoice you. in a channel
overlord: op overlord: deop overlord: voice overlord: devoice
overlord will grant or remove op and voice privileges. However, be warned, he is fickle.
overlord: op b3cft overlord: deop b3cft etc...
overlord will grant or remove ops and voice from another user (b3cft)
Commands prefixed with a ? are actually scripts located on the filesystem. N.B. you do not need to direct the message to overlord for these commands, but he will understand if you do.
Overlord will execute them passing in parameters based on the requests, roughly as such:
{nick} {channel} {sender} {command} {args...}
so in #frameworks and asking overlord ?mycommand one two three will result in
mycommand overlord \#frameworks b3cft mycommand one two three
being executed on the server.
Send the same message to overlord in a direct message will result in
mycommand overlord null b3cft mycommand one two three
Command can be written in any language as long they are executable in a shell. Any output (currently) is echoed back to the channel or user that orginated the request.
###Example commands
I may take recommendations for new features.
There are several plugins to extend overlord I have currently written.
| Back | FazBrowse Home | New Git URL |