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:
|
if plugin.name not in HIDDEN_PLUGINS:
|
||||||
# 将所有PluginPermission相同的,只保留一个
|
# 将所有PluginPermission相同的,只保留一个
|
||||||
if group_list:
|
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(
|
await asyncio.gather(
|
||||||
*[PluginPermission.update_or_create(name=plugin.name, session_id=group['group_id'],
|
*[PluginPermission.update_or_create(name=plugin.name, session_id=group['group_id'],
|
||||||
session_type='group') for group in group_list])
|
session_type='group') for group in group_list])
|
||||||
if user_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(
|
await asyncio.gather(
|
||||||
*[PluginPermission.update_or_create(name=plugin.name, session_id=user['user_id'],
|
*[PluginPermission.update_or_create(name=plugin.name, session_id=user['user_id'],
|
||||||
session_type='user') for user in user_list])
|
session_type='user') for user in user_list])
|
||||||
@ -143,8 +167,8 @@ async def _(event: MessageEvent, matcher: Matcher):
|
|||||||
return
|
return
|
||||||
|
|
||||||
# 权限检查
|
# 权限检查
|
||||||
perm = await PluginPermission.filter(name=matcher.plugin_name, session_id=session_id,
|
perm = await PluginPermission.get_or_none(name=matcher.plugin_name, session_id=session_id,
|
||||||
session_type=session_type).first()
|
session_type=session_type)
|
||||||
if not perm:
|
if not perm:
|
||||||
await PluginPermission.create(name=matcher.plugin_name, session_id=session_id, session_type=session_type)
|
await PluginPermission.create(name=matcher.plugin_name, session_id=session_id, session_type=session_type)
|
||||||
return
|
return
|
||||||
|
Loading…
x
Reference in New Issue
Block a user