Sign inSign up

dysta/jukebot

By dysta

•Updated 10 days ago

Discord music bot written in Python 3

Image
0

10K+

dysta/jukebot repository overview

⁠JukeBot

Powered by Disnake Powered by Poetry
Discord music bot written in Python 3


⁠💻 Developping the bot

If you want to contribute to the developpement :

git clone https://github.com/Dysta/JukeBot 
cd JukeBot
uv sync --locked
⁠⚙ Configuration

Rename .env.example to .env and fill in the values.

⁠🚀 Launch

Run uv run task start.

⁠➕ Other

The bot needs FFmpeg⁠ and FFprobe⁠ to work. It also require a Deno⁠ backend to correctly bypass Youtube bot protection.

⁠Install on Windows

Use Chocolatey⁠, run choco install ffmpeg.

⁠Install on Linux

Use apt, run sudo apt install ffmpeg.

⁠Install on MacOS

Use brew, run brew install ffmpeg.

⁠Install Deno

Follow the Deno guide⁠

⁠🧰 Mise

The project include a mise⁠ configuration to quickly setup the local environment, I recommend to use this method.

In your terminal type mise install then mise run install.
It will download uv, python, install the dependencies and setup both ffmpeg and ffprobe binary in your path.

Note

**All** the scripts in `mise` aren't compatible with **Windows** since it use the `bash` syntaxe. \ It also didn't install Deno since the bot detection from Youtube isn't triggered with a customer IP. \ **The docker image does include Deno since this is this one that is supposed to run on a production environment.**

⁠🌐 Running with Docker

If you just want to run the bot for your personnal use without dealing with any installation :

mkdir -p jukebot
cd jukebot
curl -fsSLo .env https://raw.githubusercontent.com/Dysta/JukeBot/main/.env.example
# edit .env to fill in the values
docker run --name jukebot --restart on-failure:3 --env-file .env dysta/jukebot

⁠🗨 Features & Commands

A non exhaustive list of the commands supported by the bot.

⁠Music
  • join
  • play
  • playtop
  • playskip
  • search
  • nowplaying
  • grab
  • seek
  • loop
  • pause
  • resume
  • lyrics
  • disconnect
  • share
⁠Queue
  • queue
  • loopqueue
  • move
  • skipto
  • shuffle
  • remove
  • clear
  • removedupes
⁠Utility
  • prefix
  • reset
⁠Effect
  • speed
  • bass
  • nightcore
  • slowed
⁠Others
  • info
  • invite
  • donate
  • watch
  • help

⁠🤝 Contributing

Contributions are what make the open source community an amazing place to learn, be inspired, and create. Any contributions you make are greatly appreciated.

  1. Fork the repository⁠
  2. Clone your fork git clone https://github.com/Dysta/JukeBot.git
  3. Create your feature branch git checkout -b AmazingFeature
  4. Stage changes git add .
  5. Commit your changes git commit -m 'Added some AmazingFeature'
  6. Push to the branch git push origin AmazingFeature
  7. Submit a pull request

⁠❤️ Credits

Released with ❤️ by Dysta⁠.

Tag summary

Content type

Image

Digest

sha256:76d1709b5…

Size

319 MB

Last updated

10 days ago

docker pull dysta/jukebot