Update README.md

This commit is contained in:
Hri7566 2023-12-02 17:44:45 -05:00
parent 6b6653020c
commit 9fe48ddff1
1 changed files with 38 additions and 2 deletions

View File

@ -1,21 +1,57 @@
# supercosmic # supercosmic
This is essentially Cosmic "2.0", but I don't intend to strictly remake everything, it's more of a spiritual successor that shares the name.
Cosmic was a space-themed economy bot that could run on multiple different services, such as Discord and Multiplayer Piano. Initially, it was my learning project. I would implement bad things to learn why they're bad.
Supercosmic is another space-themed economy bot that streamlines tech that I consider new, yet sustainable and active. This way, the dependencies that I use aren't usually outdated.
To give an example, Supercosmic uses Bun.
I also plan to use hyperimport somehow in the future to edge into C++ or rust a bit.
## Usage
To install dependencies: To install dependencies:
```bash ```bash
bun install bun install
``` ```
Copy envorionment variables: To copy envorionment variables:
```bash ```bash
cp .env.template .env cp .env.template .env
``` ```
To setup Prisma (PostgreSQL required):
```bash
bunx prisma db push
```
To run: To run:
```bash ```bash
bun run src/index.ts bun .
``` ```
## Configuring
Pretty much all of the available settings for things are in the `config` directory. If a config file doesn't exist, it is generated with default data at launch. Configs are only loaded once and are not yet hot-reloadable.
- `balance.yml`: Balance (money) configuration
- `mpp_net_channels.yml`: MPP.net channels to connect to
- `roles.yml`: Roles and corresponding permissions
- There isn't a clean way to add roles yet. They're handled by an enum in the Prisma schema.
- In order to give someone a role, currently, the `/help` menu in the console can help you with that.
- Roles can be hierarchial by using the `inherits` property. The best explanation I have is that it works kind of like Lua metatables.
- `services.yml`: List of services to connect to
- This file can control the connection to entire sites, i.e. MPP.net could be disabled, or the console
- If you receive crashes while using PM2 to host, turn off the console service.
- `switchchat.yml`: SwitchCraft Chatbox config
- SwitchCraft 3 is a Minecraft server that primarily uses the ComputerCraft: Tweaked mod. They have a custom chat system that allows for user-created commands.
## Info
This project was created using `bun init` in bun v1.0.4. [Bun](https://bun.sh) is a fast all-in-one JavaScript runtime. This project was created using `bun init` in bun v1.0.4. [Bun](https://bun.sh) is a fast all-in-one JavaScript runtime.