GraiaProject/Ariadne

[Bug] AlconnaDispatcher无法获取MessageEvent

Closed this issue · 1 comments

问题
AlconnaDispatcher内的beforeExecution函数会在调用DispatcherInterface.lookup_param("event", MessageEvent)时,
因为ContextDispatcher在当前dispatchers中的位置处于AlconnaDispatcher后面, 导致AlconnaDispatcher的catch方法被先调用, 并引发后续错误。

如何复现
在Ariadne 0.6.5版本运行 TEST

预期行为
event = await interface.lookup_param(...)改为event = interface.event
或者使ContextDispatcher插入在AlconnaDispatcher前面

使用环境:

  • 系统:
  • MAH 版本: 2.5.0
  • Ariadne 版本: 0.6.5
  • Python 版本: 3.8.6
  • 其他 Graia 库版本: BroadcastControl 0.16.1
  • 其他 有关 库版本: Alconna 0.7.3

日志/截图
图片