2018-12-16 17:27:44 +03:00
|
|
|
# InnaIrcBot
|
|
|
|
|
2024-11-21 00:30:09 +03:00
|
|
|
[![status-badge](https://ci.redrise.ru/api/badges/8/status.svg)](https://ci.redrise.ru/repos/8)
|
2022-07-18 22:43:47 +03:00
|
|
|
|
2020-11-02 16:58:10 +03:00
|
|
|
InnaIrcBot is IRC bot.
|
|
|
|
|
|
|
|
_Pet-project created to learn Java in action_
|
2018-12-16 17:27:44 +03:00
|
|
|
|
2020-10-20 03:37:20 +03:00
|
|
|
## License
|
|
|
|
Source code spreads under the GNU General Public License v3 or higher. Please see LICENSE file.
|
2018-12-16 17:27:44 +03:00
|
|
|
|
2020-10-20 18:19:20 +03:00
|
|
|
#### Used libraries:
|
2020-10-20 03:37:20 +03:00
|
|
|
* Apache commons CLI: https://commons.apache.org/proper/commons-cli/
|
2020-11-02 16:58:10 +03:00
|
|
|
* ini4j: http://ini4j.sourceforge.net/
|
2020-10-20 03:37:20 +03:00
|
|
|
* 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/
|
2018-12-16 17:27:44 +03:00
|
|
|
|
2020-10-20 03:37:20 +03:00
|
|
|
## Usage
|
|
|
|
```
|
2020-11-02 16:58:10 +03:00
|
|
|
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
|
2020-10-20 03:37:20 +03:00
|
|
|
```
|
2020-11-02 16:58:10 +03:00
|
|
|
#### Configuration notes
|
|
|
|
"nickserv auth method" could be either "rusnet" or "freenode" where:
|
2018-12-16 17:27:44 +03:00
|
|
|
* rusnet - send '/nickserv IDENTIFY mySecretPass'
|
|
|
|
* freenode - send '/msg nickserv IDENTIFY mySecretPass'
|
|
|
|
|
2020-11-02 16:58:10 +03:00
|
|
|
Section [logging] "driver" could be "files", "SQLite", "MongoDB" or "Zero"
|
2018-12-16 17:27:44 +03:00
|
|
|
* 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.
|
2019-01-27 06:19:31 +03:00
|
|
|
* MongoDB - write files to MongoDB. See ConfigurationExamples folder.
|
2020-11-02 16:58:10 +03:00
|
|
|
* Zero - do not use any
|
|
|
|
|
|
|
|
Running application with '-g' option would create 'file-driven' configuration.
|
2018-12-16 17:27:44 +03:00
|
|
|
|
2020-10-20 03:37:20 +03:00
|
|
|
### TODO:
|
2018-12-16 17:27:44 +03:00
|
|
|
- [ ] Documentation
|
2020-11-02 16:58:10 +03:00
|
|
|
- [ ] QA: add good unit tests
|
2018-12-16 17:27:44 +03:00
|
|
|
- [ ] Logs backend workers as threads (SQLite and co. are too slow)
|
|
|
|
- [ ] Logs backend worker for redis/redis node
|
2020-11-02 16:58:10 +03:00
|
|
|
- [ ] Scripts support at 'ChanelCommander'
|
2018-12-16 17:27:44 +03:00
|
|
|
- [ ] Docker(+compose) package
|
|
|
|
- [ ] Flood tracker
|
|
|
|
- [ ] ncurses-like or/and GUI configuration files (server/chanel setting) editor
|
2019-01-22 05:31:43 +03:00
|
|
|
- [ ] Access roles support (i.e. delegating some rights to another users)
|
2019-01-27 06:19:31 +03:00
|
|
|
- [ ] Logs for application (partly implemented)
|