nonebot-plugin-jmdownloader 1.1.0__py3-none-any.whl → 1.1.1__py3-none-any.whl

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.
@@ -0,0 +1,26 @@
1
+ """公共前置检查 handlers
2
+
3
+ 提供可复用的前置检查 handler,供其他 handler 模块使用。
4
+ 通过参数类型注解(如 GroupMessageEvent / PrivateMessageEvent)控制触发范围。
5
+ """
6
+
7
+ from nonebot.adapters.onebot.v11 import GroupMessageEvent, PrivateMessageEvent
8
+ from nonebot.matcher import Matcher
9
+
10
+ from .. import DataManagerDep
11
+ from ..dependencies import plugin_config
12
+
13
+
14
+ async def private_enabled_check(event: PrivateMessageEvent, matcher: Matcher):
15
+ """私聊功能开关检查:私聊功能禁用时静默终止(仅私聊触发)"""
16
+ if not plugin_config.jmcomic_allow_private:
17
+ await matcher.finish()
18
+
19
+
20
+ async def group_enabled_check(
21
+ event: GroupMessageEvent, matcher: Matcher, dm: DataManagerDep
22
+ ):
23
+ """群聊启用检查:群未启用则静默终止(仅群聊触发)"""
24
+ group = dm.get_group(event.group_id)
25
+ if not group.is_enabled(dm.default_enabled):
26
+ await matcher.finish()
@@ -19,19 +19,11 @@ from nonebot.permission import SUPERUSER
19
19
 
20
20
  from .. import DataManagerDep, JmServiceDep
21
21
  from ..dependencies import Photo
22
+ from .common import group_enabled_check, private_enabled_check
22
23
 
23
24
  # region 前置检查 handler
24
25
 
25
26
 
26
- async def group_enabled_check(
27
- event: GroupMessageEvent, matcher: Matcher, dm: DataManagerDep
28
- ):
29
- """群聊启用检查:群未启用则静默终止(仅群聊触发)"""
30
- group = dm.get_group(event.group_id)
31
- if not group.is_enabled(dm.default_enabled):
32
- await matcher.finish()
33
-
34
-
35
27
  async def user_blacklist_check(
36
28
  event: GroupMessageEvent, matcher: Matcher, dm: DataManagerDep
37
29
  ):
@@ -197,13 +189,14 @@ jm_download = on_command(
197
189
  aliases={"JM下载"},
198
190
  block=True,
199
191
  handlers=[
200
- group_enabled_check, # 1. 群聊启用检查(仅群聊,未启用静默终止)
201
- user_blacklist_check, # 2. 群聊黑名单检查(仅群聊)
202
- download_limit_check, # 3. 下载次数检查(群聊和私聊)
203
- photo_restriction_check, # 4. 内容限制检查(仅群聊)
204
- consume_and_notify, # 5. 扣次数 + 通知(群聊和私聊)
205
- group_download_and_upload, # 6. 下载 + 上传群文件(仅群聊)
206
- private_download_and_upload, # 7. 下载 + 上传私聊文件(仅私聊)
192
+ private_enabled_check, # 1. 私聊功能开关检查(仅私聊,禁用时静默终止)
193
+ group_enabled_check, # 2. 群聊启用检查(仅群聊,未启用静默终止)
194
+ user_blacklist_check, # 3. 群聊黑名单检查(仅群聊)
195
+ download_limit_check, # 4. 下载次数检查(群聊和私聊)
196
+ photo_restriction_check, # 5. 内容限制检查(仅群聊)
197
+ consume_and_notify, # 6. 扣次数 + 通知(群聊和私聊)
198
+ group_download_and_upload, # 7. 下载 + 上传群文件(仅群聊)
199
+ private_download_and_upload, # 8. 下载 + 上传私聊文件(仅私聊)
207
200
  ],
208
201
  )
209
202
 
