Commands don’t run in discord.py 2.0 – no errors, but run in discord.py 1.7.3

I’m trying to understand how migrating from Discord.py version 1.7.3 to 2.0 works. In particular, this is test code I’m using:

from discord.ext import commands

with open('token.txt', 'r') as f: 
    TOKEN = f.read()

bot = commands.Bot(command_prefix='$', help_command=None)

@bot.event
async def on_ready():
    print('bot is ready')

@bot.command()
async def test1(ctx):
    print('test command')

bot.run(TOKEN)

In Discord.py 1.7.3, the bot prints ‘bot is ready’ and I can do the command $test1.

In Discord.py 2.0, the bot prints ‘bot is ready’, but I can’t do the command, and there is no error message in the console when I’m trying to do the command.

Why does this occur, and how can I restore the behaviour of version 1.7.3 in my bot?

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

Use Intents with discord.py 2.0

  1. Enable Intents

  1. Add your intents to the bot

Let’s add the message_content Intent now.

import discord
from discord.ext import commands

intents = discord.Intents.default()
intents.message_content = True

bot = commands.Bot(command_prefix='$', intents=intents, help_command=None)

  1. Put it together

The code should look like this now.

import discord
from discord.ext import commands

with open('token.txt', 'r') as f: TOKEN = f.read()

# Intents declaration
intents = discord.Intents.default()
intents.message_content = True

bot = commands.Bot(command_prefix='$', intents=intents, help_command=None)

@bot.event
async def on_ready():
    print('bot is ready')

# Make sure you have set the name parameter here
@bot.command(name="test1$", aliases=["test1"])
async def test1(ctx):
    print('test command')

bot.run(TOKEN)


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x