This library is used for fetching Torn City user's data and sending them relevant notifications in private messages.
- events and messages notifications
- energy, nerve or life full
- arrived at your destination
- cooldowns ended
- got out of jail/hospital
- stock notifications in separate channels
You will need a Discord bot and a Firebase realtime database for this. You can find tutorials online on how to obtain those.
Use the package manager pip to install pipenv.
sudo pip3 install pipenv
# used for package managing, sudo so it's available globally
git clone https://github.com/mcosti/TornDiscordBot
cd TornDiscordBot
pipenv shell
pipenv install
python bot.py
Also remember to copy .env.example to .env and fb/db_cert_example.json to fb/db_cert.json and edit it accordingly
This is useful if you want to have it running non-stop on your Ubuntu server.
You have to edit discord.service file according to your project setup and location.
sudo cp discord.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable discord # if you want it to run at startup
sudo systemctl start discord
After you have successfully created your bot, added it to your server and ran this script, you can send it a private message "!help" to find out how to use (or just read cogs/settings.py)
You can integrate sentry by simply adding your project DSN to .env. This is very useful for debugging
sudo journalctl -u discord -f
- Due to the way async works in Python3, if there is any unhandled exception in the alerts_task it will halt completely, but the bot and the other task (stocks) will keep running. For this you have to restart the server
- HTTP exceptions are not handled
- Add testing (I suggest using pytest)
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.