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")