You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
3.6 KiB

# AwesomeSciBo
[![GitHub stars](https://img.shields.io/github/stars/ADawesomeguy/AwesomeSciBo?color=blue&style=for-the-badge)](https://github.com/ADawesomeguy/AwesomeSciBo/stargazers)
[![GitHub forks](https://img.shields.io/github/forks/ADawesomeguy/AwesomeSciBo?style=for-the-badge)](https://github.com/ADawesomeguy/AwesomeSciBo/network)
[![GitHub license](https://img.shields.io/github/license/ADawesomeguy/AwesomeSciBo?color=blue&style=for-the-badge)](https://github.com/ADawesomeguy/AwesomeSciBo/blob/master/LICENSE)
[![GitHub issues](https://img.shields.io/github/issues/ADawesomeguy/AwesomeSciBo?color=blue&style=for-the-badge)](https://github.com/ADawesomeguy/AwesomeSciBo/issues)
[![API](https://img.shields.io/badge/API-ScibowlDB-blue?style=for-the-badge)](https://github.com/CQCumbers/ScibowlDB)
4 years ago
A simple Discord bot that automatically generates Science Bowl rounds using the ScibowlDB API!
## Deployment
Deploying this bot to your Discord server is relatively simple: you can add it to your own server by using [this link](http://scibot.adawesome.tech/).
## Contributing
4 years ago
If you want to make a contribution to this bot, please make a [Pull Request](https://github.com/ADawesomeguy/AwesomeSciBo/pulls) with as much detail as you can. I'll take a look in my free time and see if it's worth adding. If not, I'll let you know what to do to *make* it worth adding!
## Installation
4 years ago
There are three ways to install this on your own server: using npm, cloning this repository, or using Docker.
4 years ago
> Note: make sure you have `node` installed on your system (unless you plan to use Docker). This varies from computer to computer, but make sure you have the right version installed. Generally, versions older than 12.X don't work properly.
### *RECOMMENDED*
### Option 1: NPM
#### Steps
1) Install the package with npm
```
sudo npm i -g awscibo
```
2) Run the command (learn how to get your token [here](https://github.com/ADawesomeguy/AwesomeSciBo/blob/master/README.md#Notes))
```
awscibo [your token here]
```
### Option 2: Clone repository
#### Steps
1) Clone repo:
```
git clone https://github.com/ADawesomeguy/AwesomeSciBo.git
```
2) Enter repo and install dependencies
```
cd AwesomeSciBo/bot && npm i
```
4 years ago
3) Run your bot:
```
4 years ago
node awesomescibo.mjs
```
### Option 3: Dockerfile
#### Steps
1) Clone repo
```
git clone https://github.com/ADawesomeguy/AwesomeSciBo.git
```
2) Enter repo, build, and run Docker image
```
cd AwesomeSciBo
docker build -t awscibo .
docker run -e BOT_TOKEN=[your bot token here] --name awscibo -d awscibo
```
## Usage
To get started, run the command `do be helping` to get a list of commands. The more helpful commands will be the ones that generate packets, which are `do be roundgen pdf/html` and `do be roundgen pdf/html dm`.
> Note: if you plan to use PDF files, you must have `gotenberg` installed and running at `localhost:3136` (or change the `awesomescibo.mjs` script to point to a different location). You can find more info about that [here](https://github.com/thecodingmachine/gotenberg).
## Notes
### Creating a Discord Application/Bot
To create your own application and bot using the [Discord Developer Portal](https://discord.com/developers), go to the previous link and sign in. Then create a new application, and click bots on the left. Configure it to your liking, and then copy the token.
![](images/discord-developer.png)
That's the most important part of your bot *and don't share it with anyone*.
## Credit
4 years ago
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!