/Riniya

Brand new discord bot for the furry community

Primary LanguageCSSGNU General Public License v3.0GPL-3.0

Banner Discord Ko-fi Mail Website

Documentations API Website

Hey, here's the bot discord, which includes the backend and the entire bot base.

How do I use it?

It's very simple. All you need is git, a MongoDB server and Redis, and you need an SSL certificate if you want to use the backend.

Without docker

git clone git@github.com/RINIYAProject/Riniya.git
cd Riniya/
mkdir logs
# Don't forget to re-install typescript dev version
# Otherwise you will not be able to launch via tsc
npm i -D typescript
yarn && yarn run start

Using Docker

docker pull ghcr.io/RINIYAProject/Riniya
# Don't forget to create your .env
docker run RINIYAProject/Riniya 

The .env file is required to run the bot.

Required variables

TOKEN=<your discord token>
MONGODB=<your mongodb url>
SERVER_KEY=<the path of your ssl certificate private key>
SERVER_CERT=<the path of your ssl certificate public key>
REDIS_URL=<your redis host url>
TWITTER_TOKEN=<your twitter api key>
DISCORD_CLIENT_ID=<client-id>
DISCORD_CLIENT_TOKEN=<client-token>
DISCORD_CLIENT_SECRET=<client-secret>
DISCORD_REDIRECT_URI=<redirect-uri>

Optional variables

VERSION=<your build version>
REVISION=<your revision code>
DEBUG=<true or false if you need to debug the app> 

Docker variables

# This is to create the user of your database.
# Never change those data after the first launch!
MONGO_INITDB_ROOT_USERNAME=<your database username>
MONGO_INITDB_ROOT_PASSWORD=<your database password>
ME_CONFIG_MONGODB_URL=mongodb://<username>:<password>@database:27017/

Command available flags:

isDeveloper = The command is reserved only for the peoples inside the developer list.
isNSFW = The command need to be executed inside a NSFW channel.
isProtected = The command will need the permission 'MODERATE_MEMBERS' to use it

Button available flags:

isDynamic = The button will only interact with the target user.
isProtected = The button will only interact with the peoples inside the developer list.

The features that need to be improved

  1. The verification system

Progression

  • The verification system
  • Select menu self roles
  • The backend
  • The websocket
  • Dashboard & Front website
  • Giveaways system
  • Authentication API
  • Level & Economy system
  • The fur-sona profile
  • The file bucket server
  • Context menus
  • All base commands
  • Database improvement
  • Code optimisation & refactor
  • Fixing TSC warnings
  • Customized commands
  • Customized verification form

Advices

For web applications, you need to use HAProxy to distribute the network correctly. For security reasons, you must also use a separate server for the databases. We recommend to use Nginx Proxy Manager with docker.

Disclaimers

This project is licensed under the GNU-GPLv3 license. You must respect the license and guidelines to use this project. No commercial use is allowed, you must upload your sources publicly under the same license and author if you use this project. You may not remove the author's header/contributor's name from the code. You may not add yourself to the list of authors. You are only allowed to appear in the list of contributors if you have made a pull request on the official repository. Please do not change the copyright header inside our web-application, You need to refer this repository.

Visitors:

visitors