nonebot-plugin-l4d2-server 0.6.4__py3-none-any.whl → 0.6.5__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.
@@ -34,6 +34,7 @@ from .l4d2_data import sq_L4D2
34
34
 
35
35
  # from .l4d2_file.input_json import *
36
36
  from .l4d2_image.steam import url_to_byte_name
37
+ from .l4d2_push import scheduler # noqa: F401
37
38
  from .l4d2_utils.command import help_, search_api
38
39
  from .l4d2_utils.config import l4_config
39
40
  from .l4d2_utils.utils import upload_file
@@ -41,7 +42,7 @@ from .l4d2_web import web, webUI # noqa: F401
41
42
 
42
43
  driver = get_driver()
43
44
 
44
- __version__ = "0.6.4"
45
+ __version__ = "0.6.5"
45
46
  __plugin_meta__ = PluginMetadata(
46
47
  name="求生之路小助手",
47
48
  description="可用于管理求生之路查服和本地管理",
@@ -59,18 +60,6 @@ __plugin_meta__ = PluginMetadata(
59
60
  """相当于启动就检查数据库"""
60
61
 
61
62
 
62
- # @search_api.handle()
63
- # async def _(matcher:Matcher,state:T_State,event:GroupMessageEvent,args:Message = CommandArg()): # noqa: E501
64
- # msg:str = args.extract_plain_text()
65
- # # if msg.startswith('代码'):
66
- # # 建图代码返回三方图信息
67
- # data = await seach_map(msg,l4_config.l4_master[0],l4_config.l4_key)
68
- # # else:
69
- # if type(data) == str:
70
- # await matcher.finish(data)
71
- # else:
72
- # state['maps'] = data
73
- # await matcher.send(await map_dict_to_str(data))
74
63
  @help_.handle()
75
64
  async def _(matcher: Matcher):
76
65
  msg = """=====求生机器人帮助=====
@@ -80,13 +69,18 @@ async def _(matcher: Matcher):
80
69
  4、创意工坊下载【创意工坊下载[物品id/链接]】
81
70
  5、指定ip查询【求生ip[ip]】(可以是域名)
82
71
  6、求生喷漆制作【求生喷漆】
83
- 7、本地服务器操作(略,详情看项目地址)
72
+ 7、本地服务器相关【l4地图上传】【l4地图改名】【l4地图删除】【l4路径】【l4插件】
73
+ 8、ip导入(私聊发送json文件,格式参考下方链接中readme)
74
+ 9、内置ip更新【l4公益服更新】【求生更新anne】
75
+ 项目地址:https://github.com/Agnes4m/nonebot_plugin_l4d2_server
84
76
  """
85
77
  await matcher.finish(msg)
86
78
 
87
79
 
88
80
  @search_api.got("is_sure", prompt='如果需要上传,请发送 "yes"')
89
81
  async def _(matcher: Matcher, bot: Bot, event: GroupMessageEvent, state: T_State):
82
+ if not l4_config.l4_group_upload:
83
+ return
90
84
  is_sure = str(state["is_sure"])
91
85
  if is_sure == "yes":
92
86
  data_dict: dict = state["maps"][0]
@@ -1,49 +1,55 @@
1
1
  <!DOCTYPE html>
2
2
  <html class="pc">
3
+
3
4
  <head>
4
- <link rel="stylesheet" type="text/css" href="vue.css">
5
+ <link rel="stylesheet" type="text/css" href="vue.css">
5
6
  <title>Server Information</title>
6
7
  <style>
7
8
  table {
8
9
  border-collapse: collapse;
9
10
  width: 100%;
10
11
  }
11
- th, td {
12
+
13
+ th,
14
+ td {
12
15
  border: 1px solid #ddd;
13
16
  padding: 8px;
14
17
  text-align: left;
15
18
  }
19
+
16
20
  th {
17
21
  background-color: #f2f2f2;
18
22
  }
19
23
  </style>
20
24
  </head>
25
+
21
26
  <body style="background-image: url('back2.jpg'); background-size: 1200px 1800px;">
22
- <div class="myinfo">
23
- <table>
24
- {% for i in range(0, data|length, 3) %}
25
- <tr>
26
- {% for j in range(i, i + 3) %}
27
- {% if j < data|length %}
28
- <td>
29
- <font color="red">{{ data[j].number }}</font><br>
30
- <font color="yellow">{{ data[j].name }}</font><br>
31
- <font color="gray">{{ data[j].ip }}</font><br>
32
- <font color="blue">{{ data[j].map_ }}</font><br>
33
- {% for Player in data[j].Players %}
34
- <font color="green">{{ Player }}</font><br>
35
- {% endfor %}
36
- <font color="yellow">{{ data[j].max_players }}{{data[j].ping}}</font>
27
+ <div class="myinfo">
28
+ <table>
29
+ {% for i in range(0, data|length, 3) %}
30
+ <tr>
31
+ {% for j in range(i, i + 3) %}
32
+ {% if j < data|length %} <td>
33
+ <font color="red">{{ data[j].number }}</font><br>
34
+ <font color="yellow">{{ data[j].name }}</font><br>
35
+ <font color="gray">{{ data[j].ip }}</font><br>
36
+ <font color="blue">{{ data[j].map_ }}</font><br>
37
+ {% for Player in data[j].Players %}
38
+ <font color="green">{{ Player }}</font><br>
39
+ {% endfor %}
40
+ <font color="yellow">{{ data[j].max_players }}{{data[j].ping}}</font>
37
41
  </td>
38
- {% endif %}
42
+ {% endif %}
43
+ {% endfor %}
44
+ </tr>
39
45
  {% endfor %}
40
- </tr>
41
- {% endfor %}
42
- </table>
43
- <h5><center>©爱丽数码</center></br>
44
- <center>
45
- github.com/Agnes4m/nonebot_plugin_l4d2_server
46
- </center>
47
- </h5>
48
- </div>
46
+ </table>
47
+ <h5>
48
+ <center>©爱丽数码</center></br>
49
+ <center>
50
+ github.com/Agnes4m/nonebot_plugin_l4d2_server
51
+ </center>
52
+ </h5>
53
+ </div>
54
+
49
55
  </html>
@@ -2,12 +2,13 @@ import re
2
2
  from pathlib import Path
3
3
  from typing import Tuple
4
4
 
5
- from nonebot import on_command, on_notice, on_regex
6
- from nonebot.adapters.onebot.v11 import Message, NoticeEvent
5
+ from nonebot import on_command, on_regex
6
+ from nonebot.adapters.onebot.v11 import Event, Message, NoticeEvent
7
7
  from nonebot.log import logger
8
8
  from nonebot.matcher import Matcher
9
9
  from nonebot.params import ArgPlainText, CommandArg, RegexGroup
10
10
 
11
+ # from nonebot.typing import T_State
11
12
  from ..l4d2_utils.config import MASTER, config_manager, file_format, l4_config, vpk_path
12
13
  from ..l4d2_utils.rule import wenjian
13
14
  from ..l4d2_utils.txt_to_img import mode_txt_to_img
@@ -15,21 +16,26 @@ from ..l4d2_utils.utils import del_map, get_vpk, mes_list, rename_map
15
16
  from .input_json import upload # noqa: F401
16
17
  from .utils import updown_l4d2_vpk
17
18
 
18
- up = on_notice(rule=wenjian)
19
+ up = on_command(
20
+ "l4_upload",
21
+ aliases={"l4地图上传"},
22
+ priority=20,
23
+ block=True,
24
+ )
19
25
 
20
26
 
21
27
  rename_vpk = on_regex(
22
- r"^求生地图\s*(\S+.*?)\s*(改|改名)?\s*(\S+.*?)\s*$",
28
+ r"^l4地图\s*(\S+.*?)\s*(改|改名)?\s*(\S+.*?)\s*$",
23
29
  flags=re.S,
24
30
  block=True,
25
31
  priority=20,
26
32
  permission=MASTER,
27
33
  )
28
34
 
29
- find_vpk = on_command("l4_map", aliases={"求生地图"}, priority=25, block=True)
35
+ find_vpk = on_command("l4_map", aliases={"l4地图"}, priority=25, block=True)
30
36
  del_vpk = on_command(
31
37
  "l4_del_map",
32
- aliases={"求生地图删除", "地图删除"},
38
+ aliases={"l4地图删除", "地图删除"},
33
39
  priority=20,
34
40
  permission=MASTER,
35
41
  )
@@ -37,14 +43,14 @@ del_vpk = on_command(
37
43
 
38
44
  check_path = on_command(
39
45
  "l4_check",
40
- aliases={"求生路径"},
46
+ aliases={"l4路径"},
41
47
  priority=20,
42
48
  block=True,
43
49
  permission=MASTER,
44
50
  )
45
51
  smx_file = on_command(
46
52
  "l4_smx",
47
- aliases={"求生插件"},
53
+ aliases={"l4插件"},
48
54
  priority=20,
49
55
  block=True,
50
56
  permission=MASTER,
@@ -52,7 +58,15 @@ smx_file = on_command(
52
58
 
53
59
 
54
60
  @up.handle()
55
- async def _(matcher: Matcher, event: NoticeEvent):
61
+ async def _():
62
+ ...
63
+
64
+
65
+ @up.got("map_url", prompt="图来")
66
+ async def _(matcher: Matcher, event: Event):
67
+ if not isinstance(event, NoticeEvent) or not wenjian(event):
68
+ await matcher.finish("未检测到地图")
69
+ return
56
70
  args = event.dict()
57
71
  if args["notice_type"] != "offline_file":
58
72
  matcher.set_arg("txt", args) # type: ignore
@@ -15,6 +15,7 @@ from nonebot.log import logger
15
15
  from nonebot.matcher import Matcher
16
16
  from nonebot.params import CommandArg
17
17
  from nonebot.permission import SUPERUSER
18
+ from nonebot_plugin_saa import MessageFactory
18
19
 
19
20
  from ..l4d2_queries import get_ip_to_mes
20
21
  from ..l4d2_queries.utils import json_server_to_tag_dict
@@ -22,8 +23,10 @@ from ..l4d2_utils.config import l4_config
22
23
  from ..l4d2_utils.utils import extract_last_digit, split_maohao
23
24
 
24
25
  require("nonebot_plugin_apscheduler")
25
- # from nonebot_plugin_apscheduler import scheduler
26
-
26
+ try:
27
+ scheduler = require("nonebot_plugin_apscheduler").scheduler
28
+ except Exception:
29
+ scheduler = None
27
30
  driver = get_driver()
28
31
  sch_json = Path("data/L4D2/scheduler.json")
29
32
  if not sch_json.exists():
@@ -58,12 +61,13 @@ async def _(event: GroupMessageEvent, matcher: Matcher, args: Message = CommandA
58
61
  await matcher.finish("无响应的服务器,请检查")
59
62
  else:
60
63
  return_msg = await add_or_update_data(group_id, msg)
61
- if isinstance(push_msg, bytes):
62
- await matcher.finish(MessageSegment.image(push_msg))
63
- elif isinstance(push_msg, Union[Message, MessageSegment]):
64
- await matcher.finish(push_msg)
65
- else:
66
- await matcher.send(push_msg)
64
+ await MessageFactory(push_msg).send()
65
+ # if isinstance(push_msg, bytes):
66
+ # await matcher.finish(MessageSegment.image(push_msg))
67
+ # elif isinstance(push_msg, Union[Message, MessageSegment]):
68
+ # await matcher.finish(push_msg)
69
+ # else:
70
+ # await matcher.send(push_msg)
67
71
  if return_msg == "add":
68
72
  await matcher.send(f"已添加群定时任务【{msg}】{l4_config.l4_push_times}次")
69
73
  elif return_msg in ["update", "change"]:
@@ -209,11 +213,14 @@ async def send_message(
209
213
 
210
214
  async def server_is_change():
211
215
  """检测服务器是否发生变化"""
216
+ ...
212
217
 
213
218
 
214
- # @driver.on_bot_connect
215
- # async def _():
216
- # logger.success("已成功启动求生定时推送")
217
- # scheduler.add_job(
218
- # rss_ip, "interval", minutes=l4_config.l4_push_interval, id="rss_ip"
219
- # )
219
+ if scheduler:
220
+ logger.success("已成功启动求生定时推送")
221
+ scheduler.add_job(
222
+ rss_ip,
223
+ "interval",
224
+ minutes=l4_config.l4_push_interval,
225
+ id="rss_ip",
226
+ )
@@ -8,9 +8,8 @@ from nonebot.adapters.onebot.v11 import GroupMessageEvent
8
8
  from nonebot.log import logger
9
9
  from nonebot.matcher import Matcher
10
10
  from nonebot.params import ArgPlainText, CommandArg, CommandStart, Keyword, RawCommand
11
- from nonebot_plugin_saa import Image, MessageFactory, Text
11
+ from nonebot_plugin_saa import Image, MessageFactory
12
12
 
13
- from ..l4d2_anne.server import updata_anne_server
14
13
  from ..l4d2_image import server_group_ip_pic
15
14
  from ..l4d2_queries.qqgroup import add_ip, del_ip, get_number_url, show_ip
16
15
  from ..l4d2_queries.utils import queries_server
@@ -147,7 +146,7 @@ async def get_read_ip(ip_anne_list: List[Tuple[str, str, str]]):
147
146
  if command == "anne":
148
147
  command = "云"
149
148
  msg: str = args.extract_plain_text()
150
- if msg.endswith("组"):
149
+ if "组" in msg:
151
150
  logger.info(f"关键词:{command}")
152
151
  # 以群组模式输出
153
152
  push_msg = await get_group_ip_to_msg(command)
@@ -162,23 +161,7 @@ async def get_read_ip(ip_anne_list: List[Tuple[str, str, str]]):
162
161
  if push_msg is None:
163
162
  return
164
163
 
165
- if isinstance(push_msg, bytes):
166
- logger.info("直接发送图片")
167
- await MessageFactory([Image(push_msg)]).finish()
168
- return
169
- if msg and type(push_msg) == list:
170
- logger.info("更加构造函数")
171
- await MessageFactory([Image(push_msg[0]), Text(push_msg[-1])]).finish()
172
- return
173
- if msg and isinstance(push_msg, str):
174
- send_msg = push_msg
175
- else:
176
- logger.info("出错了")
177
- return
178
- logger.info(type(send_msg))
179
- if not send_msg:
180
- logger.warning("没有")
181
- await matcher.finish(send_msg)
164
+ await MessageFactory(push_msg).send()
182
165
 
183
166
 
184
167
  # tests = on_command("测试1")
@@ -279,29 +262,6 @@ async def _():
279
262
  await init()
280
263
 
281
264
 
282
- updata = on_command(
283
- "updata_anne",
284
- aliases={"求生更新anne"},
285
- priority=20,
286
- block=True,
287
- permission=MASTER,
288
- )
289
-
290
-
291
- @updata.handle()
292
- async def _(matcher: Matcher, args: Message = CommandArg()):
293
- """更新"""
294
- if args:
295
- # 占位先,除了电信服还有再加
296
- ...
297
- anne_ip_dict = await updata_anne_server()
298
- if anne_ip_dict is None:
299
- await matcher.finish("网络开小差了捏")
300
- return
301
- server_number = len(anne_ip_dict["云"])
302
- await matcher.finish(f"更新成功\n一共更新了{server_number}个电信anne服ip")
303
-
304
-
305
265
  @add2_queries.handle()
306
266
  async def _(matcher: Matcher, arg: Message = CommandArg()):
307
267
  arg_list = arg.extract_plain_text().split(" ")
@@ -2,6 +2,7 @@ import asyncio
2
2
  from typing import Dict, List, Optional, Tuple
3
3
 
4
4
  from nonebot.log import logger
5
+ from nonebot_plugin_saa import Image, Text
5
6
 
6
7
  from ..l4d2_queries.local_ip import ALL_HOST
7
8
  from ..l4d2_queries.qqgroup import qq_ip_queries_pic
@@ -29,7 +30,7 @@ async def get_ip_to_mes(msg: str, command: str = ""):
29
30
  msg_tuple = (one_ip["id"], host, port)
30
31
  ip_list.append(msg_tuple)
31
32
  img = await qq_ip_queries_pic(ip_list, igr)
32
- return img if img else None
33
+ return [Image(img)] if img else None
33
34
 
34
35
  if not msg[0].isdigit():
35
36
  # if any(mode in msg for mode in gamemode_list):
@@ -46,10 +47,10 @@ async def get_ip_to_mes(msg: str, command: str = ""):
46
47
  try:
47
48
  msg_send: Optional[str] = await get_anne_server_ip(ip)
48
49
  if msg_send is not None:
49
- return msg_send
50
+ return [Text(msg_send)]
50
51
 
51
52
  except (OSError, asyncio.exceptions.TimeoutError):
52
- return "服务器无响应"
53
+ return [Text("服务器无响应")]
53
54
 
54
55
 
55
56
  # async def get_read_group_ip():
@@ -86,14 +86,15 @@ class L4d2Config(BaseModel):
86
86
  "49c294d32f69b732ef6447c18379451ce1738922a75cd1d4812ef150318a2ed0",
87
87
  alias="后台管理token密钥",
88
88
  )
89
- l4_master: List[str] = Field(["114514919"], alias="求生地图全局管理员qq")
89
+ l4_master: List[str] = Field(default=["114514919"], alias="求生地图全局管理员qq")
90
90
  # l4_ip:bool = Field(False, alias='查询地图是否显示ip')
91
- l4_font: str = Field("simsun.ttc", alias="字体")
92
- l4_only: bool = Field(False, alias="下载地图是是否阻碍其他指令")
93
- l4_push_interval: int = Field(3, alias="定时任务间隔")
94
- l4_push_times: int = Field(10, alias="定时任务次数")
95
- l4_connect: bool = Field(True, alias="是否在查服命令后加入connect ip")
96
- group_config: Dict[int, L4d2GroupConfig] = Field({}, alias="分群配置")
91
+ l4_font: str = Field(default="simsun.ttc", alias="字体")
92
+ l4_only: bool = Field(default=False, alias="下载地图是是否阻碍其他指令")
93
+ l4_push_interval: int = Field(default=3, alias="定时任务间隔")
94
+ l4_push_times: int = Field(default=10, alias="定时任务次数")
95
+ l4_connect: bool = Field(default=True, alias="是否在查服命令后加入connect ip")
96
+ l4_group_upload: bool = Field(default=False, alias="是否在群里传地图的时候,提示上传服务器")
97
+ group_config: Dict[int, L4d2GroupConfig] = Field(default_factory=dict, alias="分群配置")
97
98
 
98
99
  def update(self, **kwargs):
99
100
  for key, value in kwargs.items():
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nonebot-plugin-l4d2-server
3
- Version: 0.6.4
3
+ Version: 0.6.5
4
4
  Summary: L4D2 server related operations plugin for NoneBot2
5
5
  Keywords: steam game l4d2 nonebot2 plugin
6
6
  Home-page: https://github.com/Agnes4m/nonebot_plugin_l4d2_server
@@ -16,7 +16,7 @@ Classifier: Operating System :: OS Independent
16
16
  Project-URL: Homepage, https://github.com/Agnes4m/nonebot_plugin_l4d2_server
17
17
  Requires-Python: <4.0,>=3.9
18
18
  Requires-Dist: nonebot2>=2.0.0
19
- Requires-Dist: nonebot-plugin-htmlrender==0.2.0.3
19
+ Requires-Dist: nonebot-plugin-htmlrender==0.2.2
20
20
  Requires-Dist: nonebot_plugin_txt2img>=0.3.0
21
21
  Requires-Dist: nonebot-plugin-apscheduler>=0.2.0
22
22
  Requires-Dist: nonebot-adapter-onebot>=2.2.3
@@ -28,7 +28,7 @@ Requires-Dist: srctools>=2.3.9
28
28
  Requires-Dist: bs4==0.0.1
29
29
  Requires-Dist: httpx>=0.22.0
30
30
  Requires-Dist: rcon==2.1.0
31
- Requires-Dist: pillow>=9.4.0
31
+ Requires-Dist: pillow<10.0.0
32
32
  Requires-Dist: pyunpack>=0.3.0
33
33
  Requires-Dist: ruamel.yaml>=0.17.21
34
34
  Requires-Dist: rarfile>=4.0
@@ -1,7 +1,7 @@
1
- nonebot_plugin_l4d2_server-0.6.4.dist-info/METADATA,sha256=HxK6xb6kRKgI9z3omnYcXhpT3YPazYWdy2Ny2vZhtJU,7940
2
- nonebot_plugin_l4d2_server-0.6.4.dist-info/WHEEL,sha256=1D4d-_ODszlK6-qFybc5BLF-ZhZvee-uKVh2hLa3IIc,90
3
- nonebot_plugin_l4d2_server-0.6.4.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
4
- nonebot_plugin_l4d2_server/__init__.py,sha256=oRCTTeD68zj3Al1dn3F7XJy6DFq_t1gvleKaJI_A0_U,4957
1
+ nonebot_plugin_l4d2_server-0.6.5.dist-info/METADATA,sha256=K22vGduAT7t6ioVgQUqNPadMYICyUlgfVT0pqWSjB_A,7938
2
+ nonebot_plugin_l4d2_server-0.6.5.dist-info/WHEEL,sha256=C8f_gqhOWmHrh81n3Ukx5iURrqMhsHla81fuY1yuwvs,90
3
+ nonebot_plugin_l4d2_server-0.6.5.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
4
+ nonebot_plugin_l4d2_server/__init__.py,sha256=7Ldl4rwKbvwOxlV-ltjldhhPzSYFgXrxjIvr5qrky_g,4816
5
5
  nonebot_plugin_l4d2_server/data/L4D2/image/head/head.png,sha256=Z72PEvp7xF1DZcLDeuWlg2_g6JAfHxtisptWn6BYGN8,158357
6
6
  nonebot_plugin_l4d2_server/data/L4D2/image/header/logo.png,sha256=1KhQNsx7zsCKGHmyIZ65dP9npkKzo7Im-Aafyi5_lhc,631630
7
7
  nonebot_plugin_l4d2_server/data/L4D2/image/header/player1.jpg,sha256=2A_llIi9YVhJs9JOMuF36by7Ewc7P7qOgQS8t5jemNw,405369
@@ -11,7 +11,7 @@ nonebot_plugin_l4d2_server/data/L4D2/image/template/fingerprint.svg,sha256=qtbdX
11
11
  nonebot_plugin_l4d2_server/data/L4D2/image/template/group_ip.html,sha256=0RCWB0q8Wx0NcKdVmGeVr2odaNzODNVCJK0jiQ826U8,7222
12
12
  nonebot_plugin_l4d2_server/data/L4D2/image/template/help.html,sha256=X_R6o5bkW3FFN4BvG3bL8px1slPBY8xhtZM9aSBsAns,5832
13
13
  nonebot_plugin_l4d2_server/data/L4D2/image/template/help_dack.html,sha256=fpguTXl--5ivFsJIMgaTjt8BS2BK-0fW2BYC66aEuuA,6170
14
- nonebot_plugin_l4d2_server/data/L4D2/image/template/ip.html,sha256=iKVCwXeTSrvtiAbhAv6_spUKb2NMZhUnnHAVZkaz3D4,1523
14
+ nonebot_plugin_l4d2_server/data/L4D2/image/template/ip.html,sha256=hvKDc7ASbuaGxtx5Doavg5qa82K1vGq4bSapjrwrTy8,1611
15
15
  nonebot_plugin_l4d2_server/data/L4D2/image/template/l.svg,sha256=I9iOeq-XqnWDECC7GqApV6Of3Tm26xmmYdchvXw2tAE,5506
16
16
  nonebot_plugin_l4d2_server/data/L4D2/image/template/m.svg,sha256=rnZwx2X1dXPiKFQvccBZqspDZzLUin5ylesv-rRy1lo,2408
17
17
  nonebot_plugin_l4d2_server/data/L4D2/image/template/vue.css,sha256=2sGjCFrR-3tFMB_x7l4K6k40tZ5JVzhWqD759cagYBA,7874
@@ -28,7 +28,7 @@ nonebot_plugin_l4d2_server/l4d2_data/config.py,sha256=j_Iq2fmJkCX9G-oscuibhCvozF
28
28
  nonebot_plugin_l4d2_server/l4d2_data/database.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
29
  nonebot_plugin_l4d2_server/l4d2_data/players.py,sha256=0c4OAEKC38ZBTcbvI-lBl2D0wRUqwm0Spccmi4KlhqQ,3368
30
30
  nonebot_plugin_l4d2_server/l4d2_data/serverip.py,sha256=YnzPwjQaESgOQq8m_aJxZlhwTqzVbwPHD6-EWoIXq60,1293
31
- nonebot_plugin_l4d2_server/l4d2_file/__init__.py,sha256=vkg_z1RATW8UvokS7lx_aiUpLRRjn2L9jbNnVwK2aYI,6910
31
+ nonebot_plugin_l4d2_server/l4d2_file/__init__.py,sha256=WoIWxH4l3JVGuhCzEyv_vAvPOTQmZcS_D6Tx8JYrrkY,7181
32
32
  nonebot_plugin_l4d2_server/l4d2_file/ayromote.py,sha256=CND4LSKEYO86bSrd6_TGe9A5RvVJpy2_--tX9mROHIM,1868
33
33
  nonebot_plugin_l4d2_server/l4d2_file/input_json.py,sha256=_S7NIUZhZlE63ueETnPyVcZMnBAAwIVZdmW3VBukccY,2347
34
34
  nonebot_plugin_l4d2_server/l4d2_file/remote.py,sha256=vzW1RhqAUi7lMLjeoYOUvy_70NVHgGQS07oPkeWNxgk,3074
@@ -41,12 +41,12 @@ nonebot_plugin_l4d2_server/l4d2_image/one.py,sha256=8rZ5GD-F3mp_tXVsbPRoFV4xFiSV
41
41
  nonebot_plugin_l4d2_server/l4d2_image/send_image_tool.py,sha256=0qcce0wOI7liuwjsbUPbFhfMXG06hkrpoSpGlCbl3j4,922
42
42
  nonebot_plugin_l4d2_server/l4d2_image/steam.py,sha256=4c428t9bkRxig4Hmj4XllaoKCSsY6fpIYIkq1DhHUiE,2203
43
43
  nonebot_plugin_l4d2_server/l4d2_image/vtfs.py,sha256=AltoUKpMzWQHY_PSqmlSHQyomk2dZHHML4YN6rnP1s0,1415
44
- nonebot_plugin_l4d2_server/l4d2_push/__init__.py,sha256=-_iAQPvxYyO9yjv9yr1TM_NEjOPHnXx7CDZfD2CNxdw,7537
45
- nonebot_plugin_l4d2_server/l4d2_queries/__init__.py,sha256=Re71kVcyMsvjPeaafo7_lFPt_5TZy_LY4hXlJjucEeI,11623
44
+ nonebot_plugin_l4d2_server/l4d2_push/__init__.py,sha256=0kZSbYTBbSUInDdTyOoev0214IPC_KIvo0NaF2ahAPw,7694
45
+ nonebot_plugin_l4d2_server/l4d2_queries/__init__.py,sha256=BK5Rqf4gDCcEkpHPtIVQeLz-PtSW09HBsG8WFsHqNuE,10312
46
46
  nonebot_plugin_l4d2_server/l4d2_queries/himi.py,sha256=iu34wD6P7yWXK_WtErpqmSlNLUjq2pwqO_wf_Rd3X8c,3547
47
47
  nonebot_plugin_l4d2_server/l4d2_queries/local_ip.py,sha256=-wPvCx8mzl7KVh_OlC3j_EjYMf5IEIeLYkZNnknxITY,1281
48
48
  nonebot_plugin_l4d2_server/l4d2_queries/qqgroup.py,sha256=Fcfdprwg2rKXKC5tfGiwkReAXnqdD7WRizhhDmV3Grg,12495
49
- nonebot_plugin_l4d2_server/l4d2_queries/send_msg.py,sha256=qsOPh8z-A2fDUVHx8vSx0rr2gVC4qyhwrSCoVduig_s,4622
49
+ nonebot_plugin_l4d2_server/l4d2_queries/send_msg.py,sha256=rDh2mzq7QnG3eqSsUyGFY73erAHYP0L_3bNc0Q1dUj4,4690
50
50
  nonebot_plugin_l4d2_server/l4d2_queries/utils.py,sha256=CjGpDvmo44q5fOVMB6t0yxv1zWwBO8VXrW_TUd2REg0,6208
51
51
  nonebot_plugin_l4d2_server/l4d2_server/__init__.py,sha256=azvqgmH-SY2_AESIl8Uta9AzFA4ijefR_0NlLH8MBQo,4353
52
52
  nonebot_plugin_l4d2_server/l4d2_server/index.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -58,7 +58,7 @@ nonebot_plugin_l4d2_server/l4d2_update/restart.py,sha256=R4tSNgvbqtKCRTVdp41td2m
58
58
  nonebot_plugin_l4d2_server/l4d2_update/update.py,sha256=h_YPzWWO6LY5v-m0Yg6fVUhHCvv4qOsdyk6vmotZETA,1465
59
59
  nonebot_plugin_l4d2_server/l4d2_utils/classcal.py,sha256=WqI1pHnTdrgjQ_9YULhaFhERkUYZ-WhtvKBHHaT6_Sg,1226
60
60
  nonebot_plugin_l4d2_server/l4d2_utils/command.py,sha256=cCflT3o5hvE4k56Bbg2TtY5avyEM-Z8nY9GNU3KtoXo,629
61
- nonebot_plugin_l4d2_server/l4d2_utils/config.py,sha256=25Hhng4HMCjhnRScyoYs-k-n9zae-JBF6YwrkOXVu0Y,6006
61
+ nonebot_plugin_l4d2_server/l4d2_utils/config.py,sha256=XOLqjl2EzWt-SwI4MZc-v5_JngINPUByox7isGIouzQ,6188
62
62
  nonebot_plugin_l4d2_server/l4d2_utils/message.py,sha256=VzLtK9iPjJHPS1I7cmEIBCxiCivH0xaoBX-S_S9izZY,1631
63
63
  nonebot_plugin_l4d2_server/l4d2_utils/rule.py,sha256=A_lC5i8hiQEZiTcCW_Pn2sldwuD5Pz3UdMHiozFqunc,1007
64
64
  nonebot_plugin_l4d2_server/l4d2_utils/seach.py,sha256=ZAhwvS_xxSYg8AXIaRQTp9HzdAnSy2tHhxXrhR_YytQ,1230
@@ -67,4 +67,4 @@ nonebot_plugin_l4d2_server/l4d2_utils/utils.py,sha256=S1MYcfD38Fcvz4y1jEuoKWhc5L
67
67
  nonebot_plugin_l4d2_server/l4d2_web/web.py,sha256=YvEMxG0nDrjbm4-IK9GkZlV7MPF9Nedc3goCnCUk_LA,9799
68
68
  nonebot_plugin_l4d2_server/l4d2_web/webUI.py,sha256=1StBuG-crEli4M8AbPY4pd_zZi48veiZbeYO0KkOIh8,16217
69
69
  nonebot_plugin_l4d2_server/l4d2_web/webUI_s.py,sha256=Y8PxkarJPsF9OvUVWCJ3SyhWYlYU5VQNnRGKG72KwFc,3339
70
- nonebot_plugin_l4d2_server-0.6.4.dist-info/RECORD,,
70
+ nonebot_plugin_l4d2_server-0.6.5.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: pdm-backend (2.1.6)
2
+ Generator: pdm-backend (2.1.7)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any