innaircbot/README.md
2020-11-02 16:58:10 +03:00

1.8 KiB

InnaIrcBot

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)