* Update package.json
* Adhere to Markdown and TS Style Guidelines
* Adhere to ESLint
* Some more edits to adhere to the ESLint standard
* style: modify slightly to adhere to ESLint spec
Co-authored-by: Piyush Acharya <acharyapiyush1@outlook.com>
Co-authored-by: Abheek <abheekd@protonmail.com>
To set up the development environment to make changes to the code, clone the repo, install dependencies, and run it directly with `node` as Docker doesn't expose as much.
To set up the development environment to make changes to the code, clone the repo, install dependencies, and run it
directly with `node` as Docker doesn't expose as much.
## Making Changes
## Making Changes
To edit the code please keep a few things in mind:
To edit the code please keep a few things in mind:
1. Be able to explain changes you make; they should be legible and understandable.
1. Be able to explain changes you make; they should be legible and understandable.
2. Please try to abide by ESLint's rules, setting up ESLint is quite easy to do and not too difficult to follow.
2. Please try to abide by ESLint's rules, setting up ESLint is quite easy to do and not too difficult to follow.
## Testing Your Code
## Testing Your Code
For testing, make sure to set up the prerequisites:
For testing, make sure to set up the prerequisites:
1. MongoDB: have a MongoDB server set up.
1. MongoDB: have a MongoDB server set up.
2. Environment Variables: take a look at the `docker-compose.yml` for examples.
2. Environment Variables: take a look at the `docker-compose.yml` for examples.
Once that's done, you can run `yarn tsc` or `npx tsc` to build to JavaScript in the `built` directory. Here you'll find `deploy-commands.js` which you need to deploy the slash commands, and `index.js` which you can run to start the bot.
Once that's done, you can run `yarn tsc` or `npx tsc` to build to JavaScript in the `built` directory. Here you'll
find `deploy-commands.js` which you need to deploy the slash commands, and `index.js` which you can run to start the
bot.
## Submitting Your Contribution
## Submitting Your Contribution
Creating a PR is easy enough and there are plenty of tutorials to do so. When contributing, please make sure to highlight and explain your change, with any import information additionally included.
Creating a PR is easy enough and there are plenty of tutorials to do so. When contributing, please make sure to
highlight and explain your change, with any import information additionally included.
<palign="center">Open-source Discord bot that aims to aid up-and-coming Scibowlers with randomly generated (non-stock) rounds and training. It has many features, including subject-targeted training, a cross-server leaderboard, and a plethora of slash commands!</p>
<palign="center">Open-source Discord bot that aims to aid up-and-coming Scibowlers with randomly generated (non-stock) rounds and training. It has many features, including subject-targeted training, a cross-server leaderboard, and a plethora of slash commands!</p>
## Deployment
## Deployment
Deploying this bot to your Discord server is relatively simple: you can add it to your own server by using [this link](https://adat.link/awesomescibo).
Deploying this bot to your Discord server is relatively simple: you can add it to your own server by
using [this link](https://adat.link/awesomescibo).
## Contributing
## Contributing
Please see [CONTRIBUTING.md](https://github.com/ADawesomeguy/AwesomeSciBo/blob/master/.github/CONTRIBUTING.md).
Please see [CONTRIBUTING.md](https://github.com/ADawesomeguy/AwesomeSciBo/blob/master/.github/CONTRIBUTING.md).
## Installation
## Installation
There are basically two ways to install it:
There are basically two ways to install it:
### Method 1 (Node):
### Method 1 (Node):
After cloning the repository, dependencies can be installed with `yarn` or `npm i`. The bot can then be compile to JavaScript with `yarn tsc` or `npx tsc`, and will be deployed in the `built/` directory. Finally, the bot can be run by entering said directory and running `./index.js` or `node index.js`.
After cloning the repository, dependencies can be installed with `yarn` or `npm i`. The bot can then be compile to
JavaScript with `yarn tsc` or `npx tsc`, and will be deployed in the `built/` directory. Finally, the bot can be run by
entering said directory and running `./index.js` or `node index.js`.
### Method 2 (Docker):
### Method 2 (Docker):
This bot has a Dockerfile within the repository which can be built using `docker build . -t [tag]`. Alternatively and preferably, the image can be taken from [DockerHub](https://hub.docker.com/r/adawesomeguy/awesomescibo).
This bot has a Dockerfile within the repository which can be built using `docker build . -t [tag]`. Alternatively and
preferably, the image can be taken from [DockerHub](https://hub.docker.com/r/adawesomeguy/awesomescibo).
## Usage
## Usage
This bot uses slash commands now :). You can just click on the bot icon after typing `/` to see a list of commands.
This bot uses slash commands now :). You can just click on the bot icon after typing `/` to see a list of commands.
## Credit
## Credit
The bot was made by [@ADawesomeguy](https://github.com/ADawesomeguy). However, the API was made by [@CQCumbers](https://github.com/CQCumbers). Go give [his API](https://github.com/CQCumbers/ScibowlDB) a star, he totally deserves it!
The bot was made by [@ADawesomeguy](https://github.com/ADawesomeguy). However, the API was made
by [@CQCumbers](https://github.com/CQCumbers). Go give [his API](https://github.com/CQCumbers/ScibowlDB) a star, he
.setDescription('Hey! It seems like it\'s your first time using AwesomeSciBo. Here\'s some information regarding the bot if you need it (for issues, contributions, etc.):')
.setDescription('Hey! It seems like it\'s your first time using AwesomeSciBo. Here\'s some information regarding the bot if you need it (for issues, contributions, etc.):')
.setDescription('It seems your answer was incorrect. Please react with <:override:955265585086857236> to override your answer if you think you got it right.')
.setDescription('It seems your answer was incorrect. Please react with <:override:955265585086857236> to override your answer if you think you got it right.')