/Yuuko

A bot that interacts with the AniList API to show, suggest, and interact with anime and manga, and alot more.

Primary LanguageTypeScriptMIT LicenseMIT

Yuuko

* This is prerelease software, the current release does not represent the final quality of the product.

Commit Activity Lines Of Code Dependency Status

Yuuko Logo

Yuuko is a free and open source Discord bot that integrates with the AniList API, providing the users with useful commands for viewing anime, manga, getting recommendations, viewing AniList users profiles without opening a browser tab, and many more. Yuuko is the product of two bots being merged together (AniSuggest by TibixDev, Sayykii, and TheCultureMan by crackheadakira). It is actively maintained.

Invite our bot

Click here

Installation

Simple Installation

  1. Clone the repository
$ git clone https://github.com/YuuCorp/Yuuko.git
  1. Generate an rsa keypair
$ mkdir -p ./src/RSA && ssh-keygen -t rsa -m PKCS8 -f ./src/RSA/id_rsa -C id_rsa
  1. Install all the dependencies (install bun)
$ bun i
  1. Edit the file called .env.local and change the TOKEN in it
$ cp .env .env.local
  1. To create the Dragonfly database, you first need to install Docker, after that follow the instructions on the Dragonfly repo, make sure the default port(6379) is used for the Dragonfly instance.
  2. Create the sqlite queries and make an empty db
$ bun db:generate
$ bun db:push

$ 7. Start the bot

$ bun run dev

PM2 Container Installation (Linux)

  1. Make sure TRUSTED_USERS includes your Discord ID in .env.local, so you can update the bot if needed.
  2. Do the same as in Simple Installation, except instead of running bun run start, run sh start.sh.
  3. You can update the bot by running the update command. (Rebooting will be included in the future)

Configuration

  • You can disable certain commands by changing their .ts prefix, or by deleting the command file entirely. Beware though, some commands like anime and manga are hooked into by other commands, so deleting hookable commands will also cause those to break.

Contribution

Feel free to create pull requests for any improvements you feel like making, but only do so if they have to do with the core idea of the bot, and they implement/fix actual functionality. In your pull request you should ideally describe what you changed, and why changed it.

Legal

Licensed under the MIT license:

Copyright 2021 - 2023 Yuuko Developers

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Security & Responsible Disclosure

We take security very seriously. If you think you found a security vulnerability in our software please send us a message on Discord or e-mail before disclosing anything publicly. We will rest assured take immediate action, and upon a valid submission you will optionally get a place in our Hall of Fame.