Swallow
Swallow is a versatile yet easy-to-use and fast Discord music bot written in Node.js
What you expect for Swallow
⚡ Insanely fast
👍 Wide-variety content loading from famous providers to minor providers
🖐️ Easy-to-use, informative, intuitive UI for users
✅ Compatible with LavaLink and NodeLink, using TsumiLink client
🤤 Low-end PC friendly, works with even Raspberry Pi
🧠 Completely optional AI system integrated, with voice recognition and more
What you can expect future for Swallow
✅ Dashboard system that can be used through Discord Activity
🔈 Additional audio providers
What not to expect for Swallow
🤮 Insanely laggy audio streaming with limited sources
🫠 Takes too much time for local setup, takes up a lot of disk space like a blackhole
☹ Hard to configure, too complex code system to re-write
Requirements
Node.js, npm, pnpm
[!IMPORTANT] Install or update pnpm using this command below
npm i pnpm@latest -g
First, clone this repository using this command
git clone https://github.com/Fyphen1223/Swallow
Second, cd into that directory and execute this command
pnpm i
Third, create config.json according to config.example.json file
If you want to use voice recognizer
Create a new folder and cd into it, then use nvm or something like that to use older Node.js version to install vosk (as 18< version of Node.js is not copmatible with it)
Second, copy everything in that node_modules folder and paste it into the original node_modules.
Third, download models and then put them in models directory, naming them as their capable language name.
I will soon release compressed node_modules folder.
Lastly, run the bot by just executing this command
pnpm run start
When you encounter error
First, please make sure that you have installed Node.js and pnpm correctly.
Second, try removing node_modules folder and re-install packages.
Third, make sure Lava/NodeLink is running if you configured it in config.json.
Lastly, if you still have a problem, please create an issue and let me know!
Showcase
Music card example: