{"id":20501948,"url":"https://github.com/jaco8060/jiggymusicbot","last_synced_at":"2026-04-18T12:02:44.183Z","repository":{"id":257077422,"uuid":"857237111","full_name":"jaco8060/JiggyMusicBot","owner":"jaco8060","description":"Discord YouTube Audio Bot","archived":false,"fork":false,"pushed_at":"2025-01-29T07:47:43.000Z","size":61005,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-05T19:59:18.625Z","etag":null,"topics":["bot","discord","raspberry-pi"],"latest_commit_sha":null,"homepage":"https://discord.com/oauth2/authorize?client_id=1284369572476223511\u0026permissions=3221504\u0026integration_type=0\u0026scope=bot+applications.commands","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jaco8060.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-14T05:49:58.000Z","updated_at":"2025-01-29T07:47:46.000Z","dependencies_parsed_at":"2025-01-29T08:38:31.189Z","dependency_job_id":null,"html_url":"https://github.com/jaco8060/JiggyMusicBot","commit_stats":null,"previous_names":["jaco8060/jiggymusic-bot"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaco8060%2FJiggyMusicBot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaco8060%2FJiggyMusicBot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaco8060%2FJiggyMusicBot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaco8060%2FJiggyMusicBot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaco8060","download_url":"https://codeload.github.com/jaco8060/JiggyMusicBot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242097419,"owners_count":20071252,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bot","discord","raspberry-pi"],"created_at":"2024-11-15T19:18:19.895Z","updated_at":"2026-04-18T12:02:44.175Z","avatar_url":"https://github.com/jaco8060.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Jiggy Music Bot\n\nThis bot allows you to play music, upload audio files, and manage music queues in a Discord server. It supports YouTube links and direct audio file uploads.\n\n## Table of Contents\n\n1. [Creating Your Discord Bot](#creating-your-discord-bot)\n2. [Running the Bot on Windows](#running-the-bot-on-windows)\n3. [Raspberry Pi Implementation](#raspberry-pi-implementation)\n4. [Commands and How to Use Them](#commands-and-how-to-use-them)\n5. [Terms of Service and Privacy Policy](#terms-of-service-and-privacy-policy)\n6. [Dependencies](#dependencies)\n\n## Creating Your Discord Bot\n\n1. Go to the [Discord Developer Portal](https://discord.com/developers/applications).\n2. Click on \"New Application\" and give your bot a name.\n3. Navigate to the \"Bot\" tab on the left sidebar.\n4. Click \"Add Bot\" and confirm by clicking \"Yes, do it!\"\n5. Under the \"TOKEN\" section, click \"Copy\" to copy your bot token. You'll need this for the `.env` file.\n6. Scroll down to the \"Privileged Gateway Intents\" section and enable \"MESSAGE CONTENT INTENT\".\n7. Click \"Save Changes\" at the bottom of the page.\n\n### Inviting Your Bot to Your Server\n\n1. In the Discord Developer Portal, go to the \"OAuth2\" tab in the left sidebar.\n2. Scroll down to the \"OAuth2 URL Generator\" section.\n3. Under \"SCOPES\", check the boxes for:\n   - `bot`\n   - `applications.commands`\n4. Under \"BOT PERMISSIONS\", check the boxes for:\n   - Send Messages\n   - Connect\n   - Speak\n   - Manage Messages\n   - Read Message History\n5. Scroll down and copy the generated URL.\n6. Open this URL in a new browser tab.\n7. Select the server you want to add the bot to and click \"Authorize\".\n\n## Running the Bot on Windows\n\n### Prerequisites\n\n- [Git](https://git-scm.com/downloads)\n- [Docker Desktop](https://www.docker.com/products/docker-desktop)\n\n### Steps\n\n1. Clone the repository:\n\n   ```\n   git clone https://github.com/jaco8060/JiggyMusicBot.git\n   cd JiggyMusicBot\n   ```\n\n2. Create a `.env` file in the project directory:\n\n   ```\n   notepad .env\n   ```\n\n3. Add your environment variables to the `.env` file:\n\n   ```\n   DISCORD_BOT_TOKEN=\u003cyour-discord-bot-token\u003e\n   YOUTUBE_API_KEY=\u003cyour-youtube-api-key\u003e\n   ```\n\n4. Create a batch file named `start_bot.bat` in the project directory:\n\n   ```\n   notepad start_bot.bat\n   ```\n\n5. Add the following content to the batch file:\n\n   ```batch\n   @echo off\n   docker build -t jiggybot1 .\n   docker stop jiggyBotContainer1\n   docker rm jiggyBotContainer1\n   docker run -d --name jiggyBotContainer1 --env-file .env --restart unless-stopped jiggybot1\n   ```\n\n6. Run the batch file to build and start the bot:\n   ```\n   start_bot.bat\n   ```\n\n## Raspberry Pi Implementation\n\nThis implementation is designed for a Raspberry Pi Zero 2 W using DietPi as the operating system.\n\n### Step 1: Set Up Your Raspberry Pi Zero 2 W with DietPi\n\n1. Visit the official [DietPi Installation Guide](https://dietpi.com/docs/install/) and follow the instructions for Raspberry Pi Zero 2 W.\n2. Download the appropriate DietPi image for Raspberry Pi Zero 2 W.\n3. Flash the image to your microSD card using a tool like Etcher or Raspberry Pi Imager.\n4. Insert the microSD card into your Raspberry Pi Zero 2 W and power it on.\n5. Follow the initial setup process for DietPi, ensuring you connect to your network.\n\n### Step 2: Install Docker and Git on DietPi\n\n1. After setting up DietPi, SSH into your Raspberry Pi Zero 2 W.\n2. Visit the [DietPi Software Installation Tool guide](https://dietpi.com/docs/dietpi_tools/software_installation/) for detailed instructions on installing software packages.\n3. To install Docker and Git, use the following commands in the DietPi-Software tool:\n\n   ```\n   Docker\n   Git\n   ```\n\n   This will install Docker, Git, and all their dependencies.\n\n4. After installation, reboot your Raspberry Pi:\n   ```\n   sudo reboot\n   ```\n\n### Step 3: Clone the Repository and Set Up the Project\n\n1. Clone the repository:\n\n   ```\n   git clone https://github.com/jaco8060/JiggyMusicBot.git\n   cd JiggyMusicBot\n   ```\n\n2. Create a `.env` file in the project directory:\n\n   ```\n   nano .env\n   ```\n\n3. Add your environment variables to the `.env` file:\n   ```\n   DISCORD_BOT_TOKEN=\u003cyour-discord-bot-token\u003e\n   YOUTUBE_API_KEY=\u003cyour-youtube-api-key\u003e\n   ```\n\n### Step 4: Build and Run the Docker Container\n\nCreate a bash script named `start_bot.sh` in the project directory:\n\n```bash\nnano start_bot.sh\n```\n\nAdd the following content to the script:\n\n```bash\n#!/bin/bash\n\n# Build the Docker image\ndocker build -t jiggybot1 .\n\n# Stop the existing container if running\ndocker stop jiggyBotContainer1\n\n# Remove the existing container\ndocker rm jiggyBotContainer1\n\n# Run a new container with the built image\ndocker run -d --name jiggyBotContainer1 --env-file .env --restart unless-stopped jiggybot1\n```\n\nMake the script executable:\n\n```bash\nchmod +x start_bot.sh\n```\n\nRun the script to build and start the bot:\n\n```bash\n./start_bot.sh\n```\n\n## Commands and How to Use Them\n\n- `/play \u003cYouTube URL or Search Query\u003e`\n\n  - **Description**: Play a song from YouTube, either by providing a direct URL or searching by a keyword.\n  - **Example**: `/play Rick Astley - Never Gonna Give You Up`\n\n- `/upload_play`\n\n  - **Description**: Upload an audio file (e.g., `.mp3` or `.wav`) and play it in the voice channel.\n  - **Usage**: Run the command `/upload_play` and follow the instructions to upload your file.\n\n- `/skip`\n\n  - **Description**: Skips the currently playing song and plays the next one in the queue.\n\n- `/stop`\n\n  - **Description**: Stops the music, disconnects the bot from the voice channel, and clears the queue.\n\n- `/queue`\n\n  - **Description**: View the current queue of songs.\n\n- `/repeat \u003cChoose 'on' or 'off'\u003e`\n  - **Description**: Toggles repeat mode on or off which repeats the current queue.\n\n# Dependencies\n\nThis bot uses the following dependencies to work correctly:\n\n| Package              | Description                                                                        | Version  |\n| -------------------- | ---------------------------------------------------------------------------------- | -------- |\n| discord.py           | A Python wrapper for the Discord API, used for creating bots.                      | 2.4.0    |\n| discord.ext.commands | Extension for discord.py to create bot commands.                                   | 2.4.0    |\n| yt_dlp               | A command-line program to download videos from YouTube and other video sites.      | 2024.8.6 |\n| requests             | A simple, yet elegant HTTP library for Python.                                     | 2.32.3   |\n| dotenv               | Reads key-value pairs from a .env file and adds them to environment variables.     | 1.0.0    |\n| pynacl               | Python bindings to the Networking and Cryptography library.                        | 1.5.0    |\n| ffmpeg               | A complete, cross-platform solution to record, convert and stream audio and video. | 4.4.1    |\n| opus                 | A codec used for interactive speech and audio transmission over the internet.      | 1.3.1    |\n| poetry               | A tool for dependency management and packaging in Python.                          | 1.1.13   |\n| python               | The base Python language and runtime environment.                                  | 3.10     |\n\n## Terms of Service and Privacy Policy\n\n- By using JiggyMusicBot, you agree to our [Terms of Service](TERMS.md).\n- Please review our [Privacy Policy](PRIVACY.md) to understand how we collect and use your data.\n\n---\n\nEnjoy using Jiggy Music Bot for all your Discord music needs!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaco8060%2Fjiggymusicbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaco8060%2Fjiggymusicbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaco8060%2Fjiggymusicbot/lists"}