TinyBot is a small IRC bot, programmed for my “linux programming” lecture. It is composed of two parts and features a plugin system.
- TinyIRC – C++ IRC Library
- TinyBot – Bot Core
- SQL Log Plugin
Feel free to use it! I published the sources on GitHub. If you do so, i would be glad to hear from you. Also if you encounter a problem or have any question, don’t hesitate to contact me.
https://github.com/jloehr/IRCBot
TinyIRC
So TinyIRC is an IRC Protocol implementation for clients.The protocol is not fully implemented, but all necessary basics as i needed them for the assignment are included. It’s written in C++ with the usage of some C++11 features. Additionally it is platform independent, but uses the C++ Standard Library.
A manual and additional information are included in the readme file.
TinyBot
TinyBot is the core of the bot. It uses TinyIRC of course and features a plugin system for the actual functionality. It implements the base network communication and server/channel handling. Therefore it is not platform independent, due to sockets, and as the lecture name suggests the bot is written for Linux. Furthermore libev, an event loop system by Marc Lehmann, is used, which is designed for Linux and has some compatibility problems with Windows. Like the TinyIRC library the core is written in C++ with some C++11 features.
A readme file with a manual and additional information is provided as well as a man page.
SQL Log Plugin
The SQL Log Plugin is a sample plugin for the bot. It saves the channel history in a local sqlite file. This history can be printed out by request either into the channel or as private message to the requester. Moreover a lastseen feature is implemented as well. As the library and the core the plugin is written in C++.
The readme file covers a manual and build instructions.
#astalavista
in irc.rizon.net
this msg boot:
need human help pls
astalavista PERL 0:
If you don’t read the first 2 chapter’s you will miss this:
the shebang:
#!/usr/bin/perl #thiss iz the magik line
use strict #this is to larry find out, why
use warnings #this is to larry find out, why
astalavista PERL 1:
perlfaq1: General Questions About Perl
perlfaq2: Obtaining and Learning about Perl
perlfaq3: Programming Tools
perlfaq4: Data Manipulation
perlfaq5: Files and Formats
perlfaq6: Regular Expressions
perlfaq7: General Perl Language Issues
perlfaq8: System Interaction
perlfaq9: Web, Email and Networking