diff --git a/README.md b/README.md index 8e2c503..32959d7 100644 --- a/README.md +++ b/README.md @@ -1,49 +1,49 @@ # InnaIrcBot -Another one IRC bot in deep-deep beta. +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: * Apache commons CLI: https://commons.apache.org/proper/commons-cli/ -* GSON: https://github.com/google/gson +* ini4j: http://ini4j.sourceforge.net/ * sqliteJDBC: https://bitbucket.org/xerial/sqlite-jdbc * mongodb-driver-sync: https://mongodb.github.io/mongo-java-driver/3.9/ * JUnit 5: https://junit.org/junit5/ ## Usage ``` - -c, --configuration [ ...] Read Config - -g, --generate [name.config] Generate Config - -v, --version Get application version +java -jar InnaIrcBot.jar [OPTION]... [FILE]... +options: + -c,--configuration Start with configuration + -g,--generate Create configuration template + -h,--help Show this help + -v,--version Show application version ``` -#### Configuration settings -"userNickAuthStyle": "rusnet" or "freenode" +#### Configuration notes +"nickserv auth method" could be either "rusnet" or "freenode" where: * rusnet - send '/nickserv IDENTIFY mySecretPass' * freenode - send '/msg nickserv IDENTIFY mySecretPass' -"logDriver" could be "Files", "SQLite", "MongoDB" or "Zero" +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 -- [ ] Code refactoring -- [ ] QA: good regression testing -- [x] CI/CD Jenkins -- [x] Suppress messages from server or handle them separately from selected worker +- [ ] QA: add good unit tests - [ ] Logs backend workers as threads (SQLite and co. are too slow) -- [x] Logs backend worker for mongodb - [ ] Logs backend worker for redis/redis node -- [ ] Re-implement connection routine -- [ ] Availability to run scripts @ 'ChanelCommander' +- [ ] Scripts support at 'ChanelCommander' - [ ] Docker(+compose) package - [ ] Flood tracker -- [ ] Deep configuration files validation -- [x] Maven ~~or Gradle~~ build - [ ] ncurses-like or/and GUI configuration files (server/chanel setting) editor -- [x] CTCP support for using @ 'ChanelCommander' - [ ] Access roles support (i.e. delegating some rights to another users) - [ ] Logs for application (partly implemented) \ No newline at end of file