No description
Find a file
2021-01-18 18:16:07 +03:00
ConfigurationExamples Add voice support in config files 2020-03-24 02:01:25 +03:00
src Bug fixes: configuration generation corrected, Join flood methods fixed, Join clone methods fixed 2021-01-18 18:16:07 +03:00
Jenkinsfile Correct Jenkinsfile 2020-10-30 02:08:36 +03:00
LICENSE.txt Maven 2018-12-19 04:48:03 +03:00
pom.xml It was and it is so bad that I refuse to describe changes made. Just one more refactoring iteration >< 2020-10-25 23:39:05 +03:00
README.md Update README.md 2020-11-02 16:58:10 +03:00

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)