refactor(permission): 优化权限装饰器逻辑并增强健壮性
对权限系统进行了一系列重构和加固,主要包括: - **增强健壮性**:在 `require_permission` 和 `require_master` 装饰器中增加了对 `user_info` 和 `user_id` 的存在性检查。当无法获取用户信息时,会记录警告日志并安全退出,防止因用户信息缺失导致程序崩溃。 - **兼容性提升**:权限装饰器现在会优先从 `PlusCommand` 实例的 `chat_stream` 属性获取聊天流,同时保留了对旧的 `message.chat_stream` 属性的兼容性支持,使代码更具前瞻性。 - **异步改造**:将 `is_master` 方法从同步改为异步,以统一权限检查的调用方式,并为未来可能引入的异步权限源做好准备。 - **代码简化**:移除了部分冗余注释,使代码更加清晰。
This commit is contained in:
@@ -35,7 +35,12 @@ class SendFeedCommand(PlusCommand):
|
||||
"""
|
||||
|
||||
topic = args.get_remaining()
|
||||
stream_id = self.message.chat_stream.stream_id
|
||||
|
||||
if not self.chat_stream:
|
||||
logger.error("无法获取聊天流信息,操作中止")
|
||||
return False, "无法获取聊天流信息", True
|
||||
|
||||
stream_id = self.chat_stream.stream_id
|
||||
|
||||
await self.send_text(f"收到!正在为你生成关于“{topic or '随机'}”的说说,请稍候...")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user