Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pololacoste/r6-discord-bot
Discord bot for Rainbow Six Siege
https://github.com/pololacoste/r6-discord-bot
discord discord-bot discord-js discord-ts discordjs mongodb r6 rainbow-six-siege redis typescript
Last synced: 18 days ago
JSON representation
Discord bot for Rainbow Six Siege
- Host: GitHub
- URL: https://github.com/pololacoste/r6-discord-bot
- Owner: PoloLacoste
- License: mit
- Created: 2021-01-21T21:44:28.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-09-01T20:40:00.000Z (about 1 year ago)
- Last Synced: 2023-09-02T20:32:33.442Z (about 1 year ago)
- Topics: discord, discord-bot, discord-js, discord-ts, discordjs, mongodb, r6, rainbow-six-siege, redis, typescript
- Language: TypeScript
- Homepage:
- Size: 235 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
R6 Discord bot## ๐ง Requirements
- [NodeJS](https://nodejs.org)
Optional :- [Docker](https://www.docker.com)
- [Redis](https://redis.io/)
- [MongoDB](https://www.mongodb.com)For windows :
- [Docker Desktop](https://www.docker.com/products/docker-desktop)## ๐ ๏ธ Installation Steps
Clone the repo
```sh
git clone https://github.com/PoloLacoste/r6-discord-bot.git
```Create a `.env` file
**Required**
```ini
EMAIL=[Rainbow six siege account email]
PASSWORD=[Rainbow six siege account password]
TOKEN=[Discord bot token]
CLIENT_ID=[Discord bot application id]
GUILD_ID=[Discord server id]
```
**Optional**
```ini
MONGO_URL=[Url of the mongodb instance]
REDIS_URL=[Url of the redis instance]
CACHING=[true or false]
```Launch the bot
```sh
npm start
```## ๐ง Build Steps
### ๐ป Legacy
To generate the dist folder & build all the javascript files run :
```sh
npm run build
```Then you can run the project with :
```sh
node dist/index
```### ๐ณ For docker
Build the container
```docker
docker build -t r6-discord-bot .
```You can choose between two different docker files
- Dockerfile (default docker file).
- Dockerfile.alpine (this will compile the app in a native executable).Then you can run the docker container :
```docker
docker run r6-discord-bot -e EMAIL=[YOUR_EMAIL] -e PASSWORD=[YOUR_PASSWORD] \
-e TOKEN=[DISCORD_BOT_TOKEN] -e CLIENT_ID=[APPLICATION_CLIENT_ID] -e GUILD_ID=[SERVER_ID]
```With docker compose :
```docker
docker-compose up
```## โจ๏ธ Bot commands
### /link
**Subcommands:**
#### set
This command will link your discord account id with your Rainbow Six Siege username.
Example :
```
/link set Godly
```#### get
This command will return the current Rainbow Six Siege username linked to your discord account id.
Example :
```
/link get
```### ๐ /id
This command get your unique Rainbow Six Siege player id.
Example :
```
/id
```Optional arguments :
- platform : To specify the platform the account is on (default `uplay`, `uplay` (pc), `xbl` (Xbox Live) or `psn` (PlayStation Network))
### โญ /level
This command will return your current level & lootbox drop chance percentage.
Example :
```
/level
```Optional arguments :
- platform : To specify the platform the account is on (default `uplay`, `uplay` (pc), `xbl` (Xbox Live) or `psn` (PlayStation Network))
### โ /playtime
This command will return your general, casual, ranked and discovery playtime.
Example :
```
/playtime
```Optional arguments :
- platform : To specify the platform the account is on (default `uplay`, `uplay` (pc), `xbl` (Xbox Live) or `psn` (PlayStation Network))
### ๐ /rank
This command will return analytics of the current season.
Example :
```
/rank
```Optional arguments :
- season : To specify the season number (default is the last season)
- region : To specify the region (default `emea`, can be `emea` (Europe, Middle East and Africa), `ncsa` (North, Central and South America) or `apac` (Asia Pacific))
- platform : To specify the platform the account is on (default `uplay`, can be `uplay` (PC), `xbl` (Xbox Live) or `psn` (PlayStation Network))Seasons reference :
```js
6: 'Health', 7: 'Blood Orchid', 8: 'White Noise',
9: 'Chimera', 10: 'Para Bellum', 11: 'Grim Sky',
12: 'Wind Bastion', 13: 'Burnt Horizon', 14: 'Phantom Sight',
15: 'Ember Rise', 16: 'Shifting Tides', 17: 'Void Edge',
18: 'Steel Wave', 19: 'Shadow Legacy', 20: 'Neon Dawn',
21: 'Crimson Heist', 22: 'North Star', 23: 'Crystal Guard',
24: 'High Calibre', 25: 'Demon Veil'
```### ๐ /stats
This command will return some general analytics of your account (kills, deaths, wins, losses, ...).
Example :
```
/stats
```Optional arguments :
- platform : To specify the platform the account is on (default `uplay`, `uplay` (pc), `xbl` (Xbox Live) or `psn` (PlayStation Network))
### ๐ข /status
This command will return the status of all the servers.
Example :
```
/status
```## ๐ You are all set! You have a problem ? Please open an issue