Git Product home page Git Product logo

torndiscordbot's Introduction

Torn Discord Bot

This library is used for fetching Torn City user's data and sending them relevant notifications in private messages.

Torn alerts

Features

  • 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

Installation

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

Running as a Linux service

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

Usage

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)

Sentry

You can integrate sentry by simply adding your project DSN to .env. This is very useful for debugging

Checking logs

sudo journalctl -u discord -f

Bugs

  • 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

Todos

  • Add testing (I suggest using pytest)

Contributing

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.

License

MIT

torndiscordbot's People

Contributors

mcosti avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

Forkers

z-torn

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.