nonebot-plugin-jmdownloader 1.0.3__tar.gz → 1.0.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {nonebot_plugin_jmdownloader-1.0.3 → nonebot_plugin_jmdownloader-1.0.4}/PKG-INFO +1 -1
- {nonebot_plugin_jmdownloader-1.0.3 → nonebot_plugin_jmdownloader-1.0.4}/nonebot_plugin_jmdownloader/__init__.py +16 -14
- {nonebot_plugin_jmdownloader-1.0.3 → nonebot_plugin_jmdownloader-1.0.4}/nonebot_plugin_jmdownloader/utils.py +6 -4
- {nonebot_plugin_jmdownloader-1.0.3 → nonebot_plugin_jmdownloader-1.0.4}/nonebot_plugin_jmdownloader.egg-info/PKG-INFO +1 -1
- {nonebot_plugin_jmdownloader-1.0.3 → nonebot_plugin_jmdownloader-1.0.4}/pyproject.toml +1 -1
- {nonebot_plugin_jmdownloader-1.0.3 → nonebot_plugin_jmdownloader-1.0.4}/LICENSE +0 -0
- {nonebot_plugin_jmdownloader-1.0.3 → nonebot_plugin_jmdownloader-1.0.4}/README.md +0 -0
- {nonebot_plugin_jmdownloader-1.0.3 → nonebot_plugin_jmdownloader-1.0.4}/nonebot_plugin_jmdownloader/config.py +0 -0
- {nonebot_plugin_jmdownloader-1.0.3 → nonebot_plugin_jmdownloader-1.0.4}/nonebot_plugin_jmdownloader/data_source.py +0 -0
- {nonebot_plugin_jmdownloader-1.0.3 → nonebot_plugin_jmdownloader-1.0.4}/nonebot_plugin_jmdownloader.egg-info/SOURCES.txt +0 -0
- {nonebot_plugin_jmdownloader-1.0.3 → nonebot_plugin_jmdownloader-1.0.4}/nonebot_plugin_jmdownloader.egg-info/dependency_links.txt +0 -0
- {nonebot_plugin_jmdownloader-1.0.3 → nonebot_plugin_jmdownloader-1.0.4}/nonebot_plugin_jmdownloader.egg-info/requires.txt +0 -0
- {nonebot_plugin_jmdownloader-1.0.3 → nonebot_plugin_jmdownloader-1.0.4}/nonebot_plugin_jmdownloader.egg-info/top_level.txt +0 -0
- {nonebot_plugin_jmdownloader-1.0.3 → nonebot_plugin_jmdownloader-1.0.4}/setup.cfg +0 -0
|
@@ -61,11 +61,12 @@ jm_download = on_command("jm下载", aliases={"JM下载"}, block=True, rule=chec
|
|
|
61
61
|
async def _(bot: Bot, event: MessageEvent, arg: Message = CommandArg()):
|
|
62
62
|
photo_id = arg.extract_plain_text().strip()
|
|
63
63
|
user_id = event.user_id
|
|
64
|
+
is_superuser = str(user_id) in bot.config.superusers
|
|
64
65
|
|
|
65
66
|
if not photo_id.isdigit():
|
|
66
67
|
await jm_download.finish("请输入要下载的jm号")
|
|
67
68
|
|
|
68
|
-
if
|
|
69
|
+
if not is_superuser:
|
|
69
70
|
user_limit = data_manager.get_user_limit(user_id)
|
|
70
71
|
if user_limit <= 0:
|
|
71
72
|
await jm_download.finish(MessageSegment.at(user_id) + f"你的下载次数已经用完了!")
|
|
@@ -79,18 +80,24 @@ async def _(bot: Bot, event: MessageEvent, arg: Message = CommandArg()):
|
|
|
79
80
|
await jm_download.finish("查询时发生错误")
|
|
80
81
|
|
|
81
82
|
if data_manager.is_jm_id_restricted(photo.id) or data_manager.has_restricted_tag(photo.tags):
|
|
83
|
+
|
|
82
84
|
if isinstance(event, GroupMessageEvent):
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
85
|
+
if not is_superuser:
|
|
86
|
+
try:
|
|
87
|
+
await bot.set_group_ban(group_id=event.group_id, user_id=user_id, duration=86400)
|
|
88
|
+
except ActionFailed:
|
|
89
|
+
pass
|
|
90
|
+
data_manager.add_blacklist(event.group_id, user_id)
|
|
91
|
+
await jm_download.finish(MessageSegment.at(user_id) + "该本子(或其tag)被禁止下载!你已被加入本群jm黑名单")
|
|
92
|
+
|
|
93
|
+
else:
|
|
94
|
+
await jm_download.finish("该本子(或其tag)被禁止下载!")
|
|
95
|
+
|
|
89
96
|
else:
|
|
90
97
|
await jm_download.finish("该本子(或其tag)被禁止下载!")
|
|
91
98
|
|
|
92
99
|
try:
|
|
93
|
-
if
|
|
100
|
+
if not is_superuser:
|
|
94
101
|
data_manager.decrease_user_limit(user_id, 1)
|
|
95
102
|
user_limit_new = data_manager.get_user_limit(user_id)
|
|
96
103
|
message = Message()
|
|
@@ -415,9 +422,6 @@ async def _(bot: Bot, event: GroupMessageEvent, arg: Message = CommandArg()):
|
|
|
415
422
|
group_id = event.group_id
|
|
416
423
|
operator_id = event.user_id
|
|
417
424
|
|
|
418
|
-
if user_id == operator_id:
|
|
419
|
-
await jm_ban_user.finish("你拉黑你自己?")
|
|
420
|
-
|
|
421
425
|
has_permission = await check_permission(bot, group_id, operator_id, user_id)
|
|
422
426
|
if not has_permission:
|
|
423
427
|
await jm_unban_user.finish("权限不足")
|
|
@@ -440,9 +444,6 @@ async def handle_jm_unban_user(bot: Bot, event: GroupMessageEvent, arg: Message
|
|
|
440
444
|
group_id = event.group_id
|
|
441
445
|
operator_id = event.user_id
|
|
442
446
|
|
|
443
|
-
if user_id == operator_id:
|
|
444
|
-
await jm_ban_user.finish("想都别想!")
|
|
445
|
-
|
|
446
447
|
has_permission = await check_permission(bot, group_id, operator_id, user_id)
|
|
447
448
|
if not has_permission:
|
|
448
449
|
await jm_unban_user.finish("权限不足")
|
|
@@ -609,6 +610,7 @@ async def clear_cache_dir():
|
|
|
609
610
|
except Exception as e:
|
|
610
611
|
logger.error(f"清理缓存目录失败:{e}")
|
|
611
612
|
|
|
613
|
+
|
|
612
614
|
@scheduler.scheduled_job("interval", minutes=10)
|
|
613
615
|
async def clean_expired_search_states():
|
|
614
616
|
""" 定期清理过期的搜索状态 """
|
|
@@ -128,7 +128,7 @@ async def send_forward_message(bot: Bot, event: MessageEvent, messages: list):
|
|
|
128
128
|
|
|
129
129
|
#region 权限相关
|
|
130
130
|
async def check_permission(bot: Bot, group_id: int, operator_id: int, target_id: int) -> bool:
|
|
131
|
-
"""
|
|
131
|
+
"""增减群黑名单权限检查,群主和超管拥有所有权限,管理员只能操作普通成员"""
|
|
132
132
|
if str(operator_id) in bot.config.superusers:
|
|
133
133
|
return True
|
|
134
134
|
|
|
@@ -142,10 +142,12 @@ async def check_permission(bot: Bot, group_id: int, operator_id: int, target_id:
|
|
|
142
142
|
if operator_role == "owner":
|
|
143
143
|
return True
|
|
144
144
|
|
|
145
|
-
if operator_role == "admin"
|
|
146
|
-
|
|
145
|
+
if operator_role == "admin":
|
|
146
|
+
if target_role not in ["admin", "owner"]:
|
|
147
|
+
return True
|
|
148
|
+
|
|
149
|
+
return False
|
|
147
150
|
|
|
148
|
-
return True
|
|
149
151
|
except ActionFailed as e:
|
|
150
152
|
logger.error(f"无法获取群成员信息:{e}")
|
|
151
153
|
return False
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|