# CycloMonitor
Discord bot that automatically updates active TC information based on data from the ATCF.

Dependencies:  
* py-cord
* aiohttp (provided by py-cord)
* tendo (Optional, for single-instance checking)
### Disclaimer
No party involved with CycloMonitor should make any claim that this bot is intended to replace tropical cyclone advisories/warnings issued by your local RSMC or TCWC. If you need more detailed information than what is provided by the bot, see your local RSMC or TCWC website for forecasts, potential land impacts, or other relevant information.

## Running the bot
Install the package:
```
pip install cyclomonitor
```
If you cloned the GitHub repository, you might want to install the package in dev mode:
```
cd cyclomonitor
pip install -e .
```
Optional: Install `tendo` for single instance checking: `pip install tendo` or `pip install cyclomonitor[single-instance]`  
Some Linux distributions may require you to [set up a virtual environment](https://docs.python.org/3/library/venv.html).

Until I get the project to use absolute paths, you'll probably want to create a separate directory to store its data:
```
mkdir cyclomonitor_temp
cd cyclomonitor_temp
```

To run the bot:
```
python3 -m cyclomonitor -b -t your.token.here
```
If you don't want to specify `-t` every time, paste your bot's token into a file called `TOKEN` in your working directory.  
For full argument list: `python3 -m cyclomonitor -h` or run the module with no arguments.  
Windows users: You might want to replace `python3` with `python`.

If you're using a virtual environment, ensure it is active before running the bot.  
CycloMonitor logs to stdout by default. To log to a file, specify the parameter `-l LOGFILE`, where `LOGFILE` is the path to the log file.

Supports Python 3.8+, but Python 3.11+ is recommended.
