VikingBot is yet another simple PHP based IRC bot with support for plugins and secure IRC servers.
The bot requires Unix/Linux shell access with PHP and SSL support in PHP for use against secure IRC servers.
- copy config.dist.php to config.php
cp config.dist.php config.php
- update config.php with correct settings
nano config.php
(undeclared settings will be declared by config.dist.php) - run the start script
sh start.sh
- check log output
cat logs/vikingbot.log
You can define different config files: sh start.sh config=anotherConfigFile.php
The following commands are supported out of the box (aka they are not controlled by plugins):
!exit [adminPassword]
Shuts the bot down!restart [adminPassword]
Restarts the bot!help [command]
Sends a list of commands or the description of a given command to the user
The following commands are supported via the plugins that are installed by default:
!botlog [adminPassword] [rows=10]
The bot responds with the [rows] last rows of the bot log file!memory
The bot responds with memory usage statistics!ping
The bot responds with a pong to say that it is still alive!uptime
The bot responds with the it's uptime!upgrade [adminPassword]
The bot will attempt to upgrade itself and its plugins to the latest version viagit pull
!op <nick> <channel> [adminPassword]
The bot attempts to give user on channel OP status
The following plugins are installed by default:
- fileReaderPlugin
- Outputs data from db/fileReaderOutput.db to channel specified in the plugin, useful for GIT/SVN commit hooks or anything other that should push data to a channel
- botLogPlugin
- Plugin that responds to
!botlog
with the last N rows of the bot's log file
- Plugin that responds to
- memoryPlugin
- Plugin that responds to
!memory
with information about memory usage
- Plugin that responds to
- opPlugin
- Plugin that respons to
!op ...
by oping a user if the bot has op itself
- Plugin that respons to
- pingPlugin
- Plugin that responds to
!ping
with a "PONG".
- Plugin that responds to
- uptimePlugin
- Plugin that responds to
!uptime
with the bots uptime
- Plugin that responds to
- rssPlugin
- Plugin that pulls RSS feeds at specified intervals and outputs new RSS elements to a specified channel
- upgradePlugin
- Plugin that upgrades the bot and its plugins via
git pull
- Plugin that upgrades the bot and its plugins via
- autoOpPlugin
- Plugin that gives +o to everyone or to certain nicks on channel join.
Links to other plugins for VikingBot:
- A NickServ authentication plugin
- A doorway/plugin for Roundup Issue Tracker
- A plugin with various IMDB commands
- A plugin to check if a page is reachable using the popular isup.me website
- A plugin to access the xREL.to API
- A plugin which shows the title of posted YouTube links
- A plugin which converts posted gifs to gfycat/webm links
- A plugin which checks for reposts of urls and credits the original poster
- [A plugin for posting Twitter feed to IRC] (https://github.com/janesmae/VikingBot-Twitter-Plugin)
Make sure to install your plugins into the thirdparty-plugins folder so git ignores them!
If you wish, you can format text the bot sends to a channel/user via your plugins. Use any of the following codes to apply the relevant text color or format. The text will keep the given format until either end of string, or the {reset} tag.
Available colors:
{white}, {black}, {blue}, {green}, {red}, {darkRed}, {purple}, {orange}, {yellow}, {lime}, {teal}, {cyan}, {lightBlue}, {pink}, {grey} & {lightGrey}
Other tags:
{reset}, {bold} & {underline}
Example:
"{bold}i am bold and {red}red{reset}, but now i am normal"
PS: Different IRC-clients may display colors differently, some servers may even deny color usage!
Feel free to contact me via IRC on EfNet/Freenode/Undernet (Ueland).