如何从 on_message 事件中获取 Discord 上下文对象?

Thö*_*rni 2 python discord discord.py discord.py-rewrite

我目前正在开发一个机器人,实际上现在工作了一段时间,总是使用命令。命令的参数始终是上下文对象:

@client.command
async def test(context):
    message = context.message
Run Code Online (Sandbox Code Playgroud)

所以我围绕上下文对象构建了我的整个系统。现在我想使用 on_message 事件,但不是传递一个上下文对象,在这种情况下,Discord 传递一个消息对象:

@client.event
async def on_message(message):
    ...
Run Code Online (Sandbox Code Playgroud)

如何使用消息对象获取上下文对象?

Jus*_*fun 5

你应该使用 get_context

@client.event
async def on_message(message):
    ctx = await client.get_context(message)
Run Code Online (Sandbox Code Playgroud)