General usage discord bot aimed at cutting down the amount of bots needed in a server
- Moderation
- Audit Logging
- Message Filtering
- Reaction Roles
- Custom Commands (tags)
- Ticketing
- Giveaways
Yoki was built out of a desire to cut down the amount of bots that had to be invited to a discord server. It's original purpose was to allow sub-guilds in a guild, but was later repurposed to be a general usage discord bot.
Yoki requires Node.js >=12 due to the dependency on discord.js.
Yoki advises you use PNPM due to it's monorepo setup. You can use npm, but it will be much more of a hassle.
You must enable the SERVER MEMBERS intent in https://discord.com/developers/applications
- Normal
git clone https://github.com/zaida04/Yoki.git
cd yoki
pnpm i --r
- Change
knexfile.example.js
=>knexfile.js
- supply ENV variables in a
bot.env
file in the root. pnpm run build
pnpm run knex:init
pnpm run start:bot
- Docker
Requires docker and docker-compose
git clone https://github.com/zaida04/Yoki.git
cd yoki
- Change
knexfile.example.js
=>knexfile.js
- supply ENV variables in a
bot.env
file in the root. docker-compose up -d
Coming soon.
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
It's advised to use an sqlite database for testing purposes. You must install this yourself.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Yoki is structured as a monorepo
lib/
- Custom libraries
packages/
- Main applications
packages/bot
- Where the bot part of Yoki lives
packages/bot/src/core/
- Being the core of Yoki
packages/bot/src/common/
- Being things that more than one folder share in dependency
packages/bot/**
- Most of the other dirs are modules (such as audit logging, moderation, etc)
packages/dashboard
- Dashboard for Yoki