Skip to content
This repository has been archived by the owner on Jul 31, 2022. It is now read-only.

1.4.0 ~> 2.0.0 #815

Merged
merged 119 commits into from
Mar 30, 2022
Merged
Changes from 1 commit
Commits
Show all changes
119 commits
Select commit Hold shift + click to select a range
18c65b0
this is basically a refractor at this rate
auguwu Sep 9, 2021
233ac4b
h
auguwu Sep 9, 2021
3671b92
updoot
auguwu Sep 12, 2021
691c2f4
merge conflict with 2.x -> edge
auguwu Sep 12, 2021
a69f042
Add tests for Jest
auguwu Sep 12, 2021
94d78ed
use .ts for jest config
auguwu Sep 12, 2021
51fd504
i spent about an hour on this readme
auguwu Sep 17, 2021
3e2de4d
clean up
auguwu Sep 17, 2021
101cf60
Add shortlinks action (task 2 in #789)
auguwu Sep 17, 2021
ae66f99
mergo conflicto + add guild customizibility settings
auguwu Sep 17, 2021
98d5fd0
fix jest tests
auguwu Sep 17, 2021
1efc31c
use npm instead of yarn (because h)
auguwu Sep 17, 2021
acc3578
ts-jest needs ts-node, and it exists but not right now?????
auguwu Sep 17, 2021
b161a25
maybe i should use yarn test
auguwu Sep 17, 2021
b3c75fd
update readme
auguwu Sep 17, 2021
7cccca8
woops
auguwu Sep 17, 2021
71c29b8
work on bare minimum
auguwu Sep 17, 2021
1d18693
Finish relay publisher
auguwu Sep 18, 2021
80e8486
Add more unit tests for permission util, fix module aliasing in Jest,…
auguwu Sep 18, 2021
b7e874f
Merge branch 'edge' of https://github.com/NinoDiscord/Nino into 2.x
auguwu Sep 18, 2021
4b8db77
Remove fastify deps (in favour of cluster relay service)
auguwu Sep 18, 2021
9d868e9
Move docker script to docker/, update dependencies, add in 'guild_pol…
auguwu Sep 21, 2021
3b382d7
Merge branch '2.x' into edge
auguwu Sep 21, 2021
253d304
merge conflict
auguwu Sep 21, 2021
34cbd34
Add information in README about .env file, work on structures
auguwu Sep 24, 2021
49b47de
Add cluster-operator to Docker compose, add in config example, work o…
auguwu Oct 5, 2021
1ba60c1
merge conflict, update deps
auguwu Oct 5, 2021
b414cb7
fix CI, update main.ts and container.ts with code
auguwu Oct 5, 2021
592c18b
Rework in Kotlin (why am I doing this again)
auguwu Oct 5, 2021
db644e9
Run `spotlessApply` and removed ESLint workflow with ktlint
auguwu Oct 5, 2021
84fde85
Work on Bootstrap module
auguwu Oct 6, 2021
fa16e60
nino info class
auguwu Oct 6, 2021
6dab71c
add in `NinoScope` object for coroutines and utility extensions
auguwu Oct 6, 2021
fc5ea41
Add Kord as a DI injectable
auguwu Oct 8, 2021
14440ac
Add Automod DSL objects and module
auguwu Oct 8, 2021
8e0d69a
spotless apply
auguwu Oct 8, 2021
63267e5
add assertion in Automod initializer
auguwu Oct 8, 2021
ea5857e
Work on subcommand builders
auguwu Oct 8, 2021
20bae4b
lint
auguwu Oct 8, 2021
25f16d6
work on command core
auguwu Oct 10, 2021
ded8961
lint
auguwu Oct 10, 2021
f631fb7
a
auguwu Oct 10, 2021
df4adfa
chore: update dependencies, move to Exposed for ORM
auguwu Oct 16, 2021
df7b98c
i have no idea what i did lol
auguwu Oct 20, 2021
5d05baa
mergo conflicto
auguwu Oct 20, 2021
85d03c8
make the bot... actually runnable
auguwu Oct 20, 2021
dba8e2e
localization module :D
auguwu Oct 20, 2021
bc2fe6e
chore: new dependencies, prometheus module, work on command handler
auguwu Nov 2, 2021
cee17c2
im too lazy to say what i did
auguwu Nov 4, 2021
8f35d4a
chore: refractor command handler (rip dynamic args), added in postgre…
auguwu Nov 6, 2021
28ba0bf
chore: add a mini message on ping only
auguwu Nov 6, 2021
a63c956
fix: remove commented code from `NinoBot` class.
auguwu Nov 6, 2021
d588996
merge conflict
auguwu Nov 6, 2021
edc3ddb
chore: remove useless modules, work on ravy module
auguwu Nov 6, 2021
f416329
chore: lint
auguwu Nov 6, 2021
93d60d5
chore: implement Redisson instead of Lettuce for Redis
auguwu Nov 8, 2021
f934ad5
chore: make a complete pagination embed with buttons OwO
auguwu Nov 12, 2021
9d82b67
merge: edge -> 2.x
auguwu Nov 12, 2021
dd3ce45
chore: add `invite` and `help` commands
auguwu Nov 14, 2021
e3f300c
chore: ping command :D
auguwu Nov 14, 2021
0e4c1b9
chore: use Kotlin 1.6, add in all core and easter egg commands
auguwu Nov 24, 2021
424ab61
chore: system commands, add in KTOR for Prometheus export
auguwu Nov 25, 2021
e668663
chore: edge -> 2.x
auguwu Nov 25, 2021
486ed62
chore: work on slash commands
auguwu Nov 27, 2021
59e12e5
chore: slash commands :tada:
auguwu Nov 27, 2021
fb37ac8
chore: work on slash subcommand (groups)
auguwu Nov 27, 2021
afbf4fe
chore: finally implement punishment service (not tested)
auguwu Dec 11, 2021
28eead4
chore: merge edge -> 2.x
auguwu Dec 11, 2021
ecc70d9
chore: add in simple cache, for now.
auguwu Dec 11, 2021
5b1f796
chore: refractor project into seperate, smaller modules; refractor Do…
auguwu Dec 29, 2021
52cc3e2
workflow: add timeouts + redis as seperate services for unit testing,…
auguwu Dec 29, 2021
f6a5559
fix: merge conflict from edge -> 2.x; use java 17 for workflow, add u…
auguwu Dec 29, 2021
30f4f9d
fix(workflow): workflow from not dying
auguwu Dec 29, 2021
bcab148
fix(workflow): remove health checks
auguwu Dec 29, 2021
3ff5648
chore: finish somewhat of the core, add in temporary files for comman…
auguwu Dec 31, 2021
f8a706b
chore: get bot working, update license year from 2019-2021 -> 2019-2022
auguwu Jan 2, 2022
66b50b9
fix(conflict): 2.x ~> edge
auguwu Jan 2, 2022
2542f0e
chore: lint, qol changes
auguwu Jan 2, 2022
facaa3a
chore: add in text-based command handler, add back test and wah commands
auguwu Jan 3, 2022
7bdb954
chore: spotless apply!
auguwu Jan 3, 2022
31b87ec
fix: dockerfile + merge conflict from edge -> 2.x
auguwu Jan 3, 2022
3195b17
fix: docker from committing :woeme:
auguwu Jan 3, 2022
b3d18e4
feat: implement Message Links automod, add in in-complete automod com…
auguwu Jan 3, 2022
cd6b18c
chore: lint
auguwu Jan 3, 2022
867f5ea
chore: move slash commands from http -> gateway, optimize regex for m…
auguwu Jan 4, 2022
8aadfa9
feat: add in automod command, work on slash commands impl
auguwu Jan 5, 2022
bd3adb1
chore: lint :sparkles:
auguwu Jan 5, 2022
4f455f7
feat: add in redis, import + export commands, String and List union c…
auguwu Jan 6, 2022
9103cbf
chore: lint :sparkles:
auguwu Jan 6, 2022
0b059fc
refractor: add a lazy message `init`
auguwu Jan 6, 2022
1a3933f
refractor: project README
auguwu Jan 6, 2022
39ac238
refractor: api to use ktor server v2
auguwu Jan 7, 2022
9ab0f77
blep
auguwu Jan 15, 2022
63f2483
fix: go back to ktor v1 :sparkles:
auguwu Jan 18, 2022
6c3d17e
fix: spotless :sparkles: apply
auguwu Jan 18, 2022
0ec02f4
fix: ratelimiter using wrong hash table :eyes:
auguwu Jan 18, 2022
2e3a5ae
fix: timeouts tests throwing IllegalStateException instead of Connect…
auguwu Jan 18, 2022
cb6d9ed
chore: remove useless logger.info call
auguwu Jan 18, 2022
672ade0
feat: add in sentry + logging okhttp interceptors :sparkles:
auguwu Jan 18, 2022
2325ff9
feat: work on new gateway with MikaBot/cluster-operator, and such more
auguwu Jan 21, 2022
9ce9bdc
fix: gitignore to exclude config/logging.example.properties, linting …
auguwu Jan 21, 2022
c65ca1a
feat: add in nop listeners, add in prefix command, add in Logstash su…
auguwu Jan 26, 2022
2eba6c1
:whistle:
auguwu Jan 26, 2022
0b5187f
chore: work on event listeners :sparkles:
auguwu Jan 26, 2022
10a28f3
chore: add in help command + dump thread info command
auguwu Jan 27, 2022
04966af
chore: spotless apply :sparkles:
auguwu Jan 27, 2022
61961b6
feat: add in eval and shell commands :sparkles:
auguwu Jan 27, 2022
b0c226d
Improve Gradle build scripts
DRSchlaubi Jan 27, 2022
5f8578c
Update docker/run.sh
DRSchlaubi Jan 27, 2022
62d82b7
Update JVM_ARGS to JVM_OPTS
DRSchlaubi Jan 27, 2022
a4efed1
Merge pull request #973 from DRSchlaubi/2.x
auguwu Jan 28, 2022
b14a915
chore: use lf over crlf :sparkles:
auguwu Feb 6, 2022
1686450
chore: update dependencies
auguwu Feb 6, 2022
8a9c2d7
feat: finish help command, added -h usage to commands, spotless apply…
auguwu Feb 6, 2022
fe24e9e
:sparkles: lint
auguwu Feb 6, 2022
8ddd247
feat: ping, invite, and shardinfo commands :sparkles:
auguwu Feb 6, 2022
c65d4ec
feat: add source, statistics, and uptime commands; cleanup command fl…
auguwu Feb 12, 2022
18c2131
fix: spotless apply :sparkles:
auguwu Feb 12, 2022
c801ab1
chore(localization): translate the `rolecfg` command
auguwu Feb 12, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
i spent about an hour on this readme
  • Loading branch information
auguwu committed Sep 17, 2021
commit 51fd504312ac7bb5e713a920e75ae40ce90bd9b4
327 changes: 250 additions & 77 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,130 +1,303 @@
<div align='center'>
<h2>🔨 Nino</h2>
<blockquote><strong>Cute, advanced discord moderation bot made in Eris. Make your server cute and automated with utilities for you and your server moderators *:・゚✧*:・゚✧</strong></blockquote>
</div>

<div align='center'>
<h2>Nino</h2>
<blockquote><strong>Cute, advanced discord moderation bot made in Eris. Make your server cute and automated with utilities for you and your server moderators! ☆ ~('▽^人)</strong></blockquote>
<br />
<hr />
<img alt="GitHub Workflow Status" src="https://img.shields.io/github/workflow/status/NinoDiscord/Nino/ESLint%20Workflow/master?style=flat-square" />
<span>&nbsp;&nbsp;•&nbsp;&nbsp;</span>
<img alt="GitHub License" src="https://img.shields.io/github/license/NinoDiscord/Nino?style=flat-square" />
<span>&nbsp;&nbsp;•&nbsp;&nbsp;</span>
<img alt="Noelware Server" src="https://discord.com/api/v9/guilds/824066105102303232/widget.png?style=shield" />
</div>

<hr />

## Features
- Auto Moderation: **Prevents raids, spam, ads, and much more!**
- Advanced warning system and automated punishments: **Automically punish who commit offenses!**
- Simplicity: **Simplicity is key to any discord bot, and Nino makes sure of it! All commands are tailored to be simple yet powerful.**
- 🔨 **Auto Moderation** - Prevent raids, spam, ads, and much more!
- Target users who post invites to your server, spam in a certain interval, and much more!
- Thresholds, messages, prevent roles/members from automod is all customizable!

- ⚙️ **Advanced Configuration** - Configure Nino to feel like Nino is a part of your server~
- Anything to Nino (mod-log messages, automod threshold/messages/prevention, logging) is all customizable!

- ✨ **Simplicity** - Simplicity is key to any discord bot, and Nino is sure of it!
- Commands are tailored to be powerful but simple to the end user.
- Fetch help on a command using `x!help <command>`, `x!<command> --help/-h`, or `x!<command> help`.
- Stuck on what command usage is like? You can run `x!help usage` on how arguments are executed.

...and much more!

## Support
Need support related to Nino or any microservices under the organization? Join in the **Noelware** Discord server in #support under the **Nino** category:
Need any help with Nino or any microservices under the **@NinoDiscord** organization? You can join the **Noelware** Discord server
under [**#support**](https://discord.com/channels/824066105102303232/824071651486335036):

[![discord embed owo](https://discord.com/api/v9/guilds/824066105102303232/widget.png?style=banner3)](https://discord.gg/ATmjFH9kMH)
![Noelware Discord Server](https://invidget.switchblade.xyz/ATmjFH9kMH)

## Contributing
View our [contributing guidelines](https://github.com/NinoDiscord/Nino/blob/master/.github/CONTRIBUTING.md) and [code of conduct](https://github.com/NinoDiscord/Nino/blob/master/.github/CODE_OF_CONDUCT.md) before contributing.
Before you get started to contribute to Nino, view our [contributing guidelines](https://github.com/NinoDiscord/Nino/blob/master/.github/CONTRIBUTING.md) and our [code of conduct](https://github.com/NinoDiscord/Nino/blob/master/.github/CODE_OF_CONDUCT.md) before contributing.

## Self-hosting
Before attempting to self-host Nino, we didn't plan for users to be able to self-host their own instance of Nino. Most builds are usually buggy and untested as of late, we do have a "stable" branch but it can be buggy sometimes! If you want to use cutting edge features that are most likely not finished, view the [edge](https://github.com/NinoDiscord/Nino/tree/edge) branch for more details. The "stable" branch is master, so anything that should be stable will be added to the upstream.

We will not provide support on how to self-host Nino, use at your own risk! If you do not want to bother hosting it, you can always invite the [public instance](https://discord.com/oauth2/authorize?client_id=531613242473054229&scope=bot) which will be the same experience if you hosted it or not.
Before to self-host Nino, ***we will not give you support on how to run your own Nino!*** The source code is available for
education purposes, and is not meant to run on small instances. Also, we have not planned for people to self-host their own
instance of Nino, since the source code and the main bots ARE identical from the source code. And, most builds pushed
to this repository have NOT been tested in production environments, so bewarn before running! If you do encouter bugs
with the bot or running it, please report it in our [issue tracker](https://github.com/NinoDiscord/Nino/issues) with the **bug**
label!

### Prerequisites
Before running your own instance of Nino, you will need the following tools:
Before running your own instance of Nino, you will need the following required tools:

- [Timeouts Microservice](https://github.com/NinoDiscord/timeouts) **~** Used for mutes, bans, and more. This will not make Nino operate successfully.

- [PostgreSQL](https://postgresql.org) **~** Main database for holding user or guild data. Recommended version is 10 or higher.
- [Redis](https://redis.io) **~** Open source in-memory database storage to hold entities for quick retrieval. Recommended version is 5 or higher.

- [Timeouts Service](https://github.com/NinoDiscord/timeouts) (Used for mutes and such or it'll not work!)
- [Node.js](https://nodejs.org) (Latest is always used in development, but LTS is recommended)
- [PostgreSQL](https://postgresql.org) (12 is used in development but anything above 10 should fairly work!)
- [Redis](https://redis.io) (6.2 is used in development but above v5 should work)
If you're moving from **v0.x** -> **v2.x**, you will need to have your MongoDB instance and our utility for converting documents
into JSON, [Rei](https://github.com/NinoDiscord/Rei) before contiuning.

If you're moving from v0 to v1, you will need your MongoDB instance before to port the database and [Rei](https://github.com/NinoDiscord/Rei) installed on your system.
#### Extra Tooling
There is tools that are *optional* but are mostly not-recommended in most cases:

There is tools that are optional but are mostly recommended in some cases:
- [cluster-operator](https://github.com/MikaBot/cluster-operator) **~** Easily manages discord clustering between multiple nodes
- [Docker](https://docker.com) **~** Containerisation tool for isolation between the host and the underlying container.
- [Sentry](https://sentry.io) **~** Open-source application monitoring, with a focus on error reporting.
- [Uni](https://github.com/Noelware/Uni) **~** Sidecar container to post metrics to [instatus.com](https://instatus.com)

- [Sentry](https://sentry.io) - Useful to find out where errors are in a pretty UI
- [Docker](https://docker.com) - If you're a masochist and want to run a private instance with Docker
- [Git](https://git-scm.com) - Useful for fetching new updates easily.
### Setup
You're almost there on how to run your instance! Before you frantically clone the repository and such, there is two options
on how to use Nino:

### Setting up
There are 2 ways to setup Nino: using Docker or just doing shit yourself. Doing it yourself can very tedious
of how much Nino uses from v0 to v1 since Nino utilizes microservices! **☆♬○♩●♪✧♩((ヽ( ᐛ )ノ))♩✧♪●♩○♬☆**
- Normally: You can spin up a **PM2** process to run Nino, which will run fine!
- Docker: Uses the [Dockerfile](./Dockerfile) to run Nino in a isolated container seperated from your machine and the host.

#### Docker Setup
> ️️️️️️️⚠️ **BEFORE YOU CLONE, MAKE SURE DOCKER IS INSTALLED!**

1. **Clone the repository** using the `git clone` command:

### Docker
```sh
# 1. Clone the repository
$ git clone https://github.com/NinoDiscord/Nino.git && cd Nino
$ git clone https://github.com/NinoDiscord/Nino [-b edge] # If you want to use cutting edge feature,
# add the `-b edge` flag!
```

# 2. Create a image
2. **Change the directory** to `Nino` or however you named it, and create a image:

```sh
$ cd Nino
$ docker build -t nino:latest --no-cache .
```

3. **Run the image** to start the bot!

```sh
# A volume is required for `.env` and `config.yml` so it can properly
# load your configuration!
$ docker run -d -v './config.yml:/app/Nino/config.yml:ro' -v './.env:/app/Nino/.env' nino:latest
```

# 3. Run the image
$ docker run -d \
--volume './config.yml:/opt/Nino/config.yml:ro' \ # read-only
nino:latest
4. **[OPTIONAL]** Use `docker-compose` to start all services.

# OPTIONAL: Use docker-compose.yml to run the services
```sh
# We provide a `docker-compose.yml` file so you can spin up the required
# services Nino requires without setting it up yourself.
$ docker-compose up -d
```

### Normal
#### Normal Setup
> ✏️ **Make sure you have a service to run Nino like `systemd` or `pm2`. We provide a `systemd` service file to run it on a Linux machine.**

1. **Clone the repository** using the `git clone` command:

```sh
$ git clone https://github.com/NinoDiscord/Nino [-b edge] # If you want to use cutting edge feature,
# add the `-b edge` flag!
```

2. **Install import dependencies**

```sh
# 1. Clone the repository
$ git clone https://github.com/NinoDiscord/Nino.git && cd Nino
$ yarn
```

# 2. Install the dependencies
$ npm install
3. **Build and compile** TypeScript

```sh
$ yarn build # Run `yarn build:no-lint` to only cover type-checking.
```

# 3. Build the project
$ npm run build
4. **Runs the project**

# 4. Run the project
$ npm start
```sh
$ cd build/src && node main.js
```

### Migrating from v0.x -> v1.x
If you used v0.x in the past, this is the process on how to migrate:
## Migrations
There has many changes towards the database when it comes to Nino, since all major releases have some-what a database revision once a while.

- Run `rei convert ...` to convert the documents into JSON, this process should take a while if there is a lot of cases or warnings.
- Run `node scripts/migrate.js <directory>`, where `<directory>` is the directory Rei converted your database to.
### v0.x -> v2.x
If you used **v0.x** in the past and you want to use the **v2.x** version, you can run the following commands:

## Example `config.yml` file
- Replace `<discord token>` with your Discord bot's token
- Replace `<username>` with your PostgreSQL database username
- Replace `<password>` with your PostgreSQL database password
- Replace `<host>` (under `database`) with your PostgreSQL database host, if running locally, just use `localhost` or `database` if on Docker
- Replace `<port>` with your PostgreSQL database port it's running, if running locally, set it to `5432`
- Replace `<host>` (under `redis`) with your Redis connection host, if running locally, just use `localhost` or `redis` if on Docker
- Replace `<auth>` with the authenication token you set in the [timeouts](https://github.com/NinoDiscord/timeouts) relay service.
```sh
# Convert your MongoDB database into JSON file that the migrator script can read.
$ rei convert ...

```yml
environment: development
token: <discord token>
# Runs the migrator script
$ node scripts/migrator.js --version 0.x <path to directory>
```

### v1.x -> v2.x
If you wish to migrate from **v1.x** towards **v2.x**, you can run the following commands:

```sh
# Export your PostgreSQL database
# Docs: https://www.postgresql.org/docs/12/app-pgdump.html
$ pg_dump

# Run the migrator script
$ node scripts/migrator.js --version 1.x <path to your dumped database>
```

prefixes:
- !
## Configuration
Nino's configurations are made up in a simple **config.yml** file located in the `root directory` of the project. The following keys
must be replaced:

database:
url: postgres://<username>:<password>@<host>:<port>/<database>
- **Replace `<discord token>` with your [Discord bot's](https://discord.com/developers/applications) token.**
- **Replace `<redis host>` with your Redis host**
- **If you are using Docker Compose, replace `<redis host>` with "redis" since Compose will link the host with the container.**
- **If you're running it locally or the config key is not present, it'll infer as `localhost`**
- **Replace `<redis port>` with your Redis network port**
- **If you are using Docker Compose, you can omit this config key since Compose will infer it to the redis container.**
- **If you're running it locally or the config key is not present, it'll infer as `6379`**

```yml
# Runs any pending migrations with Prisma, since Prisma doesn't have a way to run this programmatically,
# this will be ran in a worker outside of the main thread.
#
# Default: true
runPendingMigrations: true

# If this config value is set, it'll run the Prometheus server, which you can collect metrics
# and post them in a Grafana instance or whatever! Generally, this isn't really useful in
# small instances. You can view our metrics dashboards here:
#
# Production: https://stats.floofy.dev/d/e3KPDLknk/nino-prod?orgId=1
# Staging: {unknown}
#
# DDefault: Not present.
prometheusPort: 22043

# Returns the default locale Nino will use to send messages with. Our locales are managed
# under our GitHub repository for now, but this will change.
#
# Default: "en_US"
defaultLocale: "en_US" or "fr_FR" or "pt_BR"

# Sets the environment for logging and such, `development` will give you debug logs
# in which you can report bugs and `production` will omit debug logs without
# any clutter.
#
# Default: "development"
environment: "development" or "production"

# Sets the DSN url for configuring Sentry, this is not recommended on smaller instances!
#
# Default: Not present.
sentryDsn: ...

# Returns the owners of the bot that can execute system admin commands like
# `eval`, `sh`, etc.
#
# Default: [empty array]
owners:
- owner1
- owner2
- ...

# Yields your token to authenticate with Discord. This is REQUIRED
# and must be a valid token or it will not connect.
token: ...

# Returns the token for `ravy.org` API, you cannot retrieve a key
# this is only for the public instances.
ravy: ...

# Returns the configuration for the botlists microservice.
# This is not recommended for smaller instances since using Nino and adding it
# to a public botlist will be deleted from it.
botlists:
# Returns the interval (in milliseconds) to run the Node interval to
# post statistics (guild / shard count) to botlists.
#
# Min: 15000 - 15 seconds
# Max: 86400000 - 1 day
interval: ...

# Returns the token for posting to Discord Services - https://discordservices.net
dservices: ...

# Returns the token for posting to Discord Boats - https://discord.boats
dboats: ...

# Returns the token for posting to Discord Bots - https://discord.bots.gg
dbots: ...

# Returns the token for posting to top.gg - https://top.gg
topgg: ...

# Returns the token for posting to Delly (Discord Extreme List) - https://del.rip
delly: ...

# Returns the token for posting to https://discords.com
discords: ...

# Configuration for Redis for caching entities for quick retrival.
# Read our Privacy Policy on how we collect minimal data: https://nino.sh/privacy
redis:
host: <host>
port: 6379
# Returns the password for authenticating to your Redis database.
password: ...

# Returns an array of sentinels mapped to "host:port",
# this isn't required on smaller instances.
# Read more: https://redis.io/topics/sentinel
sentinels:
- host:port
- host2:port2

# Returns the master password for authenticating using the Sentinel
# approach. This is not required on smaller instances.
# Read more: https://redis.io/topics/sentinel
master: ...

# Returns the index for Nino so it doesn't collide with any other
# Redis databases.
db: 1-16

# Returns the redis host for connecting
host: ...

# Returns the port for connecting
port: ...

# Timeouts configuration
timeouts:
# Returns the port for connecting to the WebSocket server.
port: 4025
auth: <auth>

# Returns the authentication string for authorizing.
auth: ...
```

## Maintainers
* Ice#4710 (DevOps, Developer) ([GitHub](https://github.com/IceeMC))
* Rodentman87#8787 (Frontend Developer) ([GitHub](https://github.com/Rodentman87))
* August#5820 (Project Lead, Developer) ([GitHub](https://github.com/auguwu))
- [**Rodentman87#8787**](https://likesdinosaurs.com) - Web Developer ([GitHub](https://githubc.om/Rodentman87))
- [**August#5820**](https://floofy.dev) - Project Lead ([GitHub](https://github.com/auguwu))
- [**Ice#4710**](https://winterfox.tech) - DevOps ([GitHub](https://github.com/IceeMC))

## Hackweek Participants
* Chris ([GitHub](https://github.com/auguwu))
* dondish ([GitHub](https://github.com/dondish))
* Kyle ([GitHub](https://github.com/scrap))
* Wessel ([GitHub](https://github.com/Wessel))
* David ([GitHub](https://github.com/davidjcralph))
> Since Nino was a submission towards [Discord's Hackweek](https://blog.discord.com/discord-community-hack-week-build-and-create-alongside-us-6b2a7b7bba33), this is a list of the participants.

- [**August#5820**](https://floofy.dev) - ([GitHub](https://github.com/auguwu))
- [**dondish#8072**](https://odedshapira.me/) - ([GitHub](https://github.com/dondish))
- [**Wessel#0498**](https://wessel.meek.moe) - ([GitHub](https://github.com/Wessel))
- [**davidjcralph#9721**](https://davidjcralph.com) - ([GitHub](https://github.com/davidjcralph))
- **Kyle** - ([GitHub](https://github.com/scrap))

## License
**Nino** is released under the **MIT License**, read [here](/LICENSE) for more information! 💖
Loading