82 lines
2.1 KiB
Python
Raw Normal View History

2021-11-21 15:46:48 +08:00
from nonebot.adapters import Event
2020-12-31 17:58:09 +08:00
from nonebot.permission import Permission
2021-11-21 15:46:48 +08:00
from .event import GroupMessageEvent, PrivateMessageEvent
2020-12-31 17:58:09 +08:00
2021-11-21 15:46:48 +08:00
async def _private(event: Event) -> bool:
2020-12-31 17:58:09 +08:00
return isinstance(event, PrivateMessageEvent)
2021-11-21 15:46:48 +08:00
async def _private_friend(event: Event) -> bool:
2020-12-31 17:58:09 +08:00
return isinstance(event, PrivateMessageEvent) and event.sub_type == "friend"
2021-11-21 15:46:48 +08:00
async def _private_group(event: Event) -> bool:
2020-12-31 17:58:09 +08:00
return isinstance(event, PrivateMessageEvent) and event.sub_type == "group"
2021-11-21 15:46:48 +08:00
async def _private_other(event: Event) -> bool:
2020-12-31 17:58:09 +08:00
return isinstance(event, PrivateMessageEvent) and event.sub_type == "other"
PRIVATE = Permission(_private)
"""
- **说明**: 匹配任意私聊消息类型事件
"""
PRIVATE_FRIEND = Permission(_private_friend)
"""
- **说明**: 匹配任意好友私聊消息类型事件
"""
PRIVATE_GROUP = Permission(_private_group)
"""
- **说明**: 匹配任意群临时私聊消息类型事件
"""
PRIVATE_OTHER = Permission(_private_other)
"""
- **说明**: 匹配任意其他私聊消息类型事件
"""
2021-11-21 15:46:48 +08:00
async def _group(event: Event) -> bool:
2020-12-31 17:58:09 +08:00
return isinstance(event, GroupMessageEvent)
2021-11-21 15:46:48 +08:00
async def _group_member(event: Event) -> bool:
2020-12-31 17:58:09 +08:00
return isinstance(event,
GroupMessageEvent) and event.sender.role == "member"
2021-11-21 15:46:48 +08:00
async def _group_admin(event: Event) -> bool:
2020-12-31 17:58:09 +08:00
return isinstance(event, GroupMessageEvent) and event.sender.role == "admin"
2021-11-21 15:46:48 +08:00
async def _group_owner(event: Event) -> bool:
2020-12-31 17:58:09 +08:00
return isinstance(event, GroupMessageEvent) and event.sender.role == "owner"
GROUP = Permission(_group)
"""
- **说明**: 匹配任意群聊消息类型事件
"""
GROUP_MEMBER = Permission(_group_member)
2021-06-18 01:23:13 +08:00
r"""
2020-12-31 17:58:09 +08:00
- **说明**: 匹配任意群员群聊消息类型事件
\:\:\:warning 警告
该权限通过 event.sender 进行判断且不包含管理员以及群主
\:\:\:
"""
GROUP_ADMIN = Permission(_group_admin)
"""
- **说明**: 匹配任意群管理员群聊消息类型事件
"""
GROUP_OWNER = Permission(_group_owner)
"""
- **说明**: 匹配任意群主群聊消息类型事件
"""
__all__ = [
"PRIVATE", "PRIVATE_FRIEND", "PRIVATE_GROUP", "PRIVATE_OTHER", "GROUP",
"GROUP_MEMBER", "GROUP_ADMIN", "GROUP_OWNER"
]