Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rsource-open-source/rsource-records

📊 The rsource Discord bot. An advanced interface for viewing community times.
https://github.com/rsource-open-source/rsource-records

detritus discord discord-bot nodejs strafesnet typescript

Last synced: 5 days ago
JSON representation

📊 The rsource Discord bot. An advanced interface for viewing community times.

Awesome Lists containing this project

README

        

```
__
______________ __ _______________ ________ _________ _________/ /____
/ ___/ ___/ __ \/ / / / ___/ ___/ _ \ / ___/ _ \/ ___/ __ \/ ___/ __ / ___/
/ / (__ ) /_/ / /_/ / / / /__/ __/ / / / __/ /__/ /_/ / / / /_/ (__ )
/_/ /____/\____/\__,_/_/ \___/\___/ /_/ \___/\___/\____/_/ \__,_/____/

```
# rsource-records

[![CodeFactor Grade](https://img.shields.io/codefactor/grade/github/rsource-open-source/rsource-records/dev?color=00b16a&style=for-the-badge)](https://www.codefactor.io/repository/github/rsource-open-source/rsource-records)

## Technologies:

[![](https://shields.io/badge/Typescript-05122A?logo=typescript&style=for-the-badge)](https://www.typescriptlang.org/) [![](https://shields.io/badge/Node.js-05122A?logo=node.js&style=for-the-badge)](https://nodejs.org/) [![](https://shields.io/badge/detritusjs-05122A?logo=data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj48c3ZnIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCA4MzQgODM0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbDpzcGFjZT0icHJlc2VydmUiIHhtbG5zOnNlcmlmPSJodHRwOi8vd3d3LnNlcmlmLmNvbS8iIHN0eWxlPSJmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MjsiPjxwYXRoIGQ9Ik04MzMuMzMzLDQxNi42NjdsLTQxNi42NjYsNDE2LjY2NmwtNDE2LjY2NywtNDE2LjY2Nmw0MTYuNjY3LC00MTYuNjY3bDQxNi42NjYsNDE2LjY2N1ptLTI2OC4xMzcsLTEwNS4zOTNjMCwtMzcuNTgxIC0xMy44ODksLTY4Ljg3MiAtNDEuNjY3LC05My44NzJjLTI3Ljc3NywtMjUgLTYxLjYwMSwtMzcuNSAtMTAxLjQ3LC0zNy41Yy00OC4wMzksLTAgLTg5Ljg2OSw3LjM1MyAtMTI1LjQ5LDIyLjA1OGwtOC44MjQsODcuNzQ2YzI3LjEyNCwtMTcuMzIgNTcuMDI2LC0yNS45ODEgODkuNzA2LC0yNS45ODFjMjQuNTEsMCA0NC43NzEsNi43IDYwLjc4NCwyMC4wOThjMTYuMDEzLDEzLjM5OSAyNC4wMiwzMS4wNDYgMjQuMDIsNTIuOTQyYy0wLDIzLjg1NiAtMTMuODA3LDU0LjAwMyAtNDEuNDIyLDkwLjQ0MWMtMjcuNjE0LDM2LjQzOCAtNDEuNDIxLDczLjYxMSAtNDEuNDIxLDExMS41MTlsNzQuNTEsMGMtMCwtMTcuNjQ2IDkuNjQsLTM4LjM5OCAyOC45MjEsLTYyLjI1NWMzMi42OCwtNDAuNTIyIDUwLjQ5LC02My4yMzUgNTMuNDMyLC02OC4xMzdjMTkuMjgxLC0zMC43MTkgMjguOTIxLC02My4wNzIgMjguOTIxLC05Ny4wNTlabS05MS42NjcsMzgzLjgyNGwwLC0xMDIuOTQxbC0xMTMuNzI1LDBsLTAsMTAyLjk0MWwxMTMuNzI1LDBaIiBzdHlsZT0iZmlsbDojZmZmO2ZpbGwtcnVsZTpub256ZXJvOyIvPjwvc3ZnPg==&style=for-the-badge)](https://www.npmjs.com/package/detritus-client) [![](https://shields.io/badge/WebAssembly-05122A?logo=webassembly&style=for-the-badge)](https://webassembly.org/) [![](https://shields.io/badge/FFmpeg-05122A?logo=ffmpeg&logoColor=007808&style=for-the-badge)](http://www.ffmpeg.org/) [![](https://shields.io/badge/Prisma-05122A?logo=prisma&style=for-the-badge)](https://prisma.io/)

[![](https://shields.io/badge/Oracle%20Cloud%20Infrastructure%20VPC-05122A?logo=oracle&logoColor=F80000&style=for-the-badge)](https://www.oracle.com/cloud/) [![](https://shields.io/badge/Ubuntu%20Linux-05122A?logo=ubuntu&style=for-the-badge)](https://ubuntu.com/)

[![](https://shields.io/badge/DigitalOcean%20Managed%20Database-05122A?logo=digitalocean&style=for-the-badge)](https://www.digitalocean.com/products/managed-databases) [![](https://shields.io/badge/PostgreSQL-05122A?logo=postgresql&style=for-the-badge)](https://postgres.org/)

## About
rsource-records is a TypeScript written Discord bot that uses the [detritus library](https://github.com/detritusjs/client) to interact with the Discord API. This bot is made to fetch content from the Roblox Bhop & Surf games via the [StrafesNET API](https://api.strafes.net/). This aims to be a bot that has many more features than just an API fetcher in the future.

**_This is still in its early development phase._**

Note: this project uses multiple branches, each are titled for their purpose. The project structure follows a production branch, developemnt bramch, and sub-dev branch; `main`, `dev`, and `dev/*`, where `*` represents any.

[Project Board](https://github.com/orgs/rsource-open-source/projects/1)

Shortlink for this repository: https://rsource.rqft.space/records/

## Setup

### Services

\*not in use yet

Requirements:

- [Node](https://nodejs.org/) v16 LTS
- [Git](https://git-scm.com/)
- [Prisma](https://prisma.io/)\*
- [PostgreSQL](https://postgresql.org/)\*

What we use (optional services):

- Code editor/IDE: [VSCode](https://code.visualstudio.com/)
- Code loader: [nodemon](https://nodemon.io/)

### Setting up

Creating a local copy of this repository and running:

```bash
git clone https://github.com/rsource-open-source/rsource-records.git # creates repository locally
cd rsource-records
```

Now that we have the repository on our machine, let's populate it.

```bash
npm i # installs all dependencies
code .env # assuming you use vscode
```

Populate the `.env` and the `config.json` file with the applicable interfaces [here](https://github.com/rsource-open-source/rsource-records/blob/main/src/interfaces.ts) and the [.env.example](https://github.com/rsource-open-source/rsource-records/blob/main/.env.example) file.

After that, we can compile and run the code, here, we use nodemon to run out code everytime we save a file, **if you don't want to use nodemon** run the according:

```bash
tsc # compiles OR npm run build
# create a split/seperate terminal
node dist
```

Else:

```bash
tsc -w # compiles and watches for saves
# create a split/seperate terminal
nodemon dist
```

This isn't required, but it is encouraged to clean up the throwaway files.

```bash
rm .env.example
```