Skip to content

[Bug] 当响应器命令被覆盖后,源命令的别名也会被继承 #104

@meng-luo

Description

@meng-luo

请确认:

  • 问题的标题明确
  • 我翻阅过其他的issue并且找不到类似的问题
  • 我已经阅读了相关文档 并仍然认为这是一个Bug

Bug

问题

当两个不同的插件注册同一个命令后,后加载的插件会覆盖先加载插件的命令。同时,后加载的插件还会继承先加载插件的别名,导致误触发

我装了二次元语录群语录两个不同插件,他们的触发命令都是语录,其中二次元语录插件包含别名二次元;于是就会出现,我在群里发送二次元,而bot发送的是群语录

如何复现

创建test1,test2两个插件,都注册test命令,其中test1插件注册别名test1,运行后,无论输入test还是test1,都返回test2
Image

预期行为

可以有多种预期
1、当出现命令冲突时报错
2、两个插件独立触发,第一个插件进触发别名,第二个插件触发命令

使用环境:

  • Python 版本: 3.11.9
  • Nonebot2 版本: 2.4.2
  • Alconna 版本: 0.58.2

日志/截图

运行过程无出错
Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions