No description
Find a file
Dmitry Isaenko d6ccf25775 Fix bugs #2
2020-11-01 20:25:03 +03:00
ConfigurationExamples Add voice support in config files 2020-03-24 02:01:25 +03:00
src Fix bugs #2 2020-11-01 20:25:03 +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 Cleanup 2020-10-20 18:19:20 +03:00

InnaIrcBot

Another one IRC bot in deep-deep beta.

License

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

Used libraries:

Usage

 	-c, --configuration <name.config> [<name1.config> ...]	Read Config
 	-g, --generate	[name.config]		Generate Config
 	-v, --version						Get application version

Configuration settings

"userNickAuthStyle": "rusnet" or "freenode"

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

"logDriver" 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.

TODO:

  • Documentation
  • Code refactoring
  • QA: good regression testing
  • CI/CD Jenkins
  • Suppress messages from server or handle them separately from selected worker
  • Logs backend workers as threads (SQLite and co. are too slow)
  • Logs backend worker for mongodb
  • Logs backend worker for redis/redis node
  • Re-implement connection routine
  • Availability to run scripts @ 'ChanelCommander'
  • Docker(+compose) package
  • Flood tracker
  • Deep configuration files validation
  • Maven or Gradle build
  • ncurses-like or/and GUI configuration files (server/chanel setting) editor
  • CTCP support for using @ 'ChanelCommander'
  • Access roles support (i.e. delegating some rights to another users)
  • Logs for application (partly implemented)