Closed fatinghenji closed 2 years ago
在 adapter_mirai2
中目前暂时还没有提供允许任意群成员的 rule
规则,但你可以参考我在 permission.py
中写的规则自己弄一个。
实际上如果只想把处理器限制在群里的话可以像这样使用
from nonebot import on_command
from nonebot.adapters.mirai2 import Bot, GroupMessage
Session = on_command("/about")
@Session.handle()
async def _(bot: Bot, event: GroupMessage):
await Session.send(json.dumps(await bot.about(), ensure_ascii=False))
通过nb2的类型检查功能就已经可以实现了。 我推荐这样做的原因是它足够简洁,并且非常的易于理解。
甚至你还可以这样以支持多个事件类型
async def _(bot: Bot, event: Union[GroupMessage, FriendMessage]):
时间过久,将关闭该问题
在从
nonebot.adapters.onebot.v11
转到nonebot_adapter_mirai2
时遇到了一个问题:onebot.v11
中定义了permission=GROUP
为群中所有的成员所拥有的权限,而在nonebot_adapter_mirai2
中将该权限分为了GROUP_MEMBER
,GROUP_ADMIN
,GROUP_ADMINS
,GROUP_OWNER
,GROUP_OWNER_SUPERUSER
,SUPERUSER
。在原插件(nonebot_plugin_fortune)中部分使用的
GROUP
权限的代码如下:如果我要将其改为
nonebot_adapter_mirai2
所拥有的权限,是需要将其全部替换为GROUP_MEMBER, GROUP_ADMIN, GROUP_OWNER
吗?如果不是的话,应该怎么替换呢?