A discord bot providing time trackers and (yet to come) tools for Diablo IV.
Diablo IV's world bosses spawns in 4 separate timespans:
- Morning (4:30 - 6:30)
- Day (10:30 - 12:30)
- Afternoon (16:30 - 18:30)
- Evening (22:30 - 00:30)
- Upcoming boss timer
- Upcoming bosses list
- Upcoming boss notifications per timespan
- Upcoming helltide timer
- Upcoming helltides list
- More to come...
Upon joining the server, the bot will create the following roles:
- Barbarian
- Druid
- Sorcerer
- Rogue
- Necromancer
- World Tier 1
- World Tier 2
- World Tier 3
- World Tier 4
- Morning
- Day
- Afternoon
- Evening
While most of these roles are not used by the bot (this is only cosmetic yet), the 4 last roles, which are corresponding to the timespans of the world bosses spawns, are used to notify the users.
The bot will automatically notify when the next world boss spawns in less than 60 minutes. This notification includes a mention to the role corresponding to the timespan of the spawn.
Bosses spawns are announced in the channel set by the /channel
command.
All dates and time provided by the bot are in UTC. Unless specified otherwise by the /timezone
command.
Every command is a discord Slash Command, command sent in the chat will not work.
/boss
: Get upcoming boss timer/bosses
: Get upcoming bosses list/helltide
: Get upcoming helltide timer/helltides
: Get upcoming helltides list
/channel
: Set the channel to send notifications to/timezone <TZ Identifier>
: Set the timezone to use for dates and times (e.g.Europe/Paris
)
/alert <span>
: (morning, day, afternoon, evening) Invocating user get attributed the corresponding role to receive notifications/class <role>
: (barbarian, druid, sorcerer, rogue, necromancer) Invocating user get attributed the corresponding class role/wt <world tier>
: (1, 2, 3, 4) Invocating user get attributed the corresponding world tier role
To run this bot locally, you will need to add the following environment variables to your .env file
DBIVTOOL_BOT_TOKEN
: The discord bot token
DBIVTOOL_DB_DRIVER
: The database driver (sqlite3
)
DBIVTOOL_DB_DSN
: The database DSN (file:./db.sqlite3?_foreign_keys=ON
)
DBIVTOOL_REDIS_HOST
: The redis host (localhost
), if using the provided redis server, this variable should be set to redis
DBIVTOOL_REDIS_PORT
: The redis port (6379
)
DBIVTOOL_REDIS_PASSWORD
: The redis password
DBIVTOOL_REDIS_DB
: The redis database number (0
)
DBIVTOOL_VOLUME_PATH_HOST
: The host path to the persistent folder
DBIVTOOL_VOLUME_PATH_CONTAINER
: The container path to the persistent folder
To deploy this project run
docker-compose up -d
To deploy this project with a custom redis server, run
docker-compose up -d bot fetcher
If you have any feedback, please create an issue on this repository.
This bot works using the APIs of the following websites: