mirror of
https://github.com/xuthus83/LittlePaimon.git
synced 2024-12-16 13:40:53 +08:00
🐛 修复插件管理器报错
This commit is contained in:
parent
f6a2bdcff2
commit
42a250ab98
@ -49,10 +49,34 @@ class PluginManager:
|
||||
if plugin.name not in HIDDEN_PLUGINS:
|
||||
# 将所有PluginPermission相同的,只保留一个
|
||||
if group_list:
|
||||
for group in group_list:
|
||||
count = await PluginPermission.filter(
|
||||
name=plugin.name, session_id=group['group_id'], session_type='group'
|
||||
).count()
|
||||
if count > 1:
|
||||
first = await PluginPermission.filter(
|
||||
name=plugin.name, session_id=group['group_id'], session_type='group'
|
||||
).order_by('id').first()
|
||||
await PluginPermission.filter(
|
||||
name=plugin.name, session_id=group['group_id'], session_type='group'
|
||||
).delete()
|
||||
await first.delete()
|
||||
await asyncio.gather(
|
||||
*[PluginPermission.update_or_create(name=plugin.name, session_id=group['group_id'],
|
||||
session_type='group') for group in group_list])
|
||||
if user_list:
|
||||
for user in user_list:
|
||||
count = await PluginPermission.filter(
|
||||
name=plugin.name, session_id=user['user_id'], session_type='user'
|
||||
).count()
|
||||
if count > 1:
|
||||
first = await PluginPermission.filter(
|
||||
name=plugin.name, session_id=user['user_id'], session_type='user'
|
||||
).order_by('id').first()
|
||||
await PluginPermission.filter(
|
||||
name=plugin.name, session_id=user['user_id'], session_type='user'
|
||||
).delete()
|
||||
await first.delete()
|
||||
await asyncio.gather(
|
||||
*[PluginPermission.update_or_create(name=plugin.name, session_id=user['user_id'],
|
||||
session_type='user') for user in user_list])
|
||||
@ -143,8 +167,8 @@ async def _(event: MessageEvent, matcher: Matcher):
|
||||
return
|
||||
|
||||
# 权限检查
|
||||
perm = await PluginPermission.filter(name=matcher.plugin_name, session_id=session_id,
|
||||
session_type=session_type).first()
|
||||
perm = await PluginPermission.get_or_none(name=matcher.plugin_name, session_id=session_id,
|
||||
session_type=session_type)
|
||||
if not perm:
|
||||
await PluginPermission.create(name=matcher.plugin_name, session_id=session_id, session_type=session_type)
|
||||
return
|
||||
|
Loading…
x
Reference in New Issue
Block a user