nonebot-plugin-l4d2-server 0.5.0__py3-none-any.whl → 0.5.2__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.
Files changed (49) hide show
  1. LICENSE +674 -674
  2. README.md +365 -349
  3. nonebot_plugin_l4d2_server/__init__.py +1 -1
  4. nonebot_plugin_l4d2_server/chrome.py +45 -0
  5. nonebot_plugin_l4d2_server/command.py +232 -233
  6. nonebot_plugin_l4d2_server/config.py +210 -318
  7. nonebot_plugin_l4d2_server/data/L4D2/image/template/anne.html +60 -60
  8. nonebot_plugin_l4d2_server/data/L4D2/image/template/fingerprint.svg +15 -15
  9. nonebot_plugin_l4d2_server/data/L4D2/image/template/help.html +233 -233
  10. nonebot_plugin_l4d2_server/data/L4D2/image/template/help_dack.html +231 -231
  11. nonebot_plugin_l4d2_server/data/L4D2/image/template/ip.html +48 -48
  12. nonebot_plugin_l4d2_server/data/L4D2/image/template/l.svg +9 -9
  13. nonebot_plugin_l4d2_server/data/L4D2/image/template/vue.css +530 -530
  14. nonebot_plugin_l4d2_server/l4d2_anne/__init__.py +251 -251
  15. nonebot_plugin_l4d2_server/l4d2_anne/analysis.py +51 -51
  16. nonebot_plugin_l4d2_server/l4d2_anne/anne_telecom.py +75 -75
  17. nonebot_plugin_l4d2_server/l4d2_anne/server.py +65 -65
  18. nonebot_plugin_l4d2_server/l4d2_anne/startand.py +17 -17
  19. nonebot_plugin_l4d2_server/l4d2_data/__init__.py +91 -91
  20. nonebot_plugin_l4d2_server/l4d2_data/config.py +17 -17
  21. nonebot_plugin_l4d2_server/l4d2_data/players.py +87 -87
  22. nonebot_plugin_l4d2_server/l4d2_data/serverip.py +32 -32
  23. nonebot_plugin_l4d2_server/l4d2_file/__init__.py +122 -122
  24. nonebot_plugin_l4d2_server/l4d2_file/ayromote.py +56 -56
  25. nonebot_plugin_l4d2_server/l4d2_file/remote.py +63 -66
  26. nonebot_plugin_l4d2_server/l4d2_image/__init__.py +103 -103
  27. nonebot_plugin_l4d2_server/l4d2_image/download.py +101 -101
  28. nonebot_plugin_l4d2_server/l4d2_image/htmlimg.py +32 -32
  29. nonebot_plugin_l4d2_server/l4d2_image/send_image_tool.py +32 -32
  30. nonebot_plugin_l4d2_server/l4d2_image/steam.py +83 -83
  31. nonebot_plugin_l4d2_server/l4d2_image/vtfs.py +40 -40
  32. nonebot_plugin_l4d2_server/l4d2_queries/__init__.py +114 -114
  33. nonebot_plugin_l4d2_server/l4d2_queries/api.py +43 -43
  34. nonebot_plugin_l4d2_server/l4d2_queries/ohter.py +35 -25
  35. nonebot_plugin_l4d2_server/l4d2_queries/qqgroup.py +288 -288
  36. nonebot_plugin_l4d2_server/l4d2_server/__init__.py +61 -61
  37. nonebot_plugin_l4d2_server/l4d2_server/rcon.py +28 -28
  38. nonebot_plugin_l4d2_server/l4d2_server/workshop.py +50 -50
  39. nonebot_plugin_l4d2_server/l4d2_web/web.py +234 -234
  40. nonebot_plugin_l4d2_server/l4d2_web/webUI.py +241 -241
  41. nonebot_plugin_l4d2_server/message.py +58 -58
  42. nonebot_plugin_l4d2_server/seach.py +33 -33
  43. nonebot_plugin_l4d2_server/txt_to_img.py +64 -64
  44. nonebot_plugin_l4d2_server/utils.py +272 -272
  45. {nonebot_plugin_l4d2_server-0.5.0.dist-info → nonebot_plugin_l4d2_server-0.5.2.dist-info}/LICENSE +674 -674
  46. {nonebot_plugin_l4d2_server-0.5.0.dist-info → nonebot_plugin_l4d2_server-0.5.2.dist-info}/METADATA +47 -32
  47. nonebot_plugin_l4d2_server-0.5.2.dist-info/RECORD +54 -0
  48. nonebot_plugin_l4d2_server-0.5.0.dist-info/RECORD +0 -53
  49. {nonebot_plugin_l4d2_server-0.5.0.dist-info → nonebot_plugin_l4d2_server-0.5.2.dist-info}/WHEEL +0 -0
