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

acetone 74b6910084 empty channel fix 2 years ago
html 6236192174 nicks color 2 years ago
screenshots ebf6508a53 screenshots added 2 years ago
systemd b4e6709f57 systemd service 2 years ago
.gitignore 96f6ea1022 2.0! 2 years ago
README.md dbc3cda1d5 readme 2 years ago
applicationdata.cpp 74b6910084 empty channel fix 2 years ago
applicationdata.h 96f6ea1022 2.0! 2 years ago
connectiondata.cpp 74b6910084 empty channel fix 2 years ago
connectiondata.h 74b6910084 empty channel fix 2 years ago
global.cpp 7cc439956f Web content caching 2 years ago
global.h 7cc439956f Web content caching 2 years ago
html.qrc 96f6ea1022 2.0! 2 years ago
httpserver.cpp 4a5086a600 root date link for middle path 2 years ago
httpserver.h f6c1d02351 the god of http headers 2 years ago
ircabot.pro 96f6ea1022 2.0! 2 years ago
ircclient.cpp 74b6910084 empty channel fix 2 years ago
ircclient.h 0f2aad299b Hot fixes for QDir 2 years ago
ircclientstarter.cpp 96f6ea1022 2.0! 2 years ago
ircclientstarter.h 96f6ea1022 2.0! 2 years ago
main.cpp 74b6910084 empty channel fix 2 years ago
version.h a78db0a110 version to release 2 years ago

README.md

IRCaBot

An undemanding IRC logger with a functional web interface.

User futures
  • 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.

Admin futures
  • 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;
  • 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.