Discord niceness dank bot tracker. It will keep track of every nice comment made within the case insensitive regex: (?<!\S)n+i+c+e+(?!\S), in a context-free grammar. If it has any mentions or quotes, it will also keep track of them.
One service of the bot supports being included in multiple servers, metrics and quotes won't collide. Bare in mind that it is not meant to be used in 200 servers with 5000 members each; I mean, if pandas can support it then you're free to try, but whatever, man.
It's a debian package, you should do it inside a virtual environment.
- Install all dependencies inside
debian/control - Run in project root
debuild -us -ucand thendebuild clean. - Finally in parent dir
sudo dpkg -i nice-bot_<version>_<architecture>.deb
If you have Poetry installed:
- Clone repository.
poetry installto generate venv with dependencies.bash scripts/install.shto create necessary directories.poetry run nicebotto start the bot service.
If went the debian route, there is a systemd service for the bot: service nicebot start.
If you are using poetry, go into the repository and run poetry run nicebot to start the bot.
Logs are in /var/log/nice-bot/bot.log, but you can manipulate it as you want in configuration file.
- Clone repo.
virtualenv --python=python3.7 venv. venv/bin/activatepip install -e . -r requirements.txtbash scripts/install.shpython bot/service.py
- Clone repo
poetry installbash scripts/install.shpoetry run nicebot
This project uses confight, so configs are read in the following fashion:
/etc/nice-bot/config.toml/etc/nice-bot/conf.d/*
Secrets and other overrides should be put inside conf.d folder in order to guarantee a clean debian installation.
[bot]
# Token to connect with discord API
token = ''
# Path to CSV database
csv = '/var/lib/nice-bot/db.csv'
# Spam probability
spam = 0.1
[logging]
# logging.config.dictConfig configuration
version = 1
[logging.formatters]
[logging.formatters.default]
format = '[%(asctime)s] [%(levelname)s] %(message)s'
[logging.handlers]
[logging.handlers.file]
class = 'logging.FileHandler'
formatter = 'default'
filename = '/var/log/nice-bot/bot.log'
[logging.root]
handlers = ['file']
level = 'INFO'
Commands:
bad-bot <feedback: str> Help us improve!
my-nice-messages Retrieve messages that made people go like 'nice'
nice-elo Returns elo niceness evolution
nice-fact Cheers you up with a nice wholesome beautiful sweet sugary...
nice-messages <user: @mention> Retrieve messages that made people go lik...
nice-metrics Retrieve nice leaderboard
nice-team-elo Returns team elo niceness evolution
nice-wisdom Retrieve random nice quote
No Category:
nice-help Shows this message
Type !nice-help command for more info on a command.
You can also type !nice-help category for more info on a category.
You can ask the bot to retrieve the extremely nice leaderboard of nice people:
You can ask the bot to retrieve nice ancient wisdom:
Encourage your users to give feedback on the bot, bad-bot takes a string as an argument and stores the user's feedback.

