discord.py не работает await bot.process_commands(message)

Я захотел в своем дискорд боте обьеденить и обычные команды, и реагирование на простые сообщения. Изначально ничего не работало но потом я прочитал в документации что нужно просто в конец on_message добавить await bot.process_commands(message). Но ничего не изменилось, программа все также не работает. Вот фулл код моего бота на данный момент:

import discord
from config import settings
from discord.ext import commands

intents = discord.Intents.default()
intents.message_content = True
bot = commands.Bot(command_prefix='!', intents=intents)

class MyClient(discord.Client):
    async def on_ready(self):
        print(self.user, 'запущена и готова к работе!')
        

async def on_message(message):
    if message.content == 'пинг':
        await message.channel.send('понг')
    await bot.process_commands(message)

    

@bot.command()
async def info(ctx):
    await ctx.send('arg')

client = MyClient(intents=intents)
bot.run(settings['token'])

Заранее спасибо


Ответы (1 шт):

Автор решения: q r t s

Исправьте свой код и лично по-моему мнению class здесь создавать нет необходимости. Снизу исправленный, рабочий код.

import discord
from discord.ext import commands

intents = discord.Intents.default()
intents.message_content = True
bot = commands.Bot(command_prefix='!', intents=intents)

@bot.event
async def on_ready():
    print(bot.user, 'запущен и готов к работе!')


@bot.event
async def on_message(message):
    if message.content == 'пинг':
        await message.channel.send('понг')
    
    await bot.process_commands(message)

    

@bot.command()
async def info(ctx):
    await ctx.send('arg')


bot.run("TOKEN")
→ Ссылка