/Nino

🔨 Advanced and cute moderation discord bot as an entry of Discord's Hack Week!

Primary LanguageTypeScriptMIT LicenseMIT

Nino

Build Status

🔨 | Moderation-based Discord bot initally created for the Discord hackweek, now it is still regularly maintained.

Website | Support Server | Invite

How to use the bot?

Check out the wiki!

Contributing

First, check our contributing guidelines and code of conduct.

Features

  • Auto Moderation - Prevents raids, spam, ads and many more!
  • Lockdown command - locks one, multiple or all channels for a specific role downwards
  • Moderation commands - many moderation commands to simplify your moderators' work.
  • Moderation Log and Cases - easy and organized way of seeing the actions done by you and your mods!
  • Advanced warning system and auto punishments - automatically punish those who commit offenses!

Installation

Requirements

Setting up the bot (normally)

  1. Clone the repository using Git: git clone https://github.com/NinoDiscord/Nino (If you don't have Git, just go to "Clone or download" and click "Download ZIP" then extract)
  2. Install dependencies with NPM (included in Node.js): npm i (or with Yarn yarn)
  3. Create an application.yml file in your working directory and fill it in (see the example for more information)
  4. Compile TypeScript (install TypeScript with npm i -g typescript or with Yarn yarn global add typescript): tsc
  5. Run the bot in the dist directory: node bot.js
  6. Invite the bot to your server: https://discordapp.com/oauth2/authorize?client_id=BOTIDHERE&scope=bot (replace "BOTIDHERE" with your Discord bot's client id)

(4 and 5 can be bypassed by running npm run main)

Bot credentials (+ extra information) and personal touches are obviously your responsibility. You should know this by now, I hope.

Notes when using Docker

  1. Use the example application.yml but change localhost in the URL for the database to database and change the host for Redis to redis
  2. Run docker-compose up -d

Example application.yml

environment: 'development'
databaseUrl: 'mongodb://localhost:27017/database'
sentryDSN: 'Your Sentry DSN'
discord:
  token: 'TOKEN'
  prefix: 'x!'

# options from ioredis
# read here: https://github.com/luin/ioredis/blob/master/API.md#new-redisport-host-options
redis:
  host: 'localhost'
  port: 6379

Cloning/Using Source Code

If you wish to use the source code for a project, please add proper crediting in your code using the LICENSE displayed here.

Credits

Maintainers

  • August#5820 (Lead) (GitHub)
  • dondish#8072 (Development Lead) (GitHub)

Hackweek Participants