nonebot-plugin-railwaytools 2.2.2__tar.gz → 2.2.3__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.
Files changed (19) hide show
  1. {nonebot_plugin_railwaytools-2.2.2 → nonebot_plugin_railwaytools-2.2.3}/PKG-INFO +8 -3
  2. {nonebot_plugin_railwaytools-2.2.2 → nonebot_plugin_railwaytools-2.2.3}/README.md +7 -2
  3. {nonebot_plugin_railwaytools-2.2.2 → nonebot_plugin_railwaytools-2.2.3}/nonebot_plugin_railwaytools/emu_function.py +34 -9
  4. {nonebot_plugin_railwaytools-2.2.2 → nonebot_plugin_railwaytools-2.2.3}/nonebot_plugin_railwaytools/picture_function.py +16 -2
  5. {nonebot_plugin_railwaytools-2.2.2 → nonebot_plugin_railwaytools-2.2.3}/nonebot_plugin_railwaytools/route_info.py +8 -1
  6. {nonebot_plugin_railwaytools-2.2.2 → nonebot_plugin_railwaytools-2.2.3}/nonebot_plugin_railwaytools/station_info.py +9 -3
  7. {nonebot_plugin_railwaytools-2.2.2 → nonebot_plugin_railwaytools-2.2.3}/nonebot_plugin_railwaytools/station_screen.py +9 -2
  8. {nonebot_plugin_railwaytools-2.2.2 → nonebot_plugin_railwaytools-2.2.3}/nonebot_plugin_railwaytools/train_info.py +12 -4
  9. {nonebot_plugin_railwaytools-2.2.2 → nonebot_plugin_railwaytools-2.2.3}/nonebot_plugin_railwaytools/utils.py +10 -1
  10. {nonebot_plugin_railwaytools-2.2.2 → nonebot_plugin_railwaytools-2.2.3}/nonebot_plugin_railwaytools.egg-info/PKG-INFO +8 -3
  11. {nonebot_plugin_railwaytools-2.2.2 → nonebot_plugin_railwaytools-2.2.3}/pyproject.toml +1 -1
  12. {nonebot_plugin_railwaytools-2.2.2 → nonebot_plugin_railwaytools-2.2.3}/LICENSE +0 -0
  13. {nonebot_plugin_railwaytools-2.2.2 → nonebot_plugin_railwaytools-2.2.3}/nonebot_plugin_railwaytools/__init__.py +0 -0
  14. {nonebot_plugin_railwaytools-2.2.2 → nonebot_plugin_railwaytools-2.2.3}/nonebot_plugin_railwaytools/api.py +0 -0
  15. {nonebot_plugin_railwaytools-2.2.2 → nonebot_plugin_railwaytools-2.2.3}/nonebot_plugin_railwaytools.egg-info/SOURCES.txt +0 -0
  16. {nonebot_plugin_railwaytools-2.2.2 → nonebot_plugin_railwaytools-2.2.3}/nonebot_plugin_railwaytools.egg-info/dependency_links.txt +0 -0
  17. {nonebot_plugin_railwaytools-2.2.2 → nonebot_plugin_railwaytools-2.2.3}/nonebot_plugin_railwaytools.egg-info/requires.txt +0 -0
  18. {nonebot_plugin_railwaytools-2.2.2 → nonebot_plugin_railwaytools-2.2.3}/nonebot_plugin_railwaytools.egg-info/top_level.txt +0 -0
  19. {nonebot_plugin_railwaytools-2.2.2 → nonebot_plugin_railwaytools-2.2.3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nonebot-plugin-railwaytools
3
- Version: 2.2.2
3
+ Version: 2.2.3
4
4
  Summary: 这是一个火车迷也许觉得很好用的铁路机器人工具箱
5
5
  Author-email: leaf2006 <leafdeveloper@qq.com>
6
6
  License-Expression: MIT
@@ -94,6 +94,8 @@ D3211次列车近8次担当的车组号为:
94
94
  2025-11-23 12:59:CRH2B2116
95
95
  2025-11-22 12:59:CRH2B2115
96
96
  2025-11-21 12:59:CRH2A2006
97
+
98
+ 数据来源:rail.re
97
99
  ```
98
100
 
99
101
  - 通过动车组车组号查询担当车次:`/车次` [动车组车组号] 或 `/cc` [动车组车组号](例如:/车次 CRH2A-2001)
@@ -110,7 +112,10 @@ CRH2A-2001近8次担当的车次为:
110
112
  2025-11-26 10:09:D5665
111
113
  2025-11-25 17:29:C3896
112
114
  2025-11-25 12:36:C3897
115
+
116
+ 数据来源:rail.re
113
117
  ```
118
+ 此功能与数据来源的网站一样,支持`简略输入`:CRH2A-2001可以输入2a2001、CR400BF-5033可以输入bf5033,以此类推
114
119
 
115
120
  <!-- - 通过列车车次查询该车次的始发终到、担当客运段、车型信息以及配属,同时支持动车组与普速列车:`/查询` [列车车次] 或 `/cx` [列车车次] (例如:/查询 Z99)
116
121
  ```
@@ -361,8 +366,8 @@ Copyright © Leaf developer 2023-2026
361
366
 
362
367
  ## TODO 🔜
363
368
 
364
- - ~~当前`/线路`功能存在某线路沿途车站过多而触发`IndexError: list index out of range`的Bug,正在努力修复~~**(已修复)**
365
- - ~~修复`/大屏`功能~~**(已修复)**
369
+ - ~~当前`/线路`功能存在某线路沿途车站过多而触发`IndexError: list index out of range`的Bug,正在努力修复~~ **(已修复)**
370
+ - ~~修复`/大屏`功能~~ **(已修复)**
366
371
  - ~~计划加入生成模拟列车检票大屏的图片的功能,类似CRsim的这种~~ **(这个我计划另写一个插件)**
367
372
  - ~~计划加入12306车站大屏功能~~ **(已实现)**
368
373
  - ~~正在计划加入12306查询列车始发终到、中途停站的功能~~ **(已实现)**
@@ -76,6 +76,8 @@ D3211次列车近8次担当的车组号为:
76
76
  2025-11-23 12:59:CRH2B2116
77
77
  2025-11-22 12:59:CRH2B2115
78
78
  2025-11-21 12:59:CRH2A2006
79
+
80
+ 数据来源:rail.re
79
81
  ```
80
82
 
81
83
  - 通过动车组车组号查询担当车次:`/车次` [动车组车组号] 或 `/cc` [动车组车组号](例如:/车次 CRH2A-2001)
@@ -92,7 +94,10 @@ CRH2A-2001近8次担当的车次为:
92
94
  2025-11-26 10:09:D5665
93
95
  2025-11-25 17:29:C3896
94
96
  2025-11-25 12:36:C3897
97
+
98
+ 数据来源:rail.re
95
99
  ```
100
+ 此功能与数据来源的网站一样,支持`简略输入`:CRH2A-2001可以输入2a2001、CR400BF-5033可以输入bf5033,以此类推
96
101
 
97
102
  <!-- - 通过列车车次查询该车次的始发终到、担当客运段、车型信息以及配属,同时支持动车组与普速列车:`/查询` [列车车次] 或 `/cx` [列车车次] (例如:/查询 Z99)
98
103
  ```
@@ -343,8 +348,8 @@ Copyright © Leaf developer 2023-2026
343
348
 
344
349
  ## TODO 🔜
345
350
 
346
- - ~~当前`/线路`功能存在某线路沿途车站过多而触发`IndexError: list index out of range`的Bug,正在努力修复~~**(已修复)**
347
- - ~~修复`/大屏`功能~~**(已修复)**
351
+ - ~~当前`/线路`功能存在某线路沿途车站过多而触发`IndexError: list index out of range`的Bug,正在努力修复~~ **(已修复)**
352
+ - ~~修复`/大屏`功能~~ **(已修复)**
348
353
  - ~~计划加入生成模拟列车检票大屏的图片的功能,类似CRsim的这种~~ **(这个我计划另写一个插件)**
349
354
  - ~~计划加入12306车站大屏功能~~ **(已实现)**
350
355
  - ~~正在计划加入12306查询列车始发终到、中途停站的功能~~ **(已实现)**
@@ -1,12 +1,14 @@
1
1
  # Copyright © Leaf developer 2023-2026
2
2
  # 本文件负责实现“通过动车组车次查询车组号”与“通过动车组车组号查询动车组车次”功能
3
-
3
+ import re
4
4
  import httpx
5
5
  import json
6
+ from nonebot import on_regex
6
7
  from nonebot import on_command # type: ignore
8
+ from nonebot.adapters import Event
7
9
  from nonebot.adapters.onebot.v11 import Message, MessageSegment # type: ignore
8
10
  from nonebot.plugin import PluginMetadata # type: ignore
9
- from nonebot.params import CommandArg # type: ignore
11
+ from nonebot.params import RawCommand, CommandArg # type: ignore
10
12
  from nonebot.rule import to_me # type: ignore
11
13
  from .utils import utils
12
14
  from .api import API
@@ -19,16 +21,28 @@ announce = "数据来源:rail.re"
19
21
  emu_number = on_command("车号",aliases={"ch", "查车号"}, priority=5,block=True)
20
22
  train_number = on_command("车次",aliases={"cc", "查车次"}, priority=5,block=True)
21
23
  @emu_number.handle()
22
- async def handle_emu_number(args: Message = CommandArg()): # type: ignore
24
+ async def handle_emu_number(event:Event, args: Message = CommandArg()): # type: ignore
25
+ raw_message = str(event.get_message()).strip()
26
+ command_part = utils.get_command_part(raw_message)
27
+ valid_commands = ['车号','ch','查车号']
28
+ if command_part not in valid_commands:
29
+ return
30
+
23
31
  if number := args.extract_plain_text():
24
32
  async with httpx.AsyncClient(headers=API.headers) as client:
25
33
  try:
26
34
  link_emu_number = API.api_rail_re + 'train/' + number.upper()
27
35
  response = await client.get(link_emu_number)
28
36
  data = json.loads(response.text)
37
+
38
+ if not data:
39
+ await train_number.send("未查询到相关信息")
40
+ return # 防止再次报“FinishedException”错误
41
+
29
42
  num = len(data)
30
43
  count = 0
31
44
  final_data = ""
45
+ train_no = data[0]['train_no']
32
46
  for i in range(num):
33
47
  if i <= 7:
34
48
  emu_no = utils.EMU_code_formatter(data[i]['emu_no'])
@@ -37,10 +51,9 @@ async def handle_emu_number(args: Message = CommandArg()): # type: ignore
37
51
  count += 1
38
52
  else:
39
53
  pass
40
-
41
54
 
42
55
  result = Message([
43
- number.upper(),"次列车近",str(count),"次担当的车组号为:\n",
56
+ train_no,"次列车近",str(count),"次担当的车组号为:\n",
44
57
  "------------------------------\n",
45
58
  final_data,
46
59
  "------------------------------\n \n",
@@ -58,16 +71,28 @@ async def handle_emu_number(args: Message = CommandArg()): # type: ignore
58
71
  await emu_number.finish("请输入车号")
59
72
 
60
73
  @train_number.handle() #通过车组号查询车次
61
- async def handle_train_number(args: Message = CommandArg()): # type: ignore
74
+ async def handle_train_number(event = Event, args: Message = CommandArg()): # type: ignore
75
+ raw_message = str(event.get_message()).strip()
76
+ command_part = utils.get_command_part(raw_message)
77
+ valid_commands = ['车次','cc','查车次']
78
+ if command_part not in valid_commands:
79
+ return
80
+
62
81
  if number := args.extract_plain_text(): # noqa: F841
63
82
  async with httpx.AsyncClient(headers=API.headers) as client:
64
83
  try:
65
84
  link_train_number = API.api_rail_re + 'emu/' + number.upper()
66
85
  response = await client.get(link_train_number)
67
86
  data = json.loads(response.text)
87
+
88
+ if not data:
89
+ await train_number.send("未查询到相关信息")
90
+ return
91
+
68
92
  num = len(data)
69
93
  count = 0
70
94
  final_data = ""
95
+ emu_number = utils.EMU_code_formatter(data[0]['emu_no'])
71
96
  for i in range(num):
72
97
  if i <= 7:
73
98
  train_no = data[i]['train_no']
@@ -76,9 +101,9 @@ async def handle_train_number(args: Message = CommandArg()): # type: ignore
76
101
  count += 1
77
102
  else:
78
103
  pass
79
-
80
- result = Message([
81
- "车组号",number.upper(),"近",str(count),"次担当的动车组车次为:\n",
104
+
105
+ result = Message([ # TODO 异常处理有问题
106
+ "车组号",emu_number,"近",str(count),"次担当的动车组车次为:\n",
82
107
  "------------------------------\n",
83
108
  final_data,
84
109
  "------------------------------\n \n",
@@ -4,17 +4,25 @@
4
4
  import httpx
5
5
  from httpx import AsyncClient
6
6
  from nonebot import on_command # type: ignore
7
+ from nonebot.adapters import Event
7
8
  from nonebot.adapters.onebot.v11 import Message, MessageSegment # type: ignore
8
9
  from nonebot.plugin import PluginMetadata # type: ignore
9
10
  from nonebot.params import CommandArg # type: ignore
10
11
  from nonebot.rule import to_me # type: ignore
12
+ from .utils import utils
11
13
  from .api import API
12
14
 
13
15
  xiaguanzhan_photo = on_command("下关站",aliases={"xgz"},priority=5,block=True)
14
16
  EMU_route_schedule = on_command("交路表",aliases={"jlb"},priority=5,block=True)
15
17
 
16
18
  @xiaguanzhan_photo.handle() #查询下关站列车户口照
17
- async def handle_xiaguanzhan_photo(args: Message = CommandArg()): # type: ignore
19
+ async def handle_xiaguanzhan_photo(event:Event, args: Message = CommandArg()): # type: ignore
20
+ raw_message = str(event.get_message()).strip()
21
+ command_part = utils.get_command_part(raw_message)
22
+ valid_commands = ['下关站','xgz']
23
+ if command_part not in valid_commands:
24
+ return
25
+
18
26
  if number := args.extract_plain_text():
19
27
  await xiaguanzhan_photo.send("正在加载图片,时间可能略久...")
20
28
  photo = API.api_xiaguanzhan + number + ".jpg"
@@ -23,7 +31,13 @@ async def handle_xiaguanzhan_photo(args: Message = CommandArg()): # type: ignore
23
31
  await xiaguanzhan_photo.finish("请输入正确的车号!,如:DF7C-5030")
24
32
 
25
33
  @EMU_route_schedule.handle() # 获取动车组交路表,还是来源于rail.re
26
- async def handle_EMU_route_schedule(args: Message = CommandArg()):
34
+ async def handle_EMU_route_schedule(event:Event, args: Message = CommandArg()):
35
+ raw_message = str(event.get_message()).strip()
36
+ command_part = utils.get_command_part(raw_message)
37
+ valid_commands = ['交路表','jlb']
38
+ if command_part not in valid_commands:
39
+ return
40
+
27
41
  if train_Number_input := args.extract_plain_text():
28
42
  res_EMU_route_schedule = API.api_EMU_route_schedule + train_Number_input.upper() + ".png"
29
43
  EMU_Route_schedule_result = Message([
@@ -4,6 +4,7 @@
4
4
  import httpx
5
5
  import json
6
6
  from nonebot import on_command # type: ignore
7
+ from nonebot.adapters import Event
7
8
  from nonebot.adapters.onebot.v11 import Message, MessageSegment # type: ignore
8
9
  from nonebot.plugin import PluginMetadata # type: ignore
9
10
  from nonebot.params import CommandArg # type: ignore
@@ -14,7 +15,13 @@ from .api import API
14
15
  route_info = on_command("线路",aliases={"xl","线路信息","线","铁路"},priority=5,block=True)
15
16
 
16
17
  @route_info.handle()
17
- async def handle_route_info(args: Message = CommandArg()):
18
+ async def handle_route_info(event:Event, args: Message = CommandArg()):
19
+ raw_message = str(event.get_message()).strip()
20
+ command_part = utils.get_command_part(raw_message)
21
+ valid_commands = ['线路','xl','线路信息','线','铁路']
22
+ if command_part not in valid_commands:
23
+ return
24
+
18
25
  if route_name_input := args.extract_plain_text():
19
26
 
20
27
  is_hsr = False
@@ -3,7 +3,8 @@
3
3
 
4
4
  import httpx
5
5
  import json
6
- from nonebot import on_command
6
+ from nonebot import on_command
7
+ from nonebot.adapters import Event
7
8
  from nonebot.adapters.onebot.v11 import Message, MessageSegment
8
9
  from nonebot.plugin import PluginMetadata
9
10
  from nonebot.params import CommandArg
@@ -14,7 +15,12 @@ from .api import API
14
15
  station_info = on_command("车站",aliases={"cz","车站信息","站"},priority=5,block=True)
15
16
 
16
17
  @station_info.handle()
17
- async def handle_station_info(args: Message = CommandArg()):
18
+ async def handle_station_info(event:Event, args: Message = CommandArg()):
19
+ raw_message = str(event.get_message()).strip()
20
+ command_part = utils.get_command_part(raw_message)
21
+ valid_commands = ['车站','cz','车站信息','站']
22
+ if command_part not in valid_commands:
23
+ return
18
24
  if station_name_input := args.extract_plain_text():
19
25
  if "站" in station_name_input: # 防止搜索出现问题
20
26
  station_name_input = station_name_input.replace("站","")
@@ -127,7 +133,7 @@ async def handle_station_info(args: Message = CommandArg()):
127
133
  except (httpx.ReadTimeout,httpx.ConnectTimeout):
128
134
  sta_info_result = "请求超时,请稍等一下再试"
129
135
  except Exception as error:
130
- route_info_result = "发生异常:" + str(error)
136
+ sta_info_result = "发生异常:" + str(error)
131
137
 
132
138
  await station_info.finish(sta_info_result)
133
139
 
@@ -5,6 +5,7 @@ import json
5
5
  import datetime
6
6
  import httpx
7
7
  from nonebot import on_command # type: ignore
8
+ from nonebot.adapters import Event
8
9
  from nonebot.adapters.onebot.v11 import Message, MessageSegment # type: ignore
9
10
  from nonebot.plugin import PluginMetadata # type: ignore
10
11
  from nonebot.params import CommandArg # type: ignore
@@ -17,7 +18,13 @@ station_screen = on_command("大屏",aliases={"dp","车站大屏"},priority=5,bl
17
18
  # return time[11:16]
18
19
 
19
20
  @station_screen.handle()
20
- async def handle_station_screen(args: Message = CommandArg()):
21
+ async def handle_station_screen(event:Event, args: Message = CommandArg()):
22
+ raw_message = str(event.get_message()).strip()
23
+ command_part = utils.get_command_part(raw_message)
24
+ valid_commands = ['大屏','dp','车站大屏']
25
+ if command_part not in valid_commands:
26
+ return
27
+
21
28
  if station_name_input := args.extract_plain_text():
22
29
 
23
30
  if "站" in station_name_input:
@@ -52,7 +59,7 @@ async def handle_station_screen(args: Message = CommandArg()):
52
59
  count += 1
53
60
 
54
61
  else:
55
- pass
62
+ break # 为什么我一直写成pass
56
63
  station_screen_message = Message([
57
64
  f"【{station_name_input}站】车站大屏如下:\n \n",
58
65
  result,
@@ -5,6 +5,7 @@ import json
5
5
  import datetime
6
6
  import httpx
7
7
  from nonebot import on_command # type: ignore
8
+ from nonebot.adapters import Event
8
9
  from nonebot.adapters.onebot.v11 import Message, MessageSegment # type: ignore
9
10
  from nonebot.plugin import PluginMetadata # type: ignore
10
11
  from nonebot.params import CommandArg # type: ignore
@@ -16,7 +17,13 @@ train_info = on_command("列车查询",aliases={"cx","查询"},priority=5,block=
16
17
 
17
18
 
18
19
  @train_info.handle() # 通过车次查询列车具体信息,不只是能查询动车组,普速列车也可查询
19
- async def handle_train_info(args: Message = CommandArg()): # type: ignore
20
+ async def handle_train_info(event:Event, args: Message = CommandArg()): # type: ignore
21
+ raw_message = str(event.get_message()).strip()
22
+ command_part = utils.get_command_part(raw_message)
23
+ valid_commands = ['列车查询','cx','查询']
24
+ if command_part not in valid_commands:
25
+ return
26
+
20
27
  if train_number_input := args.extract_plain_text():
21
28
 
22
29
  is_real_time_query = False # 默认参数为False
@@ -90,9 +97,10 @@ async def handle_train_info(args: Message = CommandArg()): # type: ignore
90
97
  jiaolu_dept_train = stop_time[0]["jiaolu_dept_train"] # 车底配属
91
98
 
92
99
  if request_dates == toDay:
93
- train_schedule_info = f"{train_code}次{datetime.date.today().strftime("%m月%d日")}{start_station_name}方面正常开行"
100
+ current_date = datetime.date.today().strftime('%m月%d日') # Bug fixed:https://github.com/leaf2006/nonebot-plugin-railwaytools/issues/2
101
+ train_schedule_info = f"{train_code}次{current_date}{start_station_name}方面正常开行"
94
102
  else:
95
- train_schedule_info = f"{train_code}次{datetime.date.today().strftime("%m月%d日")}{start_station_name}方面不开行或已停运,请关注车站公告"
103
+ train_schedule_info = f"{train_code}次{current_date}{start_station_name}方面不开行或已停运,请关注车站公告"
96
104
 
97
105
  stop_inf = []
98
106
  stop_dict = {}
@@ -129,7 +137,7 @@ async def handle_train_info(args: Message = CommandArg()): # type: ignore
129
137
  stop_inf.append(stop_dict)
130
138
  stop_dict = {}
131
139
 
132
- if is_real_time_query == True: # TODO 这里有问题
140
+ if is_real_time_query == True:
133
141
  now_time = datetime.datetime.now().strftime("%H:%M")
134
142
  end_station_count = stop_time_count - 1
135
143
  now_station_count = 0
@@ -25,4 +25,13 @@ class utils:
25
25
  res_search_raw_data = json.loads(res_search.text)
26
26
  res_search_data = res_search_raw_data['data']
27
27
  return res_search_data
28
-
28
+
29
+ def get_command_part(raw_message):
30
+ space_index = raw_message.find(' ') # 找到空格所在的位置(空格用于分隔指令与参数)
31
+ if space_index != -1:
32
+ command_part = raw_message[:space_index]
33
+ else:
34
+ command_part = raw_message
35
+
36
+ command_part = command_part.replace('/','')
37
+ return command_part
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nonebot-plugin-railwaytools
3
- Version: 2.2.2
3
+ Version: 2.2.3
4
4
  Summary: 这是一个火车迷也许觉得很好用的铁路机器人工具箱
5
5
  Author-email: leaf2006 <leafdeveloper@qq.com>
6
6
  License-Expression: MIT
@@ -94,6 +94,8 @@ D3211次列车近8次担当的车组号为:
94
94
  2025-11-23 12:59:CRH2B2116
95
95
  2025-11-22 12:59:CRH2B2115
96
96
  2025-11-21 12:59:CRH2A2006
97
+
98
+ 数据来源:rail.re
97
99
  ```
98
100
 
99
101
  - 通过动车组车组号查询担当车次:`/车次` [动车组车组号] 或 `/cc` [动车组车组号](例如:/车次 CRH2A-2001)
@@ -110,7 +112,10 @@ CRH2A-2001近8次担当的车次为:
110
112
  2025-11-26 10:09:D5665
111
113
  2025-11-25 17:29:C3896
112
114
  2025-11-25 12:36:C3897
115
+
116
+ 数据来源:rail.re
113
117
  ```
118
+ 此功能与数据来源的网站一样,支持`简略输入`:CRH2A-2001可以输入2a2001、CR400BF-5033可以输入bf5033,以此类推
114
119
 
115
120
  <!-- - 通过列车车次查询该车次的始发终到、担当客运段、车型信息以及配属,同时支持动车组与普速列车:`/查询` [列车车次] 或 `/cx` [列车车次] (例如:/查询 Z99)
116
121
  ```
@@ -361,8 +366,8 @@ Copyright © Leaf developer 2023-2026
361
366
 
362
367
  ## TODO 🔜
363
368
 
364
- - ~~当前`/线路`功能存在某线路沿途车站过多而触发`IndexError: list index out of range`的Bug,正在努力修复~~**(已修复)**
365
- - ~~修复`/大屏`功能~~**(已修复)**
369
+ - ~~当前`/线路`功能存在某线路沿途车站过多而触发`IndexError: list index out of range`的Bug,正在努力修复~~ **(已修复)**
370
+ - ~~修复`/大屏`功能~~ **(已修复)**
366
371
  - ~~计划加入生成模拟列车检票大屏的图片的功能,类似CRsim的这种~~ **(这个我计划另写一个插件)**
367
372
  - ~~计划加入12306车站大屏功能~~ **(已实现)**
368
373
  - ~~正在计划加入12306查询列车始发终到、中途停站的功能~~ **(已实现)**
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "nonebot-plugin-railwaytools"
3
- version = "2.2.2"
3
+ version = "2.2.3"
4
4
  description = "这是一个火车迷也许觉得很好用的铁路机器人工具箱"
5
5
  authors = [
6
6
  { name = "leaf2006", email = "leafdeveloper@qq.com" }