nonebot-plugin-l4d2-server 0.4.6__py3-none-any.whl → 0.4.8__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.
- README.md +26 -12
- nonebot_plugin_l4d2_server/__init__.py +11 -1
- nonebot_plugin_l4d2_server/command.py +41 -15
- nonebot_plugin_l4d2_server/config.py +6 -2
- nonebot_plugin_l4d2_server/l4d2_anne/server.py +3 -2
- nonebot_plugin_l4d2_server/l4d2_queries/ohter.py +2 -1
- nonebot_plugin_l4d2_server/l4d2_queries/qqgroup.py +12 -9
- {nonebot_plugin_l4d2_server-0.4.6.dist-info → nonebot_plugin_l4d2_server-0.4.8.dist-info}/METADATA +27 -13
- {nonebot_plugin_l4d2_server-0.4.6.dist-info → nonebot_plugin_l4d2_server-0.4.8.dist-info}/RECORD +11 -11
- {nonebot_plugin_l4d2_server-0.4.6.dist-info → nonebot_plugin_l4d2_server-0.4.8.dist-info}/LICENSE +0 -0
- {nonebot_plugin_l4d2_server-0.4.6.dist-info → nonebot_plugin_l4d2_server-0.4.8.dist-info}/WHEEL +0 -0
README.md
CHANGED
@@ -9,9 +9,9 @@
|
|
9
9
|
# nonebot_plugin_l4d2_server
|
10
10
|
_✨Nonebot & Left 4 Dead 2 server操作✨_
|
11
11
|
<div align = "center">
|
12
|
-
<a href="https://github.
|
13
|
-
<a href="https://github.
|
14
|
-
<a href="https://github.
|
12
|
+
<a href="https://agnes4m.github.io/l4d2/" target="_blank">文档</a> ·
|
13
|
+
<a href="https://agnes4m.github.io/l4d2/reader/#%E5%8A%9F%E8%83%BD-%E6%8C%87%E4%BB%A4-%F0%9F%A4%94" target="_blank">指令列表</a> ·
|
14
|
+
<a href="https://agnes4m.github.io/l4d2/bug/">常见问题</a>
|
15
15
|
</div><br>
|
16
16
|
<a href="https://github.com/Agnes4m/nonebot_plugin_l4d2_server/stargazers">
|
17
17
|
<img alt="GitHub stars" src="https://img.shields.io/github/stars/Agnes4m/nonebot_plugin_l4d2_server" alt="stars">
|
@@ -28,7 +28,7 @@ _✨Nonebot & Left 4 Dead 2 server操作✨_
|
|
28
28
|
<a href="https://pypi.python.org/pypi/nonebot_plugin_l4d2_server">
|
29
29
|
<img src="https://img.shields.io/pypi/dm/nonebot_plugin_l4d2_server" alt="pypi download">
|
30
30
|
</a>
|
31
|
-
<img src="https://img.shields.io/badge/python-3.
|
31
|
+
<img src="https://img.shields.io/badge/python-3.9+-blue.svg" alt="python">
|
32
32
|
<img src="https://img.shields.io/badge/nonebot-2.0.0rc3-red.svg" alt="NoneBot">
|
33
33
|
</div>
|
34
34
|
|
@@ -42,13 +42,11 @@ _✨Nonebot & Left 4 Dead 2 server操作✨_
|
|
42
42
|
l4_port = ['20715'] # 服务器端口
|
43
43
|
l4_rcon = ['1145149191810'] # 服务器rcon密码,如果没有可以列空str对象元素
|
44
44
|
l4_font = 'simsun.ttc' # 服务器字体
|
45
|
+
l4_web = True # 网页控制台,默认是关闭
|
45
46
|
|
46
47
|
|
47
|
-
## 新文档(暂未完成)
|
48
48
|
|
49
|
-
|
50
|
-
|
51
|
-
<h2 id="gn">主要功能</h2>
|
49
|
+
## 主要功能
|
52
50
|
|
53
51
|
- 求生服务器-本地多路径操作(传地图)
|
54
52
|
- 批量查询指定ip服务器状态和玩家
|
@@ -56,7 +54,7 @@ _✨Nonebot & Left 4 Dead 2 server操作✨_
|
|
56
54
|
- [求生电信服anne](https://github.com/fantasylidong/CompetitiveWithAnne)[查询~](https://sb.trygek.com/l4d_stats/ranking/index.php)
|
57
55
|
|
58
56
|
|
59
|
-
|
57
|
+
## 如何获取key
|
60
58
|
|
61
59
|
为了使得ip不被滥用,我采取这种方式管理。
|
62
60
|
|
@@ -70,7 +68,7 @@ _✨Nonebot & Left 4 Dead 2 server操作✨_
|
|
70
68
|
|
71
69
|
|
72
70
|
|
73
|
-
##
|
71
|
+
## 提交自己的服务器?
|
74
72
|
|
75
73
|
**本项目原旨在方便自己查询管理服务器,如果你希望提供了ip**
|
76
74
|
|
@@ -85,11 +83,16 @@ _✨Nonebot & Left 4 Dead 2 server操作✨_
|
|
85
83
|
"id": 1,
|
86
84
|
"version": "战役",
|
87
85
|
"ip": "43.248.188.17:27031"
|
86
|
+
},
|
87
|
+
{
|
88
|
+
"id": 2,
|
89
|
+
"version": "战役",
|
90
|
+
"ip": "43.248.188.17:27032"
|
88
91
|
}
|
89
92
|
]
|
90
93
|
}
|
91
94
|
|
92
|
-
|
95
|
+
## 🌐 默认服务器
|
93
96
|
目前 **已授权** 的服务器查询,如果需要加入自己的ip可以进qq群私聊群主
|
94
97
|
|
95
98
|
| 指令 | 服务器 | op | 数量 |
|
@@ -112,6 +115,16 @@ _✨Nonebot & Left 4 Dead 2 server操作✨_
|
|
112
115
|
<details>
|
113
116
|
<summary>展开/收起</summary>
|
114
117
|
|
118
|
+
### 0.4.8--2022.4.16
|
119
|
+
|
120
|
+
- 新增重载ip
|
121
|
+
- 修复了一些windows启动下奇奇怪怪的bug
|
122
|
+
|
123
|
+
### 0.4.7--2022.4.13
|
124
|
+
|
125
|
+
- 新增模式查询
|
126
|
+
- 列表推导替换套娃循环
|
127
|
+
|
115
128
|
### 0.4.6--2022.4.9
|
116
129
|
|
117
130
|
- 显示无效服
|
@@ -322,8 +335,9 @@ _✨Nonebot & Left 4 Dead 2 server操作✨_
|
|
322
335
|
+ [GPL-3.0 License](https://github.com/Agnes4m/nonebot_plugin_l4d2_server/blob/main/LICENSE) ©[@Agnes4m](https://github.com/Agnes4m)
|
323
336
|
|
324
337
|
|
325
|
-
|
338
|
+
## 🌐 感谢
|
326
339
|
|
340
|
+
- [nonebot2](https://github.com/nonebot/nonebot2) - 聊天机器人的基础框架
|
327
341
|
- [修仙](https://github.com/s52047qwas/nonebot_plugin_xiuxian) - 数据库的写法来自于他
|
328
342
|
- [自己写的求生之路查询库](https://github.com/Agnes4m/VSQ)(已弃用)
|
329
343
|
- [@MeetWq](https://github.com/MeetWq) - 非常热心解答nonebot2相关的写法
|
@@ -47,7 +47,7 @@ else:
|
|
47
47
|
driver = get_driver()
|
48
48
|
|
49
49
|
|
50
|
-
__version__ = "0.4.
|
50
|
+
__version__ = "0.4.8"
|
51
51
|
__plugin_meta__ = PluginMetadata(
|
52
52
|
name="求生之路小助手",
|
53
53
|
description='群内对有关求生之路的查询和操作',
|
@@ -453,6 +453,16 @@ async def _(matcher:Matcher,bot:Bot,event:GroupMessageEvent,state:T_State):
|
|
453
453
|
else:
|
454
454
|
await matcher.finish('已取消上传')
|
455
455
|
|
456
|
+
@reload_ip.handle()
|
457
|
+
async def _(matcher:Matcher):
|
458
|
+
global matchers
|
459
|
+
await matcher.send('正在重载ip,可能需要一点时间')
|
460
|
+
for _, l4_matchers in matchers.items():
|
461
|
+
for l4_matcher in l4_matchers:
|
462
|
+
l4_matcher.destroy()
|
463
|
+
await get_des_ip()
|
464
|
+
await matcher.finish('已重载ip')
|
465
|
+
|
456
466
|
|
457
467
|
@driver.on_shutdown
|
458
468
|
async def close_db():
|
@@ -1,7 +1,8 @@
|
|
1
1
|
import re
|
2
2
|
import asyncio
|
3
|
+
from typing import Type
|
3
4
|
|
4
|
-
from nonebot import on_notice,on_command,on_regex,on_keyword
|
5
|
+
from nonebot import on_notice,on_command,on_regex,on_keyword,MatcherGroup
|
5
6
|
from nonebot.params import CommandArg,RawCommand,CommandStart
|
6
7
|
from nonebot.matcher import Matcher
|
7
8
|
import nonebot
|
@@ -72,10 +73,6 @@ prison = on_command('zl',aliases={'坐牢'},priority=20,block=True)
|
|
72
73
|
open_prison = on_command('kl',aliases={'开牢'},priority=20,block=True)
|
73
74
|
|
74
75
|
updata = on_command('updata',aliases={'求生更新'},priority=20,block=True,permission= Master)
|
75
|
-
def reload_ip():
|
76
|
-
global updata,get_ip
|
77
|
-
updata = on_command('updata',aliases={'求生更新'},priority=20,block=True,permission= Master)
|
78
|
-
get_ip = on_command('114514919181',aliases=server_key(),priority=80,block=True)
|
79
76
|
tan_jian = on_command('tj',aliases={'探监'},priority=20,block=True)
|
80
77
|
|
81
78
|
# 查询
|
@@ -88,6 +85,7 @@ connect_rcon = on_command("Rrcon", aliases={"求生连接", '求生链接','求
|
|
88
85
|
end_connect = ['stop', '结束', '连接结束', '结束连接']
|
89
86
|
search_api = on_command('search',aliases={'求生三方'}, priority=20, block=True,permission= Master)
|
90
87
|
which_map = on_keyword(("是什么图"),priority=20, block=False)
|
88
|
+
reload_ip = on_command('l4_reload',aliases={'重载ip'},priority=30,permission=Master)
|
91
89
|
|
92
90
|
# 下载内容
|
93
91
|
up_workshop = on_command('workshop',aliases={'创意工坊下载','求生创意工坊'},priority=20,block=True)
|
@@ -116,16 +114,19 @@ def get_session_id(event: MessageEvent) -> str:
|
|
116
114
|
else:
|
117
115
|
return f"private_{event.user_id}"
|
118
116
|
|
117
|
+
matchers: Dict[str, List[Type[Matcher]]] = {}
|
119
118
|
|
120
|
-
|
121
|
-
|
119
|
+
|
120
|
+
|
121
|
+
async def get_des_ip():
|
122
122
|
global ALL_HOST
|
123
123
|
global ANNE_IP
|
124
|
+
global matchers
|
124
125
|
if l4_tag == None:
|
125
126
|
pass
|
126
127
|
else:
|
127
128
|
ALL_HOST.update(await seach_map(l4_tag,l4_qq,l4_key,'ip'))
|
128
|
-
def count_ips(ip_dict:dict):
|
129
|
+
async def count_ips(ip_dict:dict):
|
129
130
|
global ANNE_IP
|
130
131
|
for key, value in ip_dict.items():
|
131
132
|
if key in ['error_','success_']:
|
@@ -136,7 +137,7 @@ async def _():
|
|
136
137
|
if key == '云':
|
137
138
|
ANNE_IP = {key:value}
|
138
139
|
|
139
|
-
count_ips(ALL_HOST)
|
140
|
+
await count_ips(ALL_HOST)
|
140
141
|
ip_anne_list=[]
|
141
142
|
try:
|
142
143
|
ips = ALL_HOST['云']
|
@@ -146,10 +147,14 @@ async def _():
|
|
146
147
|
ip_anne_list.append((one_ip['id'],host,port))
|
147
148
|
except KeyError:
|
148
149
|
pass
|
149
|
-
|
150
|
+
|
151
|
+
|
150
152
|
get_ip = on_command('anne',aliases=server_key(),priority=80,block=True)
|
151
153
|
@get_ip.handle()
|
152
|
-
async def _(matcher:Matcher,start:str = CommandStart(),command: str = RawCommand(),args:Message = CommandArg()
|
154
|
+
async def _(matcher:Matcher,start:str = CommandStart(),command: str = RawCommand(),args:Message = CommandArg()):
|
155
|
+
if get_ip.plugin_name not in matchers:
|
156
|
+
matchers[get_ip.plugin_name] = []
|
157
|
+
matchers[get_ip.plugin_name].append(get_ip)
|
153
158
|
if start:
|
154
159
|
command = command.replace(start,'')
|
155
160
|
if command == 'anne':
|
@@ -157,12 +162,19 @@ async def _():
|
|
157
162
|
msg:str = args.extract_plain_text()
|
158
163
|
if not msg:
|
159
164
|
# 以图片输出全部当前
|
160
|
-
|
165
|
+
if command in gamemode_list:
|
166
|
+
this_ips = [d for l in ALL_HOST.values() for d in l if d.get('version') == command]
|
167
|
+
igr = True
|
168
|
+
else:
|
169
|
+
this_ips:list = ALL_HOST[command]
|
170
|
+
igr = False
|
171
|
+
if not this_ips:
|
172
|
+
matcher.finish('')
|
161
173
|
ip_list = []
|
162
174
|
for one_ip in this_ips:
|
163
175
|
host,port = split_maohao(one_ip['ip'])
|
164
176
|
ip_list.append((one_ip['id'],host,port))
|
165
|
-
img = await qq_ip_queries_pic(ip_list)
|
177
|
+
img = await qq_ip_queries_pic(ip_list,igr)
|
166
178
|
if img:
|
167
179
|
await matcher.finish(MessageSegment.image(img))
|
168
180
|
else:
|
@@ -184,7 +196,8 @@ async def _():
|
|
184
196
|
await matcher.finish(msg)
|
185
197
|
except (OSError,asyncio.exceptions.TimeoutError):
|
186
198
|
await matcher.finish('服务器无响应')
|
187
|
-
|
199
|
+
|
200
|
+
|
188
201
|
@tan_jian.handle()
|
189
202
|
async def _(matcher:Matcher,event:MessageEvent):
|
190
203
|
msg = await get_tan_jian(ip_anne_list,1)
|
@@ -199,4 +212,17 @@ async def _():
|
|
199
212
|
async def _(matcher:Matcher,event:MessageEvent):
|
200
213
|
|
201
214
|
msg = await get_tan_jian(ip_anne_list,3)
|
202
|
-
await matcher.finish(msg)
|
215
|
+
await matcher.finish(msg)
|
216
|
+
|
217
|
+
|
218
|
+
|
219
|
+
async def init():
|
220
|
+
global matchers
|
221
|
+
|
222
|
+
await get_des_ip()
|
223
|
+
print('启动辣')
|
224
|
+
|
225
|
+
|
226
|
+
@driver.on_startup
|
227
|
+
async def _():
|
228
|
+
await init()
|
@@ -2,7 +2,7 @@ import httpx
|
|
2
2
|
from bs4 import BeautifulSoup
|
3
3
|
import json
|
4
4
|
from pathlib import Path
|
5
|
-
from ..config import TEXT_PATH,anne_url,ANNE_IP
|
5
|
+
from ..config import TEXT_PATH,anne_url,ANNE_IP,gamemode_list
|
6
6
|
from ..l4d2_queries.ohter import ALL_HOST
|
7
7
|
|
8
8
|
# 储存anne服务器ip
|
@@ -57,8 +57,9 @@ def server_key():
|
|
57
57
|
try:
|
58
58
|
for tag1,value in ALL_HOST.items():
|
59
59
|
a.add(tag1)
|
60
|
+
a.update(gamemode_list)
|
60
61
|
except AttributeError:
|
61
62
|
a.add('希腊那我从来没有想过这个事情')
|
62
|
-
return
|
63
|
+
return a
|
63
64
|
|
64
65
|
|
@@ -3,6 +3,7 @@ try:
|
|
3
3
|
except:
|
4
4
|
import json
|
5
5
|
from pathlib import Path
|
6
|
+
from typing import Dict,List
|
6
7
|
import os
|
7
8
|
|
8
9
|
BOT_DIR = os.path.dirname(os.path.abspath(__file__))
|
@@ -21,4 +22,4 @@ def load_josn():
|
|
21
22
|
LOCAL_HOST:dict = {}
|
22
23
|
return LOCAL_HOST
|
23
24
|
|
24
|
-
ALL_HOST:dict = load_josn()
|
25
|
+
ALL_HOST:Dict[str, List[dict]] = load_josn()
|
@@ -52,7 +52,7 @@ async def qq_ip_queries(msg:List[tuple]):
|
|
52
52
|
return messsage
|
53
53
|
|
54
54
|
|
55
|
-
async def qq_ip_querie(msg: list):
|
55
|
+
async def qq_ip_querie(msg: list,igr:bool):
|
56
56
|
msg_list = []
|
57
57
|
tasks = [] # 用来保存异步任务
|
58
58
|
if msg != []:
|
@@ -64,7 +64,7 @@ async def qq_ip_querie(msg: list):
|
|
64
64
|
number, qqgroup, host, port = i
|
65
65
|
finally:
|
66
66
|
# 将异步任务添加到任务列表中
|
67
|
-
tasks.append(asyncio.create_task(process_message(number, host, port, msg_list,qqgroup)))
|
67
|
+
tasks.append(asyncio.create_task(process_message(number, host, port, msg_list,qqgroup,igr)))
|
68
68
|
# 等待所有异步任务完成
|
69
69
|
await asyncio.gather(*tasks)
|
70
70
|
# 对msg_list按照number顺序排序
|
@@ -76,8 +76,8 @@ async def qq_ip_querie(msg: list):
|
|
76
76
|
return result
|
77
77
|
|
78
78
|
|
79
|
-
async def qq_ip_queries_pic(msg: list):
|
80
|
-
result = await qq_ip_querie(msg)
|
79
|
+
async def qq_ip_queries_pic(msg: list,igr = False):
|
80
|
+
result = await qq_ip_querie(msg,igr)
|
81
81
|
if 'msg_list' in result:
|
82
82
|
pic = await server_ip_pic(result['msg_list'])
|
83
83
|
else:
|
@@ -87,7 +87,7 @@ async def qq_ip_queries_pic(msg: list):
|
|
87
87
|
|
88
88
|
|
89
89
|
|
90
|
-
async def process_message(number, host, port, msg_list:list,qqgroup = ''):
|
90
|
+
async def process_message(number, host, port, msg_list:list,igr:bool,qqgroup = ''):
|
91
91
|
try:
|
92
92
|
msg2 = await player_queries_anne_dict(host, port)
|
93
93
|
msg1 = await queries_dict(host, port)
|
@@ -96,10 +96,13 @@ async def process_message(number, host, port, msg_list:list,qqgroup = ''):
|
|
96
96
|
msg1.update({'tag':qqgroup})
|
97
97
|
msg_list.append(msg1)
|
98
98
|
except errors:
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
99
|
+
if igr:
|
100
|
+
pass
|
101
|
+
else:
|
102
|
+
# 空白字典
|
103
|
+
null_dict = {key: 'null' for key in ['name', 'map_', 'players', 'max_players', 'rank_players', 'ping']}
|
104
|
+
null_dict.update({'number':number,'ip':f'{host}:{port}','Players':[]})
|
105
|
+
msg_list.append(null_dict)
|
103
106
|
|
104
107
|
|
105
108
|
|
{nonebot_plugin_l4d2_server-0.4.6.dist-info → nonebot_plugin_l4d2_server-0.4.8.dist-info}/METADATA
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: nonebot-plugin-l4d2-server
|
3
|
-
Version: 0.4.
|
3
|
+
Version: 0.4.8
|
4
4
|
Summary: L4D2 server related operations plugin for NoneBot2
|
5
5
|
Home-page: https://github.com/Agnes4m/nonebot_plugin_l4d2_server
|
6
6
|
License: GPLv3
|
@@ -56,9 +56,9 @@ Description-Content-Type: text/markdown
|
|
56
56
|
# nonebot_plugin_l4d2_server
|
57
57
|
_✨Nonebot & Left 4 Dead 2 server操作✨_
|
58
58
|
<div align = "center">
|
59
|
-
<a href="https://github.
|
60
|
-
<a href="https://github.
|
61
|
-
<a href="https://github.
|
59
|
+
<a href="https://agnes4m.github.io/l4d2/" target="_blank">文档</a> ·
|
60
|
+
<a href="https://agnes4m.github.io/l4d2/reader/#%E5%8A%9F%E8%83%BD-%E6%8C%87%E4%BB%A4-%F0%9F%A4%94" target="_blank">指令列表</a> ·
|
61
|
+
<a href="https://agnes4m.github.io/l4d2/bug/">常见问题</a>
|
62
62
|
</div><br>
|
63
63
|
<a href="https://github.com/Agnes4m/nonebot_plugin_l4d2_server/stargazers">
|
64
64
|
<img alt="GitHub stars" src="https://img.shields.io/github/stars/Agnes4m/nonebot_plugin_l4d2_server" alt="stars">
|
@@ -75,7 +75,7 @@ _✨Nonebot & Left 4 Dead 2 server操作✨_
|
|
75
75
|
<a href="https://pypi.python.org/pypi/nonebot_plugin_l4d2_server">
|
76
76
|
<img src="https://img.shields.io/pypi/dm/nonebot_plugin_l4d2_server" alt="pypi download">
|
77
77
|
</a>
|
78
|
-
<img src="https://img.shields.io/badge/python-3.
|
78
|
+
<img src="https://img.shields.io/badge/python-3.9+-blue.svg" alt="python">
|
79
79
|
<img src="https://img.shields.io/badge/nonebot-2.0.0rc3-red.svg" alt="NoneBot">
|
80
80
|
</div>
|
81
81
|
|
@@ -89,13 +89,11 @@ _✨Nonebot & Left 4 Dead 2 server操作✨_
|
|
89
89
|
l4_port = ['20715'] # 服务器端口
|
90
90
|
l4_rcon = ['1145149191810'] # 服务器rcon密码,如果没有可以列空str对象元素
|
91
91
|
l4_font = 'simsun.ttc' # 服务器字体
|
92
|
+
l4_web = True # 网页控制台,默认是关闭
|
92
93
|
|
93
94
|
|
94
|
-
## 新文档(暂未完成)
|
95
95
|
|
96
|
-
|
97
|
-
|
98
|
-
<h2 id="gn">主要功能</h2>
|
96
|
+
## 主要功能
|
99
97
|
|
100
98
|
- 求生服务器-本地多路径操作(传地图)
|
101
99
|
- 批量查询指定ip服务器状态和玩家
|
@@ -103,7 +101,7 @@ _✨Nonebot & Left 4 Dead 2 server操作✨_
|
|
103
101
|
- [求生电信服anne](https://github.com/fantasylidong/CompetitiveWithAnne)[查询~](https://sb.trygek.com/l4d_stats/ranking/index.php)
|
104
102
|
|
105
103
|
|
106
|
-
|
104
|
+
## 如何获取key
|
107
105
|
|
108
106
|
为了使得ip不被滥用,我采取这种方式管理。
|
109
107
|
|
@@ -117,7 +115,7 @@ _✨Nonebot & Left 4 Dead 2 server操作✨_
|
|
117
115
|
|
118
116
|
|
119
117
|
|
120
|
-
##
|
118
|
+
## 提交自己的服务器?
|
121
119
|
|
122
120
|
**本项目原旨在方便自己查询管理服务器,如果你希望提供了ip**
|
123
121
|
|
@@ -132,11 +130,16 @@ _✨Nonebot & Left 4 Dead 2 server操作✨_
|
|
132
130
|
"id": 1,
|
133
131
|
"version": "战役",
|
134
132
|
"ip": "43.248.188.17:27031"
|
133
|
+
},
|
134
|
+
{
|
135
|
+
"id": 2,
|
136
|
+
"version": "战役",
|
137
|
+
"ip": "43.248.188.17:27032"
|
135
138
|
}
|
136
139
|
]
|
137
140
|
}
|
138
141
|
|
139
|
-
|
142
|
+
## 🌐 默认服务器
|
140
143
|
目前 **已授权** 的服务器查询,如果需要加入自己的ip可以进qq群私聊群主
|
141
144
|
|
142
145
|
| 指令 | 服务器 | op | 数量 |
|
@@ -159,6 +162,16 @@ _✨Nonebot & Left 4 Dead 2 server操作✨_
|
|
159
162
|
<details>
|
160
163
|
<summary>展开/收起</summary>
|
161
164
|
|
165
|
+
### 0.4.8--2022.4.16
|
166
|
+
|
167
|
+
- 新增重载ip
|
168
|
+
- 修复了一些windows启动下奇奇怪怪的bug
|
169
|
+
|
170
|
+
### 0.4.7--2022.4.13
|
171
|
+
|
172
|
+
- 新增模式查询
|
173
|
+
- 列表推导替换套娃循环
|
174
|
+
|
162
175
|
### 0.4.6--2022.4.9
|
163
176
|
|
164
177
|
- 显示无效服
|
@@ -369,8 +382,9 @@ _✨Nonebot & Left 4 Dead 2 server操作✨_
|
|
369
382
|
+ [GPL-3.0 License](https://github.com/Agnes4m/nonebot_plugin_l4d2_server/blob/main/LICENSE) ©[@Agnes4m](https://github.com/Agnes4m)
|
370
383
|
|
371
384
|
|
372
|
-
|
385
|
+
## 🌐 感谢
|
373
386
|
|
387
|
+
- [nonebot2](https://github.com/nonebot/nonebot2) - 聊天机器人的基础框架
|
374
388
|
- [修仙](https://github.com/s52047qwas/nonebot_plugin_xiuxian) - 数据库的写法来自于他
|
375
389
|
- [自己写的求生之路查询库](https://github.com/Agnes4m/VSQ)(已弃用)
|
376
390
|
- [@MeetWq](https://github.com/MeetWq) - 非常热心解答nonebot2相关的写法
|
{nonebot_plugin_l4d2_server-0.4.6.dist-info → nonebot_plugin_l4d2_server-0.4.8.dist-info}/RECORD
RENAMED
@@ -1,7 +1,7 @@
|
|
1
1
|
LICENSE,sha256=IwGE9guuL-ryRPEKi6wFPI_zOhg7zDZbTYuHbSt_SAk,35823
|
2
|
-
nonebot_plugin_l4d2_server/__init__.py,sha256=
|
3
|
-
nonebot_plugin_l4d2_server/command.py,sha256=
|
4
|
-
nonebot_plugin_l4d2_server/config.py,sha256=
|
2
|
+
nonebot_plugin_l4d2_server/__init__.py,sha256=8RbJmcQKddzf3leH9mP7ojBMvgk3Ze3mc2B6DyRrxg4,17164
|
3
|
+
nonebot_plugin_l4d2_server/command.py,sha256=ifm_Bir28r7IHmbnBP9R_R5RkJDC-7rfa5WjqojAiog,8619
|
4
|
+
nonebot_plugin_l4d2_server/config.py,sha256=izdgpdcoY_zg_rylcM6jGAzr1e2lK4FJ81s0ITshtz0,5046
|
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
|
@@ -15,7 +15,7 @@ nonebot_plugin_l4d2_server/data/L4D2/image/template/vue.css,sha256=2sGjCFrR-3tFM
|
|
15
15
|
nonebot_plugin_l4d2_server/l4d2_anne/__init__.py,sha256=8RaCcZgD4t5jlLZCdyXXEawAqVdsNXgos7a8ryumPKg,9067
|
16
16
|
nonebot_plugin_l4d2_server/l4d2_anne/analysis.py,sha256=efK36wNqpF9_tLjHBn6YovYRoGynnSLM-m3O_u02vwU,1661
|
17
17
|
nonebot_plugin_l4d2_server/l4d2_anne/anne_telecom.py,sha256=poAlUAgTvDryAtSa0CpQo5kawtJbddpWyt2JtIxzcgI,3085
|
18
|
-
nonebot_plugin_l4d2_server/l4d2_anne/server.py,sha256=
|
18
|
+
nonebot_plugin_l4d2_server/l4d2_anne/server.py,sha256=4QYHFazqh6gR0NuyzkIzXWMIVvgW6tZ5uNP_VufVels,1748
|
19
19
|
nonebot_plugin_l4d2_server/l4d2_anne/startand.py,sha256=3veOrk5BUDvLG_Iuj0k6OT7EB0f9IIk655dLlSFla3w,376
|
20
20
|
nonebot_plugin_l4d2_server/l4d2_data/__init__.py,sha256=1JDSuJ1mCF_zIZZfvD-O1JZCgQ2ju_EH0Y3k6oLr2j4,3332
|
21
21
|
nonebot_plugin_l4d2_server/l4d2_data/config.py,sha256=1s0VUTX6Mx4aAOCym0bexNl3E-SHIQfmuv6-5qP1ymQ,485
|
@@ -30,8 +30,8 @@ nonebot_plugin_l4d2_server/l4d2_image/steam.py,sha256=g7DY7d7aqdIHeJinpzAsedgGXF
|
|
30
30
|
nonebot_plugin_l4d2_server/l4d2_image/vtfs.py,sha256=2WuXE_4_5eVNExzYCTgZnKZrcE6CxqnDpjpKEA_FHCE,1427
|
31
31
|
nonebot_plugin_l4d2_server/l4d2_queries/__init__.py,sha256=jEFHi-GT1SDLrVP8pg4gxTYwArW5Pk3E2_c_rcRfTSw,3520
|
32
32
|
nonebot_plugin_l4d2_server/l4d2_queries/api.py,sha256=0FCvZ_2qvk_tHUq41zoTw6DCjtDVne9FgAYf9RaIbPY,1124
|
33
|
-
nonebot_plugin_l4d2_server/l4d2_queries/ohter.py,sha256=
|
34
|
-
nonebot_plugin_l4d2_server/l4d2_queries/qqgroup.py,sha256=
|
33
|
+
nonebot_plugin_l4d2_server/l4d2_queries/ohter.py,sha256=6xFG_R8BQoLFcB-AkXSMn93SgRAp_cqv7b90cJmGLDo,788
|
34
|
+
nonebot_plugin_l4d2_server/l4d2_queries/qqgroup.py,sha256=j3OQUiiVrPJA-iKKX6nDRO1J5wO5ijcdRW7V29F6-PE,10949
|
35
35
|
nonebot_plugin_l4d2_server/l4d2_server/__init__.py,sha256=mp3Za6jJ-V92ChXRhl3k4D1tMTY4dqHdXgMzdWutccc,1676
|
36
36
|
nonebot_plugin_l4d2_server/l4d2_server/rcon.py,sha256=aP2n-sq_vM-h6UjnNCmKK9_WW8oS9zFySgowPl5FXd4,1160
|
37
37
|
nonebot_plugin_l4d2_server/l4d2_server/workshop.py,sha256=ZpWnWJ7EABNpDu86Rzoqu3tWoABanprIEcmej1zUT1A,1409
|
@@ -42,8 +42,8 @@ nonebot_plugin_l4d2_server/message.py,sha256=x_ts0HaW3SNOma-baEG0oaeozKE5Nh_fybn
|
|
42
42
|
nonebot_plugin_l4d2_server/seach.py,sha256=dsusYogKH9pGeLxZz9BTheQwtJ3wAO3tfbePYdcaIuA,1025
|
43
43
|
nonebot_plugin_l4d2_server/txt_to_img.py,sha256=evJeuKWSHbg8EWnUdeqHoNbxE5yOORVWXJwMWO1PKTo,2166
|
44
44
|
nonebot_plugin_l4d2_server/utils.py,sha256=OywrH2CQHZo-OMkLxFZV70qN5_KpvZ-Ox3IlizVUENo,8297
|
45
|
-
README.md,sha256=
|
46
|
-
nonebot_plugin_l4d2_server-0.4.
|
47
|
-
nonebot_plugin_l4d2_server-0.4.
|
48
|
-
nonebot_plugin_l4d2_server-0.4.
|
49
|
-
nonebot_plugin_l4d2_server-0.4.
|
45
|
+
README.md,sha256=kgtvxyze7CvBpFJEP4o6BbzkOQnP3AGVO22Tj6dK788,11585
|
46
|
+
nonebot_plugin_l4d2_server-0.4.8.dist-info/LICENSE,sha256=IwGE9guuL-ryRPEKi6wFPI_zOhg7zDZbTYuHbSt_SAk,35823
|
47
|
+
nonebot_plugin_l4d2_server-0.4.8.dist-info/METADATA,sha256=u_4-SPNN71DRR_i4JSU3AjYfbypkYvR6i0Hlf4D8lJk,13236
|
48
|
+
nonebot_plugin_l4d2_server-0.4.8.dist-info/WHEEL,sha256=vVCvjcmxuUltf8cYhJ0sJMRDLr1XsPuxEId8YDzbyCY,88
|
49
|
+
nonebot_plugin_l4d2_server-0.4.8.dist-info/RECORD,,
|
{nonebot_plugin_l4d2_server-0.4.6.dist-info → nonebot_plugin_l4d2_server-0.4.8.dist-info}/LICENSE
RENAMED
File without changes
|
{nonebot_plugin_l4d2_server-0.4.6.dist-info → nonebot_plugin_l4d2_server-0.4.8.dist-info}/WHEEL
RENAMED
File without changes
|