Discord.py @ bot.event - PullRequest
       9

Discord.py @ bot.event

1 голос
/ 29 мая 2020

Итак, у меня есть сценарий, который использует как @ bot.event, так и @ bot.command. Проблема в том, что когда у меня ожидает событие @ bot.event, команда @ bot.com не запускается.

@bot.event
async def on_ready():
    print("Bot Is Ready And Online!")

async def react(message): 
    if message.content == "Meeting":
        await message.add_reaction("?")

@bot.command()
async def info(ctx):
    await ctx.send("Hello, thanks for testing out our bot. ~ techNOlogics")

@bot.command(pass_context=True)
async def meet(ctx,time):
    if ctx.message.author.name == "techNOlogics":
        await ctx.channel.purge(limit=1)
        await ctx.send("**Meeting at " + time + " today!** React if you read.")

@bot.event ##THIS ONE HOLDS UP THE WHOLE SCRIPT
async def on_message(message):
    await react(message)

1 Ответ

0 голосов
/ 29 мая 2020

При использовании комбинации события on_message с командами вы захотите добавить await bot.process_commands(message), например:

@bot.event
async def on_message(message):
    await bot.process_commands(message)
    # rest of code

Как сказано в документации:

Эта функция обрабатывает команды, которые были зарегистрированы для бота и других групп. Без этой сопрограммы ни одна из команд не будет запущена.

Если вы решите переопределить событие on_message (), вы также должны вызвать эту сопрограмму.

Каталожные номера:

...