Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于权限功能具体实现的问题 #110

Closed
xiaoACE6716 opened this issue Sep 20, 2024 · 7 comments
Closed

关于权限功能具体实现的问题 #110

xiaoACE6716 opened this issue Sep 20, 2024 · 7 comments
Assignees

Comments

@xiaoACE6716
Copy link
Collaborator

尝试使用了一下新功能,基本符合我的预期要求,不过还是存在一些问题。

https://pastebin.ubuntu.com/p/WK2wD38JQQ/
首先从这份debug.log中可以看到,有许多重复的网络请求,我想他们的结果应该是一样的,所以是否只需要请求第一次就完成了?

然后就是自定义权限没有持久化
image
这里添加完权限后重启机器人就丢失了

@SNWCreations
Copy link
Owner

在权限API设计的早期我已经提及请求问题,我们现在的问题是没有更简单的形如 isPermissionSet(User who, KOOKPermission what) 的 HTTP API 接口,导致我们想要计算权限值只能请求所有用户拥有的角色,然后逐一判断。
这很可能是我们目前无法解决的,仍然建议要求KOOK团队提供更简单的权限判断方法。
持久化不应当是由我们完成的,因为我们无法提供一个统一的存储,请参考 LuckPerms 。

@huanmeng-qwq
Copy link
Collaborator

已优化计算权限时产生大量的http请求.
目前的设计是完全依赖PermissionContext进行判断权限的,这是为了判断默认权限所设计的,但同时也导致了权限的设置是多维度的,不知道大家的意见是怎样的?

@SNWCreations
Copy link
Owner

等待主要维护者 @RealSeek @xiaoACE6716 回复。我没有任何意见。

@xiaoACE6716
Copy link
Collaborator Author

已优化计算权限时产生大量的http请求. 目前的设计是完全依赖PermissionContext进行判断权限的,这是为了判断默认权限所设计的,但同时也导致了权限的设置是多维度的,不知道大家的意见是怎样的?

目前已有功能已符合我的预期,蹲一个持久化

@huanmeng-qwq
Copy link
Collaborator

我认为目前得PermissionContext还是太多余了,应该取消并不再支持直接判断built-in权限,而是作为可选参数(重载方法)支持,并缓存权限结果一定时间后清除缓存

@SNWCreations SNWCreations removed their assignment Oct 5, 2024
@SNWCreations
Copy link
Owner

此 issue 交由 @huanmeng-qwq 全权处理,我仅在此 issue 有完整处理方案时 review.

@huanmeng-qwq
Copy link
Collaborator

47b86e0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants