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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions