How to Make a Discord Music Bot Python? Step-by-Step Guide

Theme Layouts

  • Default

  • Dark

  • Boxed

  • Boxed Dark

Theme Colors

How to Make a Discord Music Bot Python

How to Make a Discord Music Bot Python? Step-by-Step Guide

William Lucas

82 Posts



How to Make a Discord Music Bot Python?

In this blog, we’ll tell you how to make a discord bot. A Discord music bot allows multiple server members to listen to the same music simultaneously. Discord music bots can find songs on Spotify, YouTube, or other platforms and play them on a voice channel.

Discord is an instant messaging and digital distribution platform designed for creating communities. Users can quickly enter chat rooms, initiate video calls, and create multiple groups for messaging friends.

In this tutorial, you’ll learn how to make a discord music bot Python using is a Python library that exhaustively implements Discord’s APIs efficiently and Pythonic so that you can make the most of this fantastic platform.

How to Make a Discord Music Bot Python?

To make a discord music bot in Python, you’ll be using It includes utilizing Python’s implementation of Async IO.

How do you make a rythm bot discord PY

Begin by installing with pip: $ pip install -U

Quick Illustration: To create a Discord music bot using Python use the library, which allows you to communicate with the Discord API and create a bot that can join voice channels, play audio files, and more.

1- Creating a Discord Connection

The first step in implementing your bot user is to create a connection to Discord. With, you do this by creating an instance of Client.

A Client is an object that represents a connection to Discord. A Client handles events, tracks state, and interacts with Discord APIs.

When working with secrets such as your Discord token, reading it into your program from an environment variable is good practice. Using environment variables helps you:

  • Avoid putting the secrets into source control
  • Use different variables for development and production environments without changing your code

2- Importing all the libraries

First, create a virtual environment and install the requirements:

  • discord==1.0.1
  • py==1.6.0
  • python-dotenv==0.15.0
  • youtube-dl==2021.2.10

Next, let’s set up the .env file for our project. Create a .env file so that we can separate the environment configuration variables (these are variables whose values are set outside the program) from the main code:

discord_token = “copy_paste_your_bot_token_here”

Then use Python import to load all the needed modules in the main file

  • import discord
  • from discord.ext import commands, tasks
  • import os
  • from dotenv import load_dotenv
  • import youtube_dl

The module youtube_dl is an open-source download manager for video and audio content from YouTube and other video-hosting websites.

3- Use youtube_dl to download audio

The next step in building our Python Discord bot is dealing with the part that downloads the audio file from the video link we provide. Please note that this bot is just a demonstration. It’s not illegal to download from YouTube for personal use, according to this article, but it might be against the YouTube Terms of Service. Please be sensible and use this for personal use only.

4- Adding commands to the Python Discord bot

Now let’s add the join() method to tell the bot to join the voice channel and the leave() method to tell the bot to disconnect. Here we first check whether the user who wants to play music has joined the voice channel. If not, we tell the user to join first.

Awesome! Pat yourself on the back if you’ve reached this far! You’re doing great. In the next step, we’ll add the following methods:

  • play()
  • pause()
  • resume()
  • stop()

5- Running the Python Discord bot locally

Add the final piece of code to start the bot, and it’s done:

if __name__ == “__main__” :

To deploy the bot locally, activate the virtual environment and run the file:

(venv1) C:\Github\Discord-Bot>python

6- Responding to Events

An event is something that happens on Discord that you can use to trigger a reaction in your code. Your code will listen for and then respond to events.

There are two ways in to implement an event handler:

  • Using the client.event decorator
  • Creating a subclass of Client and overriding its handler methods

How to Make a Music Bot in Discord?

The discord API provides an easy tool to create and use your bots and tools. Today we will look at how we can create a basic music bot in the article on how to make a discord music bot in python. You will create a Discord music bot in Discord.js, which will be able to play music, queue songs, skip songs and stop songs.

how to make a music bot in discord

Let’s look at all the tools required to complete the process of a music bot.


Before we get started creating the bot, make sure that you have installed all the needed tools.

  • Node
  • NPM

After the installation, we can continue by setting up our discord bot.

1- Setting Up a discord bot.

  • Create a new application on the discord Development Portal.
  • Visit Portal and click on the new application.
  • Give a name to the new application.
  • Click on create button.
  • Click the option bot tab & Click on add bot.

2- Adding the bot to your server

  • After creating the bot.
  • Invite the bot.
  • Navigate to the URL Generator and choose bot in the scope tap.
  • Permit to play music and read messages.
  • Copy generated URL and paste it into the browser.
  • Select the server and press authorizing button.

3- Creating our project

  • Create a project using the terminal.
  • Create a directory using commands “mkdir musicbot && cd musicbot.”
  • Create two files in which we need to work “touch index.js && touch config.json”.
  • Use code and open with the commands “Code.”

4- Discord js basic

  • Install some dependencies.
  • Save the token of our bot and the prefix.
  • For the token, you must revisit the discord developer portal and copy it from the bot section.
  • We need to do this in our config.json file.

5- Code to Make Music Bot Discord

That are the only things we need to do in our config.json file. So let’s start writing our JavaScript code. First, we need to import all our dependencies. After that, we can create our client and log in using our token.

After that, we can start our bot using the node command, and he should be online on discord and print “Ready!” in the console.

6- Reading messages

Now that our bot is on our server and able to go online, we can start reading chat messages and responding to them. To read messages, we only need to write a straightforward function.

7- Adding songs

Let’s start by adding the play command. For that, we need a song and a guild (A guild represents an isolated collection of users and channels and is often referred to as a server). We also need the ytdl library we installed earlier.

Discord Music Bot Github Python

Discord Music Bot Github Python

A simple Python music bot for Discord using lavalink and slash commands. – GitHub – zz-xx/discord-music-bot: A Python music bot for Discord using lavalink and slash commands. Set up a lavalink node, use any publicly available lavalink node, and make a config.json file from the template. You can use your own 18 digits.

Discord Music Bot Code

Discord Music Bot built with discord.js & uses Command Handler from discordjs. For more details about discord music bot code, visit

FAQS: How to Make a Discord Music Bot Python?

Some typical roles that bots fulfill include moderating channels, playing games with users, playing music in voice channels, internet searching, and payment processing. Bots fill countless other typical and niche roles as well.

Wrapping Up

That’s it! Thank you for reading. Hope that this blog on how to make a discord music bot python helped you understand the Discord API and how you can use it to create a simple bot. You can build bots for interacting with users in guilds that you create or even bots that other users can invite to interact with their communities.

If you want to see an example of a more advanced discord bot, you can visit ScrapewithBots.

Leave a Reply

Your email address will not be published. Required fields are marked *