nonebot / nonebot2

跨平台 Python 异步聊天机器人框架 / Asynchronous multi-platform chatbot framework written in Python
https://nonebot.dev
MIT License
5.73k stars 540 forks source link

【功能建议】对aliases里面的关键词也设置起始命令 #2730

Closed mengluo04 closed 2 months ago

mengluo04 commented 2 months ago

希望能解决的问题

目前cmd命令可以实现匹配命令前缀,但是aliases里面的不行,比如#,*开头的命令都会触发aliases里面的命令

描述所需要的功能

实现和cmd前缀一样的功能,比如环境变量配置文件里面的COMMAND_START参数

RF-Tar-Railt commented 2 months ago

你先跟我解释一下什么是命令别名

mengluo04 commented 2 months ago

你先跟我解释一下什么是命令别名

on_command方法里面的这个参数:aliases

RF-Tar-Railt commented 2 months ago

你先跟我解释一下什么是命令别名

on_command方法里面的这个参数:aliases

我在问你它的意义和功能

yzyyz1387 commented 2 months ago

你举个实际例子说明一下

mengluo04 commented 2 months ago

你举个实际例子说明一下

群里有原神和星铁两个机器人,原神机器人那边指定是#xx角色面板,星铁这边是xx角色面板,发送#xx角色面板,两边都会触发。看了原神机器人那边不是用的nb开发,是作者用正则匹配的然后走的nobe标准,看起来是插件作者自己处理更合适?

yzyyz1387 commented 2 months ago

哦原来你是...

yanyongyu commented 2 months ago

alias 就是命令的别名,同样受 command start 配置影响

mengluo04 commented 2 months ago

alias 就是命令的别名,同样受 command start 配置影响

不太对,设置了前缀,只有命令生效了,别名还是没有判断前缀,nonebot2的版本是2.2.1 image image

RF-Tar-Railt commented 2 months ago

你把.env改成.env.prod看看 要么你把日志等级改成DEBUG

mengluo04 commented 2 months ago

你把.env改成.env.prod看看 要么你把日志等级改成DEBUG

用的是.env.prod,这是debug日志的结果 image

RF-Tar-Railt commented 2 months ago

你把.env改成.env.prod看看 要么你把日志等级改成DEBUG

用的是.env.prod,这是debug日志的结果 image

你自己去看插件源码。。。xxx面板用的是on_regex,与command无关

mengluo04 commented 2 months ago

你把.env改成.env.prod看看 要么你把日志等级改成DEBUG

用的是.env.prod,这是debug日志的结果 image

你自己去看插件源码。。。xxx面板用的是on_regex,与command无关

好的,非常感谢