TinyBot – An IRC Bot

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.

 

One Reply to “TinyBot – An IRC Bot”

  1. #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

Leave a Reply

Your email address will not be published. Required fields are marked *