feat: add TRPG roll command

This commit is contained in:
2026-03-14 01:58:33 +08:00
parent e86a385448
commit a542ed1fd9
7 changed files with 355 additions and 0 deletions

View File

@ -14,6 +14,7 @@ from konabot.common.permsys.repo import PermRepo
db = DatabaseManager(DATA_PATH / "perm.sqlite3")
_default_allow_permissions: set[str] = set()
_EntityLike = Event | PermEntity | list[PermEntity]
@ -91,6 +92,10 @@ def create_startup(): # pragma: no cover
await pm.update_permission(
PermEntity("ob11", "user", str(account)), "*", True
)
for key in _default_allow_permissions:
await pm.update_permission(
PermEntity("sys", "global", "global"), key, True
)
@driver.on_shutdown
async def _():
@ -103,6 +108,10 @@ def create_startup(): # pragma: no cover
DepPermManager = Annotated[PermManager, Depends(perm_manager)]
def register_default_allow_permission(key: str):
_default_allow_permissions.add(key)
def require_permission(perm: str) -> Rule: # pragma: no cover
async def check_permission(event: Event, pm: DepPermManager) -> bool:
return await pm.check_has_permission(event, perm)