Closed Cathgao closed 2 years ago
若使用的是nonebot2版本,修改.env.dev文件即可
COMMAND_START = ["#"]
hoshino的hoshino/config/bot.py里COMMAND_START可以设置前缀的
hoshino的hoshino/config/bot.py里COMMAND_START可以设置前缀的
您好,我当前使用的是hoshinobot,bot.py里已经设置
COMMAND_START = {"#"} # 命令前缀(空字符串匹配任何消息)
COMMAND_SEP = set() # 命令分隔符(hoshino不需要该特性,保持为set()即可)
但前缀不生效,#会直接传递到原神bot里
实在不行你就改资源查询的指令吧, Genshin_Impact_bot/query_resource_points/init.py 第7行是后缀触发,第8行是前缀触发,你自己把指令改一下吧
实在不行你就改资源查询的指令吧, Genshin_Impact_bot/query_resource_points/init.py 第7行是后缀触发,第8行是前缀触发,你自己把指令改一下吧
这个方法可行
看了下hoshino那边的issue,似乎是没有实现COMMAND_START这个功能
命令前缀是nonebot的特性,Hoshino并没有用到。
当前版本使用的on_prefix等触发器不会识别命令前缀。
命令前缀仅对on_command装饰器起作用。
对于on_prefix和on_fullmatch装饰器,要实现命令前缀并不困难,你通过可以修改hoshino/trigger.py的add方法来实现。
对于on_suffix和on_keyword似乎没有较好的方法添加。对于on_rex可以通过直接修改正则表达式来实现。
Ice-Cirno/HoshinoBot#117
日常群聊中经常会有“在哪”等关键字,会造成bot误触发而回复,造成不必要的误会和打扰。请问能否像yobot(PCR机器人)一样可以设置一个特殊字符的命令前缀,如
#
,只对有前缀的命令进行处理,如#清心在哪
? 感激不尽