|Last updated||Sun Oct 09 2022|
|Created||Mon Oct 11 2021|
Raven bot is a Discord bot application written in Node.js using discord.js. It has a wide variety of features which are listed below
The bot has a wide variety of features including but not limited to:
- Keeping track of user birthdays and notifying their friends.
- Playing music in voice chats (owlet).
- Playing music in multiple voice channels at once (owlet).
- Levelling system based on chat activity.
- Level Rewards.
- Web level leaderboard.
- Manual moderation tools.
- Dynamic private voice chats.
- AFK system.
- Logging system for server moderators.
- Permission system.
- Dynamic command loading with support for subcommand and subcommandgroups.
- PostgreSQL database.
Raven bot plays music to its users using a secondary application called Owlet, These owlets are fundamentally tiny bot applications whose only function is playing music. They dynamically connect and communicate with Ravenbot using a WebSocket connection. Using this method has several advantages which are listed below:
- Play music on multiple channels.
- Dynamically spin up new owlets
- Load balancing
- Restart Raven without interrupting the music.
There are currently countless music-playing applications on discord but this specific approach enables users to more easily play music on multiple channels through a singular bot interface, streamlining the user experience. A feature such as this is not implemented by any of the prominent bots on Discord.
In order to advertise Raven and improve the user's interactions with a web GUI was made in NextJS, I listed its current functionality below.
- Level leaderboard.
- Landing page.
Learning how to make vector art has also always been an interest of mine and it has many benefits for web dev because of its performance. Which is why this website has such a large quantity of SVGs and animations