An open API service indexing awesome lists of open source software.

https://github.com/developersu/innaircbot

Another one java irc bot. Unlimited servers, unlimited channels. Configuration based on regexps.
https://github.com/developersu/innaircbot

bot irc ircbot

Last synced: about 2 months ago
JSON representation

Another one java irc bot. Unlimited servers, unlimited channels. Configuration based on regexps.

Awesome Lists containing this project

README

          

# InnaIrcBot

[![status-badge](https://ci.redrise.ru/api/badges/8/status.svg)](https://ci.redrise.ru/repos/8)

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/
* 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
```
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 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)