formatting
This commit is contained in:
@@ -7,11 +7,12 @@ from mautrix.types import UserID, MessageEvent
|
||||
|
||||
def require_permission(min_level: int = 50, room_id: Optional[str] = None):
|
||||
"""Decorator to require user permission for command execution.
|
||||
|
||||
|
||||
Args:
|
||||
min_level: Minimum required power level (default 50 for moderator)
|
||||
room_id: Room ID to check permissions in (None for parent room)
|
||||
"""
|
||||
|
||||
def decorator(func: Callable) -> Callable:
|
||||
@functools.wraps(func)
|
||||
async def wrapper(self, evt: MessageEvent, *args, **kwargs) -> Any:
|
||||
@@ -19,26 +20,31 @@ def require_permission(min_level: int = 50, room_id: Optional[str] = None):
|
||||
await evt.reply("You don't have permission to use this command")
|
||||
return
|
||||
return await func(self, evt, *args, **kwargs)
|
||||
|
||||
return wrapper
|
||||
|
||||
return decorator
|
||||
|
||||
|
||||
def require_parent_room(func: Callable) -> Callable:
|
||||
"""Decorator to require parent room to be configured."""
|
||||
|
||||
@functools.wraps(func)
|
||||
async def wrapper(self, evt: MessageEvent, *args, **kwargs) -> Any:
|
||||
if not await self.check_parent_room(evt):
|
||||
return
|
||||
return await func(self, evt, *args, **kwargs)
|
||||
|
||||
return wrapper
|
||||
|
||||
|
||||
def handle_errors(error_message: str = "An error occurred"):
|
||||
"""Decorator to handle common errors in command execution.
|
||||
|
||||
|
||||
Args:
|
||||
error_message: Default error message to show to user
|
||||
"""
|
||||
|
||||
def decorator(func: Callable) -> Callable:
|
||||
@functools.wraps(func)
|
||||
async def wrapper(self, evt: MessageEvent, *args, **kwargs) -> Any:
|
||||
@@ -47,5 +53,7 @@ def handle_errors(error_message: str = "An error occurred"):
|
||||
except Exception as e:
|
||||
self.log.error(f"Error in {func.__name__}: {e}")
|
||||
await evt.reply(f"{error_message}: {e}")
|
||||
|
||||
return wrapper
|
||||
|
||||
return decorator
|
||||
|
||||
Reference in New Issue
Block a user