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

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

@client.command
async def test(context):
    message = context.message

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

@client.event
async def on_message(message):
    ...

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


jeck猫
浏览 104回答 2
2回答

函数式编程

你应该使用get_context@client.event async def on_message(message):     ctx = await client.get_context(message)

蝴蝶不菲

通过使用异步函数,你是否await在函数中使用过,@client.commandasync def test(context):    message = context.message    #This will be stored in context which must be retrieved@client.eventasync def on_message(Message):    ctx = await client.get_context(Message)    #Do whatever you want
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python