RaidAlert is a discord bot that posts and automatically updates a schedule in discord.
Use /post-schedule on a channel to post an up to date Arc Raiders event schedule.
RaidAlert updates the schedule automatically every three minutes with up to date data from the free metaforge event API.
All you need are two things:
- A discord app with a client token.
- Any mongoDB database, this can be localhosted, mongoDB atlas (what I use) or any other mongoDB database that has a URI pointing to it.
| Variable | Required | Description |
|---|---|---|
| DISCORD_TOKEN | ✅ | Your Discord app client token |
| MONGODB_URI | ✅ | Your MongoDB connection string |
| DEV_ID | ❌ | Your Discord user ID |
| DEV_GUILD | ❌ | Your dev guild ID |
| SUCCESS_DEV_CHANNEL | ❌ | Channel ID for success notifications |
| NOTIFICATION_DEV_CHANNEL | ❌ | Channel ID for error notifications |
✅ Is required ❌ Is optional
Put these in a .env where it can be referenced
You can clone the repo and make a .env file to put your environment variables in. The environment variables will be called DISCORD_TOKEN for the client token of your discord app and MONGODB_URI for your database.
npm install the dependencies and then run node src/index.js
Make sure docker is installed on your system. If you run locally I highly recommend using Docker Desktop. Just have that running in the background.
You pull a container from the GHCR
docker pull ghcr.io/aestheticwolfie/raid-alert:latest
You could then run the command and replace all the constants with your own but this way is a little insecure.
docker run -d \
--name raidalert \
--restart unless-stopped \
-e DISCORD_TOKEN=your_discord_token \
-e MONGODB_URI=your_mongodb_uri \
-e DEV_ID=your_dev_id \
-e DEV_GUILD=your_dev_guild_id \
-e SUCCESS_DEV_CHANNEL=your_success_channel_id \
-e NOTIFICATION_DEV_CHANNEL=your_notification_channel_id \
-v /path/to/raidalert-data:/app/cache \
ghcr.io/aestheticwolfie/raid-alert:latest
I'd recommend putting all the variables into a .env and then run the command
docker run -d \
--name raidalert \
--restart unless-stopped \
--env-file /path/to/.env \
-v /path/to/raidalert-data:/app/cache \
ghcr.io/aestheticwolfie/raid-alert:latest
By doing it this way you can raise the permissions of .env high so its harder to see but its preference. You can leave out the optional variables.
Also remember you need a tiny bit of storage to house a local volume.
MIT © AestheticWolfie
