IRC logger in C++. Chat log with cute web interface.

acetone 3c0085bee0 about server page %!s(int64=3) %!d(string=hai) anos
html 8507b66f88 copyright font size %!s(int64=3) %!d(string=hai) anos
screenshots 3c0085bee0 about server page %!s(int64=3) %!d(string=hai) anos
systemd e2782724f6 Update 'systemd/ircabot.service' %!s(int64=3) %!d(string=hai) anos
.gitignore 96f6ea1022 2.0! %!s(int64=3) %!d(string=hai) anos
README.md ecbc8a05a7 up to date %!s(int64=3) %!d(string=hai) anos
applicationdata.cpp 0007350670 disable option for JS and AJAX %!s(int64=3) %!d(string=hai) anos
applicationdata.h 0007350670 disable option for JS and AJAX %!s(int64=3) %!d(string=hai) anos
connectiondata.cpp 74b6910084 empty channel fix %!s(int64=3) %!d(string=hai) anos
connectiondata.h 74b6910084 empty channel fix %!s(int64=3) %!d(string=hai) anos
global.cpp 2d6a6e4fd1 separate search by string and regexp %!s(int64=3) %!d(string=hai) anos
global.h 42c72838f6 blinded message opacity 0.5 %!s(int64=3) %!d(string=hai) anos
html.qrc 00955725a3 latest log and sound notification enabler buttons %!s(int64=3) %!d(string=hai) anos
httpserver.cpp 0007350670 disable option for JS and AJAX %!s(int64=3) %!d(string=hai) anos
httpserver.h 0007350670 disable option for JS and AJAX %!s(int64=3) %!d(string=hai) anos
ircabot.pro 96f6ea1022 2.0! %!s(int64=3) %!d(string=hai) anos
ircclient.cpp fc81fa6fb9 real time mode upgrade %!s(int64=3) %!d(string=hai) anos
ircclient.h f35847d1c7 timid step to real time chat monitor with JS %!s(int64=3) %!d(string=hai) anos
ircclientstarter.cpp e3b04af298 signal/slot connection fix %!s(int64=3) %!d(string=hai) anos
ircclientstarter.h 96f6ea1022 2.0! %!s(int64=3) %!d(string=hai) anos
main.cpp 0007350670 disable option for JS and AJAX %!s(int64=3) %!d(string=hai) anos
version.h 591402d121 2.1.0 %!s(int64=3) %!d(string=hai) anos

README.md

IRCaBot

An undemanding IRC logger with a functional web interface.

Download ircabot

User features
  • The web interface displays the current online for each chat, with nicknames highlighted in the log;
  • Search with regular expressions;
  • To get the log as plain text, you need to substitute the .txt to the link;
  • To hide the message in the log, you can put a dot at the beginning (message will be displayed as "Blinded message");
  • Connection status to the servers is displayed in real time (green check mark or red cross). This allows you to judge whether the log is up to date;
  • Real time reading chat via JavaScript and AJAX magic.

Admin features
  • Unlimited number of servers and chat rooms;
  • Ability to use one nickname for all connections, or unique for each server;
  • Nickname authorization support via NickServ;
  • Customizable triggers for issuing information by bot in chat;
  • Real time reading mode may be disabled via configuration file (for JS haters, etc);
  • Low system resource consumption: connecting to two servers and active use of the web interface requires ~20MB RAM.

First start (Debian/Ubuntu/etc)

# Qt5 C++ framework dependencies:
sudo apt install qt5-default

# Create a configuration file template:
./ircabot --example ./config.conf

# Edit config.conf for your case.

# Start ircabot with new configuration file:
./ircabot --config ./config.conf
Install
  • Edit systemd/ircabot.service;
  • Copy service file to /lib/systemd/system/;
  • Run ircabot: sudo systemctl start ircabot.service;
  • Enable (for autorun at system startup): sudo systemctl enable ircabot.service.