@@ -1,319 +1,211 @@
1
- from pathlib import Path
2
- from typing import List,Dict,Union
3
- import ast
4
- import platform
5
- import os
6
- from ruamel import yaml
7
- from pydantic import Extra,BaseModel,Field
8
- try:
9
- import ujson as json
10
- except:
11
- import json
12
-
13
- from nonebot.permission import SUPERUSER
14
- from nonebot import get_driver
15
- from nonebot.log import logger
16
- from nonebot.adapters.onebot.v11.permission import (
17
- GROUP_ADMIN,
18
- GROUP_OWNER,
19
- PRIVATE_FRIEND,
20
- )
21
-
22
- from .l4d2_queries.ohter import ALL_HOST
23
- from .l4d2_queries.api import seach_map,map_dict_to_str
24
- file_format = (".vpk",".zip",".7z",'rar')
25
- # 权限
26
-
27
- driver = get_driver()
28
- COMMAND_START = list[driver.config.command_start]
29
- try:
30
- NICKNAME: str = list(driver.config.nickname)[0]
31
- except Exception:
32
- NICKNAME = 'bot'
33
- CHECK_FILE:int = 0
34
-
35
-
36
- reMaster = SUPERUSER | GROUP_OWNER
37
- Master = SUPERUSER | GROUP_ADMIN | GROUP_OWNER
38
- ADMINISTRATOR = SUPERUSER | GROUP_ADMIN | GROUP_OWNER | PRIVATE_FRIEND
39
- # file 填写求生服务器所在路径
40
-
41
-
42
-
43
-
44
- CONFIG_PATH = Path() / 'data' / 'L4D2' / 'l4d2.yml'
45
- CONFIG_PATH.parent.mkdir(parents=True, exist_ok=True)
46
-
47
- class L4d2GroupConfig(BaseModel):
48
- enable: bool = Field(True, alias='是否启用求生功能')
49
- map_master: List[str] = Field([], alias='分群地图管理员')
50
-
51
- def update(self, **kwargs):
52
- for key, value in kwargs.items():
53
- if key in self.__fields__:
54
- self.__setattr__(key, value)
55
-
56
- class L4d2Config(BaseModel):
57
- total_enable: bool = Field(True, alias='是否全局启用求生功能')
58
- map_path: List[str] = Field([], alias='求生地图路径')
59
- web_username: str = Field('l4d2', alias='后台管理用户名')
60
- web_password: str = Field('admin', alias='后台管理密码')
61
- l4_style: str = Field("standard", alias='图片风格')
62
- # l4_file: List[str] = Field( ["/home/ubuntu/l4d2/coop"], alias='本地求生服务器地址')
63
- # l4_host: List[str] = Field(['127.0.0.1'], alias='求生服务器地址')
64
- # l4_port: List[str] = Field(['20715'], alias='求生服务器端口')
65
- # l4_rcon: List[str] = Field(['114514'], alias='求生服务器rcon密码')
66
-
67
- l4_ipall: List[Dict[str,Union[str,int,bool]]] = Field(
68
- [{
69
- 'id_rank':'1',
70
- 'place': False,
71
- 'location':'C:\\l4d2',
72
- 'host':'127.0.0.1',
73
- 'port':'20715',
74
- 'rcon':'114514',
75
- 'server_id':'本地地图',
76
- },{
77
- 'id_rank':'2',
78
- 'place': True,
79
- 'location':'/home/unbuntu/coop',
80
- 'host':'11.4.51.4',
81
- 'port':'20715',
82
- 'rcon':'9191810',
83
- 'account':'root',
84
- 'password':'114514',
85
- 'server_id':'远程地图',
86
- }],
87
- alias='l4服务器ip集合')
88
- web_secret_key: str = Field('49c294d32f69b732ef6447c18379451ce1738922a75cd1d4812ef150318a2ed0',
89
- alias='后台管理token密钥')
90
- l4_master: List[str] = Field(['114514919'], alias='求生地图全局管理员qq')
91
- # l4_ip:bool = Field(False, alias='查询地图是否显示ip')
92
- l4_font: str = Field('simsun.ttc', alias='字体')
93
- l4_only:bool = Field(False, alias='下载地图是是否阻碍其他指令')
94
- l4_tag: List[str] = Field(['呆呆','橘'], alias='查服的名')
95
- l4_key: str = Field('q1145149191810', alias='key')
96
- group_config: Dict[int, L4d2GroupConfig] = Field({}, alias='分群配置')
97
-
98
- def update(self, **kwargs):
99
- for key, value in kwargs.items():
100
- if key in self.__fields__:
101
- self.__setattr__(key, value)
102
-
103
- class L4d2ConfigManager:
104
-
105
- def __init__(self):
106
- self.file_path = CONFIG_PATH
107
- if self.file_path.exists():
108
- self.config = L4d2Config.parse_obj(
109
- yaml.load(self.file_path.read_text(encoding='utf-8'), Loader=yaml.Loader))
110
- else:
111
- self.config = L4d2Config()
112
- self.save()
113
-
114
- def get_group_config(self, group_id: int) -> L4d2GroupConfig:
115
- if group_id not in self.config.group_config:
116
- self.config.group_config[group_id] = L4d2GroupConfig()
117
- self.save()
118
- return self.config.group_config[group_id]
119
-
120
- @property
121
- def config_list(self) -> List[str]:
122
- return list(self.config.dict(by_alias=True).keys())
123
-
124
- def save(self):
125
- with self.file_path.open('w', encoding='utf-8') as f:
126
- yaml.dump(
127
- self.config.dict(by_alias=True),
128
- f,
129
- indent=2,
130
- Dumper=yaml.RoundTripDumper,
131
- allow_unicode=True)
132
-
133
- # 参数设置为全局变量
134
- global config_manager,l4_config
135
- config_manager = L4d2ConfigManager()
136
- l4_config = config_manager.config
137
-
138
- class UserModel(BaseModel):
139
- username: str
140
- password: str
141
-
142
-
143
-
144
- # env_config = Config.parse_obj(get_driver().config.dict())
145
- """
146
- try:
147
- l4_file: List[str] = driver.config.l4_file
148
- except:
149
- l4_file: List[str] = ['/home/ubuntu/l4d2']
150
-
151
-
152
- try:
153
- l4_image: bool = driver.config.l4_image
154
- except:
155
- l4_image: bool = True
156
-
157
- try:
158
- l4_steamid: bool = driver.config.l4_steamid
159
- except:
160
- l4_steamid: bool = True
161
-
162
- try:
163
- l4_only: bool = driver.config.l4_only
164
- except:
165
- l4_only: bool = False
166
-
167
- try:
168
- l4_font: str = driver.config.l4_font
169
- except:
170
- l4_font: str = 'simsun.ttf'
171
-
172
- try:
173
- l4_host: List[str] = driver.config.l4_host
174
- except:
175
- l4_host: List[str] = ['127.0.0.1']
176
-
177
-
178
- try:
179
- l4_port: List[str] = driver.config.l4_port
180
- except:
181
- l4_port: List[str] = ['20715']
182
-
183
-
184
- try:
185
- l4_rcon: List[str] = driver.config.l4_rcon
186
- except:
187
- l4_rcon: List[str] = ['114514']
188
-
189
-
190
- try:
191
- l4_master: List[str] = driver.config.l4_master
192
- except:
193
- l4_master: List[str] = ['114514']
194
- try:
195
- l4_qq: str = list(driver.config.superusers)[0]
196
- except:
197
- l4_qq: str = ''
198
-
199
- try:
200
- l4_proxies: set = {
201
- 'http://':driver.config.l4_proxies
202
- }
203
- except:
204
- l4_proxies = ''
205
-
206
- try:
207
- l4_style:str = driver.config.l4_style
208
- except:
209
- l4_style:str = ''
210
-
211
- try:
212
- l4_key:str = driver.config.l4_key
213
- except:
214
- l4_key:str = ""
215
-
216
- try:
217
- l4_tag:list = driver.config.l4_tag
218
- except:
219
- l4_tag = None
220
-
221
- try:
222
- l4_web:bool = driver.config.l4_web
223
- except:
224
- l4_web:bool = False
225
-
226
-
227
- # 强制转list
228
- if type(l4_tag) == str or list:
229
- l4_list = [l4_file, l4_steamid, l4_host, l4_port, l4_rcon, l4_master,l4_tag]
230
- l4_list = [ast.literal_eval(i) if isinstance(i, str) else i for i in l4_list]
231
- l4_file, l4_steamid, l4_host, l4_port, l4_rcon, l4_master, l4_tag= l4_list
232
- else:
233
- l4_list = [l4_file, l4_steamid, l4_host, l4_port, l4_rcon, l4_master]
234
- l4_list = [ast.literal_eval(i) if isinstance(i, str) else i for i in l4_list]
235
- l4_file, l4_steamid, l4_host, l4_port, l4_rcon, l4_master= l4_list
236
-
237
- """
238
- '''
239
- 地图路径
240
- '''
241
- vpk_path = "left4dead2/addons"
242
- # map_path = Path(l4_file[CHECK_FILE],vpk_path)
243
- # l4_file_one = l4_file[CHECK_FILE]
244
- # l4_host_one = l4_host[CHECK_FILE]
245
- # l4_port_one = int(l4_port[CHECK_FILE])
246
- # l4_rcon_one = l4_rcon[CHECK_FILE]
247
- # def load_config():
248
- # # 文件路径
249
- # global map_path,l4_file_one,l4_host_one,l4_port_one,l4_rcon_one
250
- # map_path = Path(l4_file[CHECK_FILE],vpk_path)
251
- # l4_file_one = l4_file[CHECK_FILE]
252
- # l4_host_one = l4_host[CHECK_FILE]
253
- # l4_port_one = int(l4_port[CHECK_FILE])
254
- # l4_rcon_one = l4_rcon[CHECK_FILE]
255
-
256
-
257
- PLAYERSDATA = Path() / "data/L4D2/image/players"
258
- """用户数据路径"""
259
- TEXT_PATH = Path(__file__).parent / 'data/L4D2/image'
260
- """图片存储路径"""
261
- TEXT_XPATH = Path() / 'data/L4D2/image'
262
- """内置图片路径"""
263
-
264
-
265
-
266
- PLAYERSDATA = Path() / "data/L4D2/sql"
267
- """数据库路径"""
268
- DATASQLITE = Path().parent / "data/L4D2/sql/L4D2.db"
269
- """数据库!"""
270
-
271
- table_data = ["L4d2_players","L4D2_server"]
272
- """数据库表"""
273
- L4d2_players_tag = ['qq', 'nickname', 'steamid']
274
- """数据库表1"""
275
- L4d2_server_tag = ['id','qqgroup', 'host', 'port', 'rcon']
276
- """数据库表2"""
277
- L4d2_INTEGER = ['id','qq','qqgroup','port']
278
- """INITEGER的表头"""
279
- L4d2_TEXT = ['nickname','steamid','host','rcon','path']
280
- """TEXT的表头"""
281
- L4d2_BOOLEAN = ['use']
282
- """BOOLEAN的表头"""
283
-
284
- tables_columns = {
285
- table_data[0]:L4d2_players_tag,
286
- table_data[1]:L4d2_server_tag
287
- }
288
-
289
- # 求生anne服务器
290
- anne_url = "https://server.trygek.com/"
291
-
292
- gamemode_list = [
293
- '纯净',
294
- '魔改战役',
295
- '多特',
296
- '魔改多特',
297
- '写专',
298
- '对抗',
299
- '魔改对抗',
300
- '药役',
301
- '药抗',
302
- '包抗',
303
- '绝境',
304
- '死专',
305
- 'ast',
306
- '清道夫',
307
- ]
308
-
309
- # 系统
310
- if platform.system() == 'Windows':
311
- systems:str = 'win'
312
- elif platform.system() == 'Linux':
313
- systems:str = 'linux'
314
- else:
315
- systems:str = 'others'
316
- ANNE_IP = {}
317
-
318
-
1
+ from pathlib import Path
2
+ from typing import List,Dict,Union
3
+ import ast
4
+ import platform
5
+ import os
6
+ from ruamel import yaml
7
+ from pydantic import Extra,BaseModel,Field
8
+ try:
9
+ import ujson as json
10
+ except:
11
+ import json
12
+
13
+ from nonebot.permission import SUPERUSER
14
+ from nonebot import get_driver
15
+ from nonebot.log import logger
16
+ from nonebot.adapters.onebot.v11.permission import (
17
+ GROUP_ADMIN,
18
+ GROUP_OWNER,
19
+ PRIVATE_FRIEND,
20
+ )
21
+
22
+ from .l4d2_queries.ohter import ALL_HOST
23
+ from .l4d2_queries.api import seach_map,map_dict_to_str
24
+ file_format = (".vpk",".zip",".7z",'rar')
25
+ # 权限
26
+
27
+ driver = get_driver()
28
+ COMMAND_START = list[driver.config.command_start]
29
+ try:
30
+ NICKNAME: str = list(driver.config.nickname)[0]
31
+ except Exception:
32
+ NICKNAME = 'bot'
33
+ CHECK_FILE:int = 0
34
+
35
+
36
+ reMaster = SUPERUSER | GROUP_OWNER
37
+ Master = SUPERUSER | GROUP_ADMIN | GROUP_OWNER
38
+ ADMINISTRATOR = SUPERUSER | GROUP_ADMIN | GROUP_OWNER | PRIVATE_FRIEND
39
+ # file 填写求生服务器所在路径
40
+
41
+
42
+
43
+
44
+ CONFIG_PATH = Path() / 'data' / 'L4D2' / 'l4d2.yml'
45
+ CONFIG_PATH.parent.mkdir(parents=True, exist_ok=True)
46
+
47
+ class L4d2GroupConfig(BaseModel):
48
+ enable: bool = Field(True, alias='是否启用求生功能')
49
+ map_master: List[str] = Field([], alias='分群地图管理员')
50
+
51
+ def update(self, **kwargs):
52
+ for key, value in kwargs.items():
53
+ if key in self.__fields__:
54
+ self.__setattr__(key, value)
55
+
56
+ class L4d2Config(BaseModel):
57
+ total_enable: bool = Field(True, alias='是否全局启用求生功能')
58
+ map_path: List[str] = Field([], alias='求生地图路径')
59
+ web_username: str = Field('l4d2', alias='后台管理用户名')
60
+ web_password: str = Field('admin', alias='后台管理密码')
61
+ l4_style: str = Field("standard", alias='图片风格')
62
+ # l4_file: List[str] = Field( ["/home/ubuntu/l4d2/coop"], alias='本地求生服务器地址')
63
+ # l4_host: List[str] = Field(['127.0.0.1'], alias='求生服务器地址')
64
+ # l4_port: List[str] = Field(['20715'], alias='求生服务器端口')
65
+ # l4_rcon: List[str] = Field(['114514'], alias='求生服务器rcon密码')
66
+
67
+ l4_ipall: List[Dict[str,Union[str,int,bool]]] = Field(
68
+ [{
69
+ 'id_rank':'1',
70
+ 'place': False,
71
+ 'location':'C:\\l4d2',
72
+ 'host':'127.0.0.1',
73
+ 'port':'20715',
74
+ 'rcon':'114514',
75
+ 'server_id':'本地地图',
76
+ },{
77
+ 'id_rank':'2',
78
+ 'place': True,
79
+ 'location':'/home/unbuntu/coop',
80
+ 'host':'11.4.51.4',
81
+ 'port':'20715',
82
+ 'rcon':'9191810',
83
+ 'account':'root',
84
+ 'password':'114514',
85
+ 'server_id':'远程地图',
86
+ }],
87
+ alias='l4服务器ip集合')
88
+ web_secret_key: str = Field('49c294d32f69b732ef6447c18379451ce1738922a75cd1d4812ef150318a2ed0',
89
+ alias='后台管理token密钥')
90
+ l4_master: List[str] = Field(['114514919'], alias='求生地图全局管理员qq')
91
+ # l4_ip:bool = Field(False, alias='查询地图是否显示ip')
92
+ l4_font: str = Field('simsun.ttc', alias='字体')
93
+ l4_only:bool = Field(False, alias='下载地图是是否阻碍其他指令')
94
+ l4_tag: List[str] = Field(['呆呆','橘'], alias='查服的名')
95
+ l4_key: str = Field('q1145149191810', alias='key')
96
+ group_config: Dict[int, L4d2GroupConfig] = Field({}, alias='分群配置')
97
+
98
+ def update(self, **kwargs):
99
+ for key, value in kwargs.items():
100
+ if key in self.__fields__:
101
+ self.__setattr__(key, value)
102
+
103
+ class L4d2ConfigManager:
104
+
105
+ def __init__(self):
106
+ self.file_path = CONFIG_PATH
107
+ if self.file_path.exists():
108
+ self.config = L4d2Config.parse_obj(
109
+ yaml.load(self.file_path.read_text(encoding='utf-8'), Loader=yaml.Loader))
110
+ else:
111
+ self.config = L4d2Config()
112
+ self.save()
113
+
114
+ def get_group_config(self, group_id: int) -> L4d2GroupConfig:
115
+ if group_id not in self.config.group_config:
116
+ self.config.group_config[group_id] = L4d2GroupConfig()
117
+ self.save()
118
+ return self.config.group_config[group_id]
119
+
120
+ @property
121
+ def config_list(self) -> List[str]:
122
+ return list(self.config.dict(by_alias=True).keys())
123
+
124
+ def save(self):
125
+ with self.file_path.open('w', encoding='utf-8') as f:
126
+ yaml.dump(
127
+ self.config.dict(by_alias=True),
128
+ f,
129
+ indent=2,
130
+ Dumper=yaml.RoundTripDumper,
131
+ allow_unicode=True)
132
+
133
+ # 参数设置为全局变量
134
+ global config_manager,l4_config
135
+ config_manager = L4d2ConfigManager()
136
+ l4_config = config_manager.config
137
+
138
+ class UserModel(BaseModel):
139
+ username: str
140
+ password: str
141
+
142
+
143
+ '''
144
+ 地图路径
145
+ '''
146
+ vpk_path = "left4dead2/addons"
147
+
148
+
149
+ PLAYERSDATA = Path() / "data/L4D2/image/players"
150
+ """用户数据路径"""
151
+ TEXT_PATH = Path(__file__).parent / 'data/L4D2/image'
152
+ """图片存储路径"""
153
+ TEXT_XPATH = Path() / 'data/L4D2/image'
154
+ """内置图片路径"""
155
+
156
+
157
+
158
+ PLAYERSDATA = Path() / "data/L4D2/sql"
159
+ """数据库路径"""
160
+ DATASQLITE = Path().parent / "data/L4D2/sql/L4D2.db"
161
+ """数据库!"""
162
+
163
+ table_data = ["L4d2_players","L4D2_server"]
164
+ """数据库表"""
165
+ L4d2_players_tag = ['qq', 'nickname', 'steamid']
166
+ """数据库表1"""
167
+ L4d2_server_tag = ['id','qqgroup', 'host', 'port', 'rcon']
168
+ """数据库表2"""
169
+ L4d2_INTEGER = ['id','qq','qqgroup','port']
170
+ """INITEGER的表头"""
171
+ L4d2_TEXT = ['nickname','steamid','host','rcon','path']
172
+ """TEXT的表头"""
173
+ L4d2_BOOLEAN = ['use']
174
+ """BOOLEAN的表头"""
175
+
176
+ tables_columns = {
177
+ table_data[0]:L4d2_players_tag,
178
+ table_data[1]:L4d2_server_tag
179
+ }
180
+
181
+ # 求生anne服务器
182
+ anne_url = "https://server.trygek.com/"
183
+
184
+ gamemode_list = [
185
+ '纯净',
186
+ '魔改战役',
187
+ '多特',
188
+ '魔改多特',
189
+ '写专',
190
+ '对抗',
191
+ '魔改对抗',
192
+ '药役',
193
+ '药抗',
194
+ '包抗',
195
+ '绝境',
196
+ '死专',
197
+ 'ast',
198
+ '清道夫',
199
+ ]
200
+
201
+ # 系统
202
+ if platform.system() == 'Windows':
203
+ systems:str = 'win'
204
+ elif platform.system() == 'Linux':
205
+ systems:str = 'linux'
206
+ else:
207
+ systems:str = 'others'
208
+ ANNE_IP = {}
209
+
210
+
319
211
 
