如何使用多个有效的“on_message”?

时间:2021-04-09 15:02:47

标签: python discord.py

@client.event
async def on_message(message):
    if message.content.startswith("hey"):
        await message.reply('こんにちは', mention_author=True)

    await client.process_commands(message)

@client.event
async def on_message(message):
    if message.content.startswith("test"):
        await message.reply('123', mention_author=True)

    await client.process_commands(message)

我有这 2 个 on_message 并且不管我会创建多少我创建的最后一个都可以工作,在这种情况下我的测试只能工作,我看到 await client.process_commands(message) 修复了另一个命令有效,但我不能执行多个 on_message 所以请帮忙

1 个答案:

答案 0 :(得分:2)

为什么需要多个方法?只需将方法中的所有代码组合在一起即可。

例如:

@client.event
async def on_message(message):
    if message.content.startswith("hey"):
        await message.reply('こんにちは', mention_author=True)
    if message.content.startswith("test"):
        await message.reply('123', mention_author=True)
    
    await client.process_commands(message)