Cute, advanced discord moderation bot made in Eris. Make your server cute and automated with utilities for you and your server moderators *:ο½₯οΎβ§*:ο½₯οΎβ§
- 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.
...and much more!
Need support related to Nino or any microservices under the organization? Join in the Noelware Discord server in #support under the Nino category:
View our contributing guidelines and code of conduct before contributing.
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 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 which will be the same experience if you hosted it or not.
Before running your own instance of Nino, you will need the following tools:
- Timeouts Service (Used for mutes and such or it'll not work!)
- Node.js (Latest is always used in development, but LTS is recommended)
- PostgreSQL (12 is used in development but anything above 10 should fairly work!)
- Redis (6.2 is used in development but above v5 should work)
If you're moving from v0 to v1, you will need your MongoDB instance before to port the database and Rei installed on your system.
There is tools that are optional but are mostly recommended in some cases:
- Sentry - Useful to find out where errors are in a pretty UI
- Docker - If you're a masochist and want to run a private instance with Docker
- Git - Useful for fetching new updates easily.
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! ββ¬ββ©ββͺβ§β©((γ½( α )οΎ))β©β§βͺββ©ββ¬β
# 1. Clone the repository
$ git clone https://github.com/NinoDiscord/Nino.git && cd Nino
# 2. Create a image
$ docker build -t nino:latest --no-cache .
# 3. Run the image
$ docker run -d \
--volume './config.yml:/opt/Nino/config.yml:ro' \ # read-only
nino:latest
# OPTIONAL: Use docker-compose.yml to run the services
$ docker-compose up -d
# 1. Clone the repository
$ git clone https://github.com/NinoDiscord/Nino.git && cd Nino
# 2. Install the dependencies
$ npm install
# 3. Build the project
$ npm run build
# 4. Run the project
$ npm start
If you used v0.x in the past, this is the process on how to migrate:
- 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.
- 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>
(underdatabase
) with your PostgreSQL database host, if running locally, just uselocalhost
ordatabase
if on Docker - Replace
<port>
with your PostgreSQL database port it's running, if running locally, set it to5432
- Replace
<host>
(underredis
) with your Redis connection host, if running locally, just uselocalhost
orredis
if on Docker - Replace
<auth>
with the authenication token you set in the timeouts relay service.
environment: development
token: <discord token>
prefixes:
- !
database:
url: postgres://<username>:<password>@<host>:<port>/<database>
redis:
host: <host>
port: 6379
timeouts:
port: 4025
auth: <auth>