@@ -1,60 +1,60 @@
1
- <!DOCTYPE html>
2
- <head>
3
- <link rel="stylesheet" type="text/css" href="vue.css">
4
- </head>
5
- </br>
6
- <body style="background-image: url('back.png'); background-size: cover;">
7
- <font color="yellow">
8
- {% for item in data %}
9
- <h1 ><center>求生药役anne电信服数据</center></h1>
10
- <div class="scissors" style="border-top:1px dashed orange;">
11
- </div><h3><center>
12
- {% for msg_one in item.one_msg %}
13
- {{ msg_one }}<br>
14
- {% endfor %}</center></h3>
15
- </font>
16
- <div class="scissors" style="border-top:1px dashed orange;">
17
- </div>
18
- <div class="myinfo">
19
- <table class="transparent-bg">
20
- <tbody>
21
- <tr>
22
- <td rowspan="6">
23
- <img src={{item.header}} width="200" height="200" style="border-radius: 50%;">
24
- </td>
25
- <td>昵&emsp;&emsp;称 | {{item.name}}</td>
26
- <td>Steam id | {{item.Steam_ID}}</td>
27
- </tr>
28
- <tr>
29
- <td>游玩时间 | {{item.play_time}}</td>
30
- <td>最后上线 | {{item.last_online}}</td>
31
- </tr>
32
- <tr>
33
- <td>排&emsp;&emsp;行 | {{item.rank}}</td>
34
-
35
- <td>分&emsp;&emsp;数 | {{item.points}}</td>
36
- </tr>
37
- <tr>
38
- <td>分数 / 分 | {{item.point_min}}</td>
39
- <td>小僵尸数 | {{item.killed}}</td>
40
- </tr>
41
- <tr>
42
- <td>爆&emsp;&emsp;头 | {{item.shut}}</td>
43
- <td>爆&nbsp; 头&nbsp; 率 | {{item.out}}</td>
44
- </tr>
45
- <tr>
46
- <td>游玩次数 | {{item.playtimes}}</td>
47
- <td>救&nbsp; 援&nbsp; 关 | {{item.last_one}}</td>
48
- </tr>
49
- </tbody>
50
- </table>
51
- </div>
52
- <font color="yellow">
53
- {% endfor %}
54
- <h5><center>©爱丽数码</center></br>
55
- <center>
56
- github.com/Agnes4m/nonebot_plugin_l4d2_server
57
- </center>
58
- </h5>
59
- </font>
60
- </body>
1
+ <!DOCTYPE html>
2
+ <head>
3
+ <link rel="stylesheet" type="text/css" href="vue.css">
4
+ </head>
5
+ </br>
6
+ <body style="background-image: url('back.png'); background-size: cover;">
7
+ <font color="yellow">
8
+ {% for item in data %}
9
+ <h1 ><center>求生药役anne电信服数据</center></h1>
10
+ <div class="scissors" style="border-top:1px dashed orange;">
11
+ </div><h3><center>
12
+ {% for msg_one in item.one_msg %}
13
+ {{ msg_one }}<br>
14
+ {% endfor %}</center></h3>
15
+ </font>
16
+ <div class="scissors" style="border-top:1px dashed orange;">
17
+ </div>
18
+ <div class="myinfo">
19
+ <table class="transparent-bg">
20
+ <tbody>
21
+ <tr>
22
+ <td rowspan="6">
23
+ <img src={{item.header}} width="200" height="200" style="border-radius: 50%;">
24
+ </td>
25
+ <td>昵&emsp;&emsp;称 | {{item.name}}</td>
26
+ <td>Steam id | {{item.Steam_ID}}</td>
27
+ </tr>
28
+ <tr>
29
+ <td>游玩时间 | {{item.play_time}}</td>
30
+ <td>最后上线 | {{item.last_online}}</td>
31
+ </tr>
32
+ <tr>
33
+ <td>排&emsp;&emsp;行 | {{item.rank}}</td>
34
+
35
+ <td>分&emsp;&emsp;数 | {{item.points}}</td>
36
+ </tr>
37
+ <tr>
38
+ <td>分数 / 分 | {{item.point_min}}</td>
39
+ <td>小僵尸数 | {{item.killed}}</td>
40
+ </tr>
41
+ <tr>
42
+ <td>爆&emsp;&emsp;头 | {{item.shut}}</td>
43
+ <td>爆&nbsp; 头&nbsp; 率 | {{item.out}}</td>
44
+ </tr>
45
+ <tr>
46
+ <td>游玩次数 | {{item.playtimes}}</td>
47
+ <td>救&nbsp; 援&nbsp; 关 | {{item.last_one}}</td>
48
+ </tr>
49
+ </tbody>
50
+ </table>
51
+ </div>
52
+ <font color="yellow">
53
+ {% endfor %}
54
+ <h5><center>©爱丽数码</center></br>
55
+ <center>
56
+ github.com/Agnes4m/nonebot_plugin_l4d2_server
57
+ </center>
58
+ </h5>
59
+ </font>
60
+ </body>