Go to file
Dmitry Isaenko 031b2f5cab
continuous-integration/drone/push Build is passing Details
Adjust releases naming
2022-07-18 22:43:47 +03:00
ConfigurationExamples Add voice support in config files 2020-03-24 02:01:25 +03:00
src Move on Drone, remove malware Jenkins 2022-07-18 22:38:34 +03:00
.drone.yml Move on Drone, remove malware Jenkins 2022-07-18 22:38:34 +03:00
LICENSE.txt Maven 2018-12-19 04:48:03 +03:00
README.md Adjust releases naming 2022-07-18 22:43:47 +03:00
pom.xml Adjust releases naming 2022-07-18 22:43:47 +03:00

README.md

InnaIrcBot

Build Status

InnaIrcBot is IRC bot.

Pet-project created to learn Java in action

License

Source code spreads under the GNU General Public License v3 or higher. Please see LICENSE file.

Used libraries:

Usage

java -jar InnaIrcBot.jar [OPTION]... [FILE]...
options:
 -c,--configuration <arg>   Start with configuration
 -g,--generate <arg>        Create configuration template
 -h,--help                  Show this help
 -v,--version               Show application version

Configuration notes

"nickserv auth method" could be either "rusnet" or "freenode" where:

  • rusnet - send '/nickserv IDENTIFY mySecretPass'
  • freenode - send '/msg nickserv IDENTIFY mySecretPass'

Section [logging] "driver" could be "files", "SQLite", "MongoDB" or "Zero"

  • Files - log everything to files using /yourPathSet/serverName/#chanelName_YYYY-MM-DD.txt format.
  • SQLite - use /yourPathSet/server.db (or /yourPathSet/yourFileName.db) sqlite file.
  • MongoDB - write files to MongoDB. See ConfigurationExamples folder.
  • Zero - do not use any

Running application with '-g' option would create 'file-driven' configuration.

TODO:

  • Documentation
  • QA: add good unit tests
  • Logs backend workers as threads (SQLite and co. are too slow)
  • Logs backend worker for redis/redis node
  • Scripts support at 'ChanelCommander'
  • Docker(+compose) package
  • Flood tracker
  • ncurses-like or/and GUI configuration files (server/chanel setting) editor
  • Access roles support (i.e. delegating some rights to another users)
  • Logs for application (partly implemented)