@@ -7,30 +7,16 @@ from nonebot import on_command
7
7
  from nonebot.adapters.onebot.v11 import (
8
8
  ActionFailed,
9
9
  Bot,
10
- GroupMessageEvent,
11
10
  Message,
12
11
  MessageEvent,
13
12
  MessageSegment,
14
13
  )
15
14
  from nonebot.matcher import Matcher
16
15
 
17
- from .. import DataManagerDep, JmServiceDep
16
+ from .. import JmServiceDep
18
17
  from ..dependencies import Photo
19
18
  from ..nonebot_utils import send_forward_msg
20
-
21
- # region 前置检查 handler
22
-
23
-
24
- async def group_enabled_check(
25
- event: GroupMessageEvent, matcher: Matcher, dm: DataManagerDep
26
- ):
27
- """群聊启用检查:群未启用则静默终止(仅群聊触发)"""
28
- group = dm.get_group(event.group_id)
29
- if not group.is_enabled(dm.default_enabled):
30
- await matcher.finish()
31
-
32
-
33
- # endregion
19
+ from .common import group_enabled_check, private_enabled_check
34
20
 
35
21
  # region 事件处理函数
36
22
 
@@ -68,8 +54,9 @@ jm_query = on_command(
68
54
  aliases={"JM查询"},
69
55
  block=True,
70
56
  handlers=[
71
- group_enabled_check, # 1. 群聊启用检查(仅群聊,未启用静默终止)
72
- query_handler, # 2. 查询处理(群聊和私聊都触发)
57
+ private_enabled_check, # 1. 私聊功能开关检查(仅私聊,禁用时静默终止)
58
+ group_enabled_check, # 2. 群聊启用检查(仅群聊,未启用静默终止)
59
+ query_handler, # 3. 查询处理(群聊和私聊都触发)
73
60
  ],
74
61
  )
75
62
 
