Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/maseshi/shioru

🧸 (Discord) Your personal assistant that will make your discord never lonely again.
https://github.com/maseshi/shioru

bot command-handlers discord discord-bot discord-js discord-js-bot discord-js-v14 firebase games interaction-handlers languages music nodejs slash-commands thailand

Last synced: about 11 hours ago
JSON representation

🧸 (Discord) Your personal assistant that will make your discord never lonely again.

Awesome Lists containing this project

README

        


Shioru

Shioru


Personal assistants in Discord that will help make your guild a better place.





Discord.js v14


Last commit


Status




Crowdin


CodeFactor


Top.gg



Add App
Β·
Switch Languages
Β·
Status
Β·
Improve Translation
Β·
Rate It


Your best personal assistants will help your guild look more lively. She can do so many things that you can easily see detailed information on all commands by typing `/help`.

## ✨ Outstanding features

- [x] Worked on [Discord.js](https://discord.js.org/) v14
- [x] Easy to read, easy to use and highly effective
- [x] You can customize many things you want
- [x] Contains all commands including 100+ available subcommands
- [x] Can play music both from [YouTube](https://www.youtube.com/), [Spotify](https://www.spotify.com/), [SoundCloud](https://soundcloud.com/) and [900+ more Website](https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md) along with an automatic music playback system
- [x] Supports multiple languages. You can check the supported languages ​​from the [Language File](https://github.com/Maseshi/Shioru/blob/main/source/configs/languages.json) of this repository.
- [x] Tier system (Level and experience)
- [x] Support for customizing server notifications
- [x] You can talk by typing `@Shioru` followed by the message you want to communicate
- [x] Supports working on Shards or supports working in various guilds
- [x] You can use application commands (`/`)
- [x] Simulate the database system for testing.

And many other interesting features...

## 🧩 Prerequisites

- [Node.js](https://nodejs.org/) v18.0.0 or higher
- [Firebase Tools](https://firebase.google.com/docs/cli) (requires [Java](https://www.oracle.com/java/technologies/downloads/) v11.0.0 or higher)
- [Build Tools](https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022) (requires [Python](https://www.python.org/downloads/) v3.12.0 or higher)
- [FFmpeg](https://ffmpeg.org/download.html)
- [Git](https://git-scm.com/downloads)

## βŒ› Installation

### 1. Clone the bot and install the components.

- Launch a terminal and run the following command.
```bat
git clone https://github.com/Maseshi/Shioru.git
cd Shioru
npm install
```
- Change the file name `.env.example` to `.env` and enter all required values.

> [!NOTE]
> You can edit some data in **config** at [./source/configs/data.js](./source/configs/data.js).

### 2. Setup bot and invite to join.

- Go to [Discord Developer Portal](https://discord.com/developers/applications)
- Click **"New Application"** and name your bot and accept the Discord policy rules.
- Go to the **"Bot"** page and enable all options in the **Privileged Gateway Intent** section.
![](https://raw.githubusercontent.com/Maseshi/Shioru/main/assets/images/discord-developer-portal-privileged-gateway-intents.png)
- Invite your bot to the server by going to the **OAuth2 > URL Generator** page, selecting `bot` and `applications.commands`, selecting `Administrator`, then copy the link and paste it in the browser address bar. Your sir
![](https://raw.githubusercontent.com/Maseshi/Shioru/main/assets/images/discord-developer-portal-scopes.png)

### 3. Setup database

- Go to https://firebase.google.com/ and start setting up the project.
- Add a new project and follow the steps.
- Add your first application with **Website** Name your app without needing to select the **"Also set up Firebase Hosting for this app."** option and register the app.
![](https://raw.githubusercontent.com/Maseshi/Shioru/main/assets/images/firebase-setup-web-application.png)
- Firebase will provide you with information about its configuration. Apply these values to the file. `.env`
- Go to **Build > [Realtime Database](https://console.firebase.google.com/u/0/project/_/database/data)** to create a database for storing data.

## πŸ”₯ Get started

There are several options available. If you are using [Visual Studio Code](https://code.visualstudio.com/), you can choose your method directly via the Run and Debug tab (Ctrl + Shift + D). For other operations, see Tasks (Ctrl + Shift + B and Ctrl + Shift + P type `>Tasks: Run Task`)

### πŸͺ› Development

- Open a terminal and run the command `npm run dev`.

### β˜• Serve

Test the actual use by performing tasks similar to real use. The system will automatically calculate the split of the work fraction according to the number of guilds.

- Open the terminal and add all the necessary environmental variables.
- For Windows, use commands `set variable=example`
- For Linux or MacOS, use the command `export variable=example`
- Run the command `npm run serve`.

> [!NOTE]
> You will enter automatic development mode because it is a real use. All data will not be recorded.

### 🍡 Production

For actual use, the prepared command or set of commands can be used normally as follows:

- On Linux or MacOS

```sh
sh start.sh || sudo sh start.sh

# or

npm start
```

- On Windows

```bat
./start.bat

@REM or

npm start
```

### 🐳 Running on Docker

This operation requires [Docker](https://www.docker.com/products/docker-desktop/)

- Open the terminal and add all the necessary environmental variables.
- For Windows, use commands `set variable=example`
- For Linux or MacOS, use the command `export variable=example`
- Create an image using the command `npm run docker:build` or `npm run docker:build:serve` for the serve mode and wait until the process is finished.
- After creating the images successfully, run by using the command `npm run docker:build` or `npm run docker:build:serve` for the serve mode.

[Learn more about commands Docker](https://docs.docker.com/reference/)

## 🌐 Improve Translate

You can help us translate existing languages or languages that are not currently available on [Crowdin](https://crowdin.com/project/shioru).

## ⚠️ Found a problem

If you encounter any problems from your current job You can let us know through the tab. [issue](https://github.com/Maseshi/Shioru/issues) of this repository.