@@ -9,7 +9,6 @@ from nonebot import on_command
9
9
  from nonebot.adapters.onebot.v11 import (
10
10
  ActionFailed,
11
11
  Bot,
12
- GroupMessageEvent,
13
12
  Message,
14
13
  MessageEvent,
15
14
  MessageSegment,
@@ -20,20 +19,7 @@ from ...infra import blur_image_async
20
19
  from .. import DataManagerDep, JmServiceDep, SessionsDep
21
20
  from ..dependencies import ArgText, RandomNickname
22
21
  from ..nonebot_utils import send_forward_msg
23
-
24
- # region 前置检查 handler
25
-
26
-
27
- async def group_enabled_check(
28
- event: GroupMessageEvent, matcher: Matcher, dm: DataManagerDep
29
- ):
30
- """群聊启用检查:群未启用则静默终止(仅群聊触发)"""
31
- group = dm.get_group(event.group_id)
32
- if not group.is_enabled(dm.default_enabled):
33
- await matcher.finish()
34
-
35
-
36
- # endregion
22
+ from .common import group_enabled_check, private_enabled_check
37
23
 
38
24
  # region 辅助函数
39
25
 
@@ -206,8 +192,9 @@ jm_search = on_command(
206
192
  aliases={"JM搜索"},
207
193
  block=True,
208
194
  handlers=[
209
- group_enabled_check, # 1. 群聊启用检查(仅群聊,未启用静默终止)
210
- search_handler, # 2. 搜索处理(群聊和私聊都触发)
195
+ private_enabled_check, # 1. 私聊功能开关检查(仅私聊,禁用时静默终止)
196
+ group_enabled_check, # 2. 群聊启用检查(仅群聊,未启用静默终止)
197
+ search_handler, # 3. 搜索处理(群聊和私聊都触发)
211
198
  ],
212
199
  )
213
200
 
@@ -216,8 +203,9 @@ jm_next_page = on_command(
216
203
  aliases={"JM下一页"},
217
204
  block=True,
218
205
  handlers=[
219
- group_enabled_check, # 1. 群聊启用检查(仅群聊,未启用静默终止)
220
- next_page_handler, # 2. 下一页处理(群聊和私聊都触发)
206
+ private_enabled_check, # 1. 私聊功能开关检查(仅私聊,禁用时静默终止)
207
+ group_enabled_check, # 2. 群聊启用检查(仅群聊,未启用静默终止)
208
+ next_page_handler, # 3. 下一页处理(群聊和私聊都触发)
221
209
  ],
222
210
  )
223
211
 
@@ -27,6 +27,7 @@ class PluginConfig(BaseModel):
27
27
 
28
28
  # 数据管理
29
29
  jmcomic_allow_groups: bool = Field(default=False, description="是否默认启用所有群")
30
+ jmcomic_allow_private: bool = Field(default=True, description="是否允许私聊功能")
30
31
  jmcomic_user_limits: int = Field(
31
32
  default=5, description="每位用户的每周下载限制次数"
32
33
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: nonebot-plugin-jmdownloader
3
- Version: 1.1.0
3
+ Version: 1.1.1
4
4
  Summary: 基于 Nonebot2 的 JMComic 插件
5
5
  Author: Misty02600
6
6
  Author-email: Misty02600 <xiao02600@gmail.com>
@@ -135,6 +135,7 @@ plugins = ["nonebot_plugin_jmdownloader"]
135
135
  | jmcomic_log | 否 | False | 是否开启JMComic-Crawler-Python的日志输出 |
136
136
  | jmcomic_thread_count | 否 | 10 | 下载线程数量 |
137
137
  | jmcomic_allow_groups | 否 | False | 是否默认启用所有群 |
138
+ | jmcomic_allow_private | 否 | True | 是否允许私聊使用功能 |
138
139
  | jmcomic_user_limits | 否 | 5 | 每位用户的每周下载限制次数 |
139
140
  | jmcomic_output_format | 否 | pdf | 输出格式:pdf 或 zip |
140
141
  | jmcomic_zip_password | 否 | 无 | ZIP 压缩包密码(仅 zip 格式有效) |
@@ -156,6 +157,8 @@ JMCOMIC_USERNAME=******
156
157
  JMCOMIC_PASSWORD=******
157
158
  # JMComic 是否默认启用所有群,建议关闭
158
159
  JMCOMIC_ALLOW_GROUPS=False
160
+ # JMComic 是否允许私聊使用功能
161
+ JMCOMIC_ALLOW_PRIVATE=True
159
162
  # JMComic 每位用户的每周下载限制次数
160
163
  JMCOMIC_USER_LIMITS=5
161
164
  # JMComic 输出格式:pdf 或 zip
@@ -4,13 +4,14 @@ nonebot_plugin_jmdownloader/bot/dependencies.py,sha256=12zLn_fa9PeaG33cd1ILXuqck
4
4
  nonebot_plugin_jmdownloader/bot/handlers/__init__.py,sha256=0N2L5IuSVQLrTRxKPVie6a1JgoxTcc4oMy6GOqf6RQI,419
5
5
  nonebot_plugin_jmdownloader/bot/handlers/ban_id_tag.py,sha256=62NYG9jQ6PgO7iEWnPSGe5KxJokrbGwj3S5ig8R0060,1547
6
6
  nonebot_plugin_jmdownloader/bot/handlers/blacklist.py,sha256=x_SKJwo3kAUQcaxlvZuRFX5u3zkZ4mzf0G4prWbB8uA,3103
7
- nonebot_plugin_jmdownloader/bot/handlers/download.py,sha256=8tvC6vPttQ0awXlJRDR8-qsINCjEb3rBBetJ29mQoi0,5986
7
+ nonebot_plugin_jmdownloader/bot/handlers/common.py,sha256=unuSPBwGvWpWdgA6I2tYB1ZLaC4PofK3eNpigKqb49I,950
8
+ nonebot_plugin_jmdownloader/bot/handlers/download.py,sha256=99WuuIn-0LClyTuU9YFT2icf8F_Lgy_1JhZSjEiSypk,5846
8
9
  nonebot_plugin_jmdownloader/bot/handlers/group_control.py,sha256=taX1EYfmjYBVh-4nhQuH8fZWPwLkPPaNPglXbHquaRU,4954
9
- nonebot_plugin_jmdownloader/bot/handlers/query.py,sha256=YzKM1QqzczfDxDUwGBVN0vNIv7p-ajRqnnmQO0ybZxA,1857
10
+ nonebot_plugin_jmdownloader/bot/handlers/query.py,sha256=0vndOOpEl4BJ7TEqbiNBzZ2I6FupBIVOH3ON1fLvSOg,1633
10
11
  nonebot_plugin_jmdownloader/bot/handlers/scheduled.py,sha256=cFusQ4yKQGaHnv41wZ9JmOzlj1ElI9vhpf2oV4JIOgA,1221
11
- nonebot_plugin_jmdownloader/bot/handlers/search.py,sha256=14Q8EFoxkXDFddMOi91UVJcyAxmxZgeqBtUM8y50oAM,6362
12
+ nonebot_plugin_jmdownloader/bot/handlers/search.py,sha256=IQg6ysdt2gP3AwXP3Cy7VdaZue3uwAEKCK4D12XR7zY,6255
12
13
  nonebot_plugin_jmdownloader/bot/nonebot_utils.py,sha256=IPEAz8bZ0QutERLJVaPNdlghW50J1rs6xfsJxwZ9b1k,612
13
- nonebot_plugin_jmdownloader/config.py,sha256=kdI-PXw6cy7yDkrLlkyWbONPNgT33anm3jvr1lG2sDU,1607
14
+ nonebot_plugin_jmdownloader/config.py,sha256=CEype-OIk7PUHbbcNGM5-AtGJUz-bw34czztHpc6aHA,1701
14
15
  nonebot_plugin_jmdownloader/core/__init__.py,sha256=8vQ9O18deFU1kKOHCT8Dr-CKdl5j_eZ8wuXaL8_pO70,210
15
16
  nonebot_plugin_jmdownloader/core/data_models.py,sha256=U2VF_17JwHUNGXq9TVzz9OZ0grjPoPwFe_GF6EdiXZA,4530
16
17
  nonebot_plugin_jmdownloader/core/enums.py,sha256=ikfmrFJouqh8CvbDudSBlx7_bM6aalAPj_LI7rOgVC4,144
@@ -22,6 +23,6 @@ nonebot_plugin_jmdownloader/infra/jm_service.py,sha256=Rj3GnxXGPio80PIRnOpXJZqfK
22
23
  nonebot_plugin_jmdownloader/infra/pdf_utils.py,sha256=U0b0PQv8OSH4ZWlG2I4AVeSqFzq346nNXcw1CyYiFlI,2334
23
24
  nonebot_plugin_jmdownloader/infra/search_session.py,sha256=eYv42Al1NbHTqalj60bGh4dwIzByaLH3doNfthU5s-8,1369
24
25
  nonebot_plugin_jmdownloader/migration.py,sha256=xkHYWRdignvhkQYdvkHVCwj58t4qdLhsX6QWDWnv2Cs,7546
25
- nonebot_plugin_jmdownloader-1.1.0.dist-info/WHEEL,sha256=iHtWm8nRfs0VRdCYVXocAWFW8ppjHL-uTJkAdZJKOBM,80
26
- nonebot_plugin_jmdownloader-1.1.0.dist-info/METADATA,sha256=GmdNPQtHRnure5rIC7sAljPZihjHHnLWCgtBefQmGUM,9707
27
- nonebot_plugin_jmdownloader-1.1.0.dist-info/RECORD,,
26
+ nonebot_plugin_jmdownloader-1.1.1.dist-info/WHEEL,sha256=iHtWm8nRfs0VRdCYVXocAWFW8ppjHL-uTJkAdZJKOBM,80
27
+ nonebot_plugin_jmdownloader-1.1.1.dist-info/METADATA,sha256=tU2rX5_oVbjDXXWSvHKbJnrXLds6CUQNMjgC4hQmgQc,9875
28
+ nonebot_plugin_jmdownloader-1.1.1.dist-info/RECORD,,