nonebot-plugin-l4d2-server 0.6.6__py3-none-any.whl → 1.0.0a1__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 (186) hide show
  1. nonebot_plugin_l4d2_server/__init__.py +9 -92
  2. nonebot_plugin_l4d2_server/__main__.py +90 -0
  3. nonebot_plugin_l4d2_server/config.py +30 -0
  4. nonebot_plugin_l4d2_server/data/L4D2/image/head/head.png +0 -0
  5. nonebot_plugin_l4d2_server/data/L4D2/image/header/logo.png +0 -0
  6. nonebot_plugin_l4d2_server/data/L4D2/image/header/player1.jpg +0 -0
  7. nonebot_plugin_l4d2_server/data/L4D2/image/template/anne.html +50 -42
  8. nonebot_plugin_l4d2_server/data/L4D2/image/template/back.png +0 -0
  9. nonebot_plugin_l4d2_server/data/L4D2/image/template/group_ip.html +1 -2
  10. nonebot_plugin_l4d2_server/data/L4D2/image/template/help.html +1 -2
  11. nonebot_plugin_l4d2_server/data/L4D2/image/template/help_dack.html +259 -221
  12. nonebot_plugin_l4d2_server/data/L4D2/image/template/ip.html +1 -2
  13. nonebot_plugin_l4d2_server/data/font/loli.ttf +0 -0
  14. nonebot_plugin_l4d2_server/data/icon//344/273/213/347/273/215.png +0 -0
  15. nonebot_plugin_l4d2_server/data/icon//344/273/273/345/212/241.png +0 -0
  16. nonebot_plugin_l4d2_server/data/icon//344/277/241/346/201/257.png +0 -0
  17. nonebot_plugin_l4d2_server/data/icon//345/205/254/345/221/212.png +0 -0
  18. nonebot_plugin_l4d2_server/data/icon//345/210/200/345/211/221.png +0 -0
  19. nonebot_plugin_l4d2_server/data/icon//345/210/207/346/215/242.png +0 -0
  20. nonebot_plugin_l4d2_server/data/icon//345/210/240/351/231/244.png +0 -0
  21. nonebot_plugin_l4d2_server/data/icon//345/210/267/346/226/260.png +0 -0
  22. nonebot_plugin_l4d2_server/data/icon//345/215/241/347/273/204.png +0 -0
  23. nonebot_plugin_l4d2_server/data/icon//345/223/252/351/207/214.png +0 -0
  24. nonebot_plugin_l4d2_server/data/icon//345/234/260/345/233/276.png +0 -0
  25. nonebot_plugin_l4d2_server/data/icon//345/257/274/345/205/245.png +0 -0
  26. nonebot_plugin_l4d2_server/data/icon//345/257/274/345/207/272.png +0 -0
  27. nonebot_plugin_l4d2_server/data/icon//345/275/261.png +0 -0
  28. nonebot_plugin_l4d2_server/data/icon//346/213/274/345/233/276.png +0 -0
  29. nonebot_plugin_l4d2_server/data/icon//346/216/242/347/264/242.png +0 -0
  30. nonebot_plugin_l4d2_server/data/icon//346/216/250/351/200/201.png +0 -0
  31. nonebot_plugin_l4d2_server/data/icon//346/224/266/351/233/206.png +0 -0
  32. nonebot_plugin_l4d2_server/data/icon//346/224/273/347/225/245.png +0 -0
  33. nonebot_plugin_l4d2_server/data/icon//346/233/264/346/226/260.png +0 -0
  34. nonebot_plugin_l4d2_server/data/icon//346/235/220/346/226/231.png +0 -0
  35. nonebot_plugin_l4d2_server/data/icon//346/237/245/350/257/242.png +0 -0
  36. nonebot_plugin_l4d2_server/data/icon//346/240/241/351/252/214.png +0 -0
  37. nonebot_plugin_l4d2_server/data/icon//346/257/217/346/234/210.png +0 -0
  38. nonebot_plugin_l4d2_server/data/icon//346/267/261/346/270/212.png +0 -0
  39. nonebot_plugin_l4d2_server/data/icon//346/267/273/345/212/240.png +0 -0
  40. nonebot_plugin_l4d2_server/data/icon//346/270/205/351/231/244.png +0 -0
  41. nonebot_plugin_l4d2_server/data/icon//347/212/266/346/200/201.png +0 -0
  42. nonebot_plugin_l4d2_server/data/icon//347/255/276/345/210/260.png +0 -0
  43. nonebot_plugin_l4d2_server/data/icon//347/273/221/345/256/232.png +0 -0
  44. nonebot_plugin_l4d2_server/data/icon//350/241/250.png +0 -0
  45. nonebot_plugin_l4d2_server/data/icon//350/241/250/346/203/205.png +0 -0
  46. nonebot_plugin_l4d2_server/data/icon//350/247/222/350/211/262.png +0 -0
  47. nonebot_plugin_l4d2_server/data/icon//350/256/260/345/275/225.png +0 -0
  48. nonebot_plugin_l4d2_server/data/icon//351/205/215/347/275/256.png +0 -0
  49. nonebot_plugin_l4d2_server/data/icon//351/207/215/345/220/257.png +0 -0
  50. nonebot_plugin_l4d2_server/data/img/l4d2.png +0 -0
  51. nonebot_plugin_l4d2_server/data/img/linux.png +0 -0
  52. nonebot_plugin_l4d2_server/data/img/vac.png +0 -0
  53. nonebot_plugin_l4d2_server/data/img/white.png +0 -0
  54. nonebot_plugin_l4d2_server/l4_help/Help.json +65 -0
  55. nonebot_plugin_l4d2_server/l4_help/__init__.py +57 -0
  56. nonebot_plugin_l4d2_server/l4_help/draw.py +206 -0
  57. nonebot_plugin_l4d2_server/l4_help/icon//344/273/213/347/273/215.png +0 -0
  58. nonebot_plugin_l4d2_server/l4_help/icon//344/273/273/345/212/241.png +0 -0
  59. nonebot_plugin_l4d2_server/l4_help/icon//344/277/241/346/201/257.png +0 -0
  60. nonebot_plugin_l4d2_server/l4_help/icon//345/205/254/345/221/212.png +0 -0
  61. nonebot_plugin_l4d2_server/l4_help/icon//345/210/200/345/211/221.png +0 -0
  62. nonebot_plugin_l4d2_server/l4_help/icon//345/210/207/346/215/242.png +0 -0
  63. nonebot_plugin_l4d2_server/l4_help/icon//345/210/240/351/231/244.png +0 -0
  64. nonebot_plugin_l4d2_server/l4_help/icon//345/210/267/346/226/260.png +0 -0
  65. nonebot_plugin_l4d2_server/l4_help/icon//345/215/241/347/273/204.png +0 -0
  66. nonebot_plugin_l4d2_server/l4_help/icon//345/223/252/351/207/214.png +0 -0
  67. nonebot_plugin_l4d2_server/l4_help/icon//345/234/260/345/233/276.png +0 -0
  68. nonebot_plugin_l4d2_server/l4_help/icon//345/257/274/345/205/245.png +0 -0
  69. nonebot_plugin_l4d2_server/l4_help/icon//345/257/274/345/207/272.png +0 -0
  70. nonebot_plugin_l4d2_server/l4_help/icon//345/275/261.png +0 -0
  71. nonebot_plugin_l4d2_server/l4_help/icon//346/213/274/345/233/276.png +0 -0
  72. nonebot_plugin_l4d2_server/l4_help/icon//346/216/242/347/264/242.png +0 -0
  73. nonebot_plugin_l4d2_server/l4_help/icon//346/216/250/351/200/201.png +0 -0
  74. nonebot_plugin_l4d2_server/l4_help/icon//346/224/266/351/233/206.png +0 -0
  75. nonebot_plugin_l4d2_server/l4_help/icon//346/224/273/347/225/245.png +0 -0
  76. nonebot_plugin_l4d2_server/l4_help/icon//346/233/264/346/226/260.png +0 -0
  77. nonebot_plugin_l4d2_server/l4_help/icon//346/235/220/346/226/231.png +0 -0
  78. nonebot_plugin_l4d2_server/l4_help/icon//346/237/245/350/257/242.png +0 -0
  79. nonebot_plugin_l4d2_server/l4_help/icon//346/240/241/351/252/214.png +0 -0
  80. nonebot_plugin_l4d2_server/l4_help/icon//346/257/217/346/234/210.png +0 -0
  81. nonebot_plugin_l4d2_server/l4_help/icon//346/267/261/346/270/212.png +0 -0
  82. nonebot_plugin_l4d2_server/l4_help/icon//346/267/273/345/212/240.png +0 -0
  83. nonebot_plugin_l4d2_server/l4_help/icon//346/270/205/351/231/244.png +0 -0
  84. nonebot_plugin_l4d2_server/l4_help/icon//347/212/266/346/200/201.png +0 -0
  85. nonebot_plugin_l4d2_server/l4_help/icon//347/255/276/345/210/260.png +0 -0
  86. nonebot_plugin_l4d2_server/l4_help/icon//347/273/221/345/256/232.png +0 -0
  87. nonebot_plugin_l4d2_server/l4_help/icon//350/241/250.png +0 -0
  88. nonebot_plugin_l4d2_server/l4_help/icon//350/241/250/346/203/205.png +0 -0
  89. nonebot_plugin_l4d2_server/l4_help/icon//350/247/222/350/211/262.png +0 -0
  90. nonebot_plugin_l4d2_server/l4_help/icon//350/256/260/345/275/225.png +0 -0
  91. nonebot_plugin_l4d2_server/l4_help/icon//351/205/215/347/275/256.png +0 -0
  92. nonebot_plugin_l4d2_server/l4_help/icon//351/207/215/345/220/257.png +0 -0
  93. nonebot_plugin_l4d2_server/l4_help/texture2d/badge.png +0 -0
  94. nonebot_plugin_l4d2_server/l4_help/texture2d/banner.png +0 -0
  95. nonebot_plugin_l4d2_server/l4_help/texture2d/bg.jpg +0 -0
  96. nonebot_plugin_l4d2_server/l4_help/texture2d/button.png +0 -0
  97. nonebot_plugin_l4d2_server/l4_help/texture2d/icon.png +0 -0
  98. nonebot_plugin_l4d2_server/l4_image/__init__.py +16 -0
  99. nonebot_plugin_l4d2_server/l4_image/convert.py +175 -0
  100. nonebot_plugin_l4d2_server/{l4d2_image → l4_image}/download.py +6 -30
  101. nonebot_plugin_l4d2_server/{l4d2_image/__init__.py → l4_image/html_img.py} +54 -45
  102. nonebot_plugin_l4d2_server/l4_image/image_tools.py +468 -0
  103. nonebot_plugin_l4d2_server/l4_image/img/anne/anne.html +60 -0
  104. nonebot_plugin_l4d2_server/l4_image/img/anne/back.png +0 -0
  105. nonebot_plugin_l4d2_server/l4_image/img/anne/group_ip.html +259 -0
  106. nonebot_plugin_l4d2_server/l4_image/img/anne/ip.html +55 -0
  107. nonebot_plugin_l4d2_server/l4_image/img/head/head.png +0 -0
  108. nonebot_plugin_l4d2_server/l4_image/img/header/logo.png +0 -0
  109. nonebot_plugin_l4d2_server/l4_image/img/header/player1.jpg +0 -0
  110. nonebot_plugin_l4d2_server/l4_image/img/template/Bocchi_The_Rock.html +312 -0
  111. nonebot_plugin_l4d2_server/l4_image/img/template/Bocchi_The_Rock.png +0 -0
  112. nonebot_plugin_l4d2_server/l4_image/img/template/HYPixel11pxU-2.ttf +0 -0
  113. nonebot_plugin_l4d2_server/l4_image/img/template/Pixel.html +350 -0
  114. nonebot_plugin_l4d2_server/l4_image/img/template/Pixel.png +0 -0
  115. nonebot_plugin_l4d2_server/l4_image/img/template/Rainbow.html +321 -0
  116. nonebot_plugin_l4d2_server/l4_image/img/template/Rainbow.png +0 -0
  117. nonebot_plugin_l4d2_server/l4_image/img/template/Tutumianhuatang-Bold-2.ttf +0 -0
  118. nonebot_plugin_l4d2_server/l4_image/img/template/bilibili.svg +1 -0
  119. nonebot_plugin_l4d2_server/l4_image/img/template/fingerprint.svg +15 -0
  120. nonebot_plugin_l4d2_server/l4_image/img/template/github.svg +1 -0
  121. nonebot_plugin_l4d2_server/l4_image/img/template/l.svg +9 -0
  122. nonebot_plugin_l4d2_server/l4_image/img/template/m.svg +1 -0
  123. nonebot_plugin_l4d2_server/l4_image/img/template/normal.html +257 -0
  124. nonebot_plugin_l4d2_server/l4_image/img/template/vue.css +531 -0
  125. nonebot_plugin_l4d2_server/l4_image/img/template/w.svg +1 -0
  126. nonebot_plugin_l4d2_server/l4_image/img/template//345/276/256/350/275/257/351/233/205/351/273/221.ttf +0 -0
  127. nonebot_plugin_l4d2_server/l4_image/model.py +15 -0
  128. nonebot_plugin_l4d2_server/{l4d2_image → l4_image}/vtfs.py +2 -0
  129. nonebot_plugin_l4d2_server/l4_request/__init__.py +84 -0
  130. nonebot_plugin_l4d2_server/l4_request/draw_msg.py +88 -0
  131. nonebot_plugin_l4d2_server/utils/api/api.py +4 -0
  132. nonebot_plugin_l4d2_server/utils/api/models.py +29 -0
  133. nonebot_plugin_l4d2_server/utils/api/request.py +119 -0
  134. nonebot_plugin_l4d2_server/utils/database/models.py +29 -0
  135. nonebot_plugin_l4d2_server/{l4d2_utils → utils}/utils.py +52 -55
  136. {nonebot_plugin_l4d2_server-0.6.6.dist-info → nonebot_plugin_l4d2_server-1.0.0a1.dist-info}/METADATA +47 -64
  137. nonebot_plugin_l4d2_server-1.0.0a1.dist-info/RECORD +144 -0
  138. {nonebot_plugin_l4d2_server-0.6.6.dist-info → nonebot_plugin_l4d2_server-1.0.0a1.dist-info}/WHEEL +1 -1
  139. nonebot_plugin_l4d2_server/l4d2_anne/__init__.py +0 -95
  140. nonebot_plugin_l4d2_server/l4d2_anne/analysis.py +0 -54
  141. nonebot_plugin_l4d2_server/l4d2_anne/anne_telecom.py +0 -79
  142. nonebot_plugin_l4d2_server/l4d2_anne/server.py +0 -47
  143. nonebot_plugin_l4d2_server/l4d2_anne/startand.py +0 -17
  144. nonebot_plugin_l4d2_server/l4d2_anne/utils.py +0 -294
  145. nonebot_plugin_l4d2_server/l4d2_data/__init__.py +0 -105
  146. nonebot_plugin_l4d2_server/l4d2_data/config.py +0 -18
  147. nonebot_plugin_l4d2_server/l4d2_data/database.py +0 -0
  148. nonebot_plugin_l4d2_server/l4d2_data/players.py +0 -100
  149. nonebot_plugin_l4d2_server/l4d2_data/serverip.py +0 -40
  150. nonebot_plugin_l4d2_server/l4d2_file/__init__.py +0 -222
  151. nonebot_plugin_l4d2_server/l4d2_file/ayromote.py +0 -64
  152. nonebot_plugin_l4d2_server/l4d2_file/input_json.py +0 -77
  153. nonebot_plugin_l4d2_server/l4d2_file/remote.py +0 -86
  154. nonebot_plugin_l4d2_server/l4d2_file/utils.py +0 -104
  155. nonebot_plugin_l4d2_server/l4d2_image/htmlimg.py +0 -18
  156. nonebot_plugin_l4d2_server/l4d2_image/images.py +0 -92
  157. nonebot_plugin_l4d2_server/l4d2_image/one.py +0 -44
  158. nonebot_plugin_l4d2_server/l4d2_image/send_image_tool.py +0 -32
  159. nonebot_plugin_l4d2_server/l4d2_image/steam.py +0 -63
  160. nonebot_plugin_l4d2_server/l4d2_push/__init__.py +0 -225
  161. nonebot_plugin_l4d2_server/l4d2_queries/__init__.py +0 -326
  162. nonebot_plugin_l4d2_server/l4d2_queries/himi.py +0 -113
  163. nonebot_plugin_l4d2_server/l4d2_queries/local_ip.py +0 -41
  164. nonebot_plugin_l4d2_server/l4d2_queries/qqgroup.py +0 -370
  165. nonebot_plugin_l4d2_server/l4d2_queries/send_msg.py +0 -131
  166. nonebot_plugin_l4d2_server/l4d2_queries/utils.py +0 -212
  167. nonebot_plugin_l4d2_server/l4d2_server/__init__.py +0 -118
  168. nonebot_plugin_l4d2_server/l4d2_server/index.py +0 -0
  169. nonebot_plugin_l4d2_server/l4d2_server/rcon.py +0 -53
  170. nonebot_plugin_l4d2_server/l4d2_server/workshop.py +0 -82
  171. nonebot_plugin_l4d2_server/l4d2_update/__init__.py +0 -137
  172. nonebot_plugin_l4d2_server/l4d2_update/draw_update_log.py +0 -45
  173. nonebot_plugin_l4d2_server/l4d2_update/restart.py +0 -69
  174. nonebot_plugin_l4d2_server/l4d2_update/update.py +0 -53
  175. nonebot_plugin_l4d2_server/l4d2_utils/classcal.py +0 -53
  176. nonebot_plugin_l4d2_server/l4d2_utils/command.py +0 -23
  177. nonebot_plugin_l4d2_server/l4d2_utils/config.py +0 -201
  178. nonebot_plugin_l4d2_server/l4d2_utils/message.py +0 -59
  179. nonebot_plugin_l4d2_server/l4d2_utils/rule.py +0 -35
  180. nonebot_plugin_l4d2_server/l4d2_utils/seach.py +0 -43
  181. nonebot_plugin_l4d2_server/l4d2_utils/txt_to_img.py +0 -32
  182. nonebot_plugin_l4d2_server/l4d2_web/web.py +0 -277
  183. nonebot_plugin_l4d2_server/l4d2_web/webUI.py +0 -506
  184. nonebot_plugin_l4d2_server/l4d2_web/webUI_s.py +0 -94
  185. nonebot_plugin_l4d2_server-0.6.6.dist-info/RECORD +0 -70
  186. {nonebot_plugin_l4d2_server-0.6.6.dist-info → nonebot_plugin_l4d2_server-1.0.0a1.dist-info}/licenses/LICENSE +0 -0
@@ -1,231 +1,269 @@
1
1
  <html>
2
- <head>
3
- <style>
4
- body {
5
- margin: 0px;
6
- zoom: 150%;
7
- background-color: #0D1117;
8
- }
9
- .image {
10
- display: flex;
11
- flex-direction: column;
12
- overflow: scroll;
13
- width: max-content;
14
- padding: 20px;
15
- }
16
- .head {
17
- display: flex;
18
- flex-direction: row;
19
- align-items: center;
20
- justify-content: space-between;
21
- background-color: #161B22;
22
- padding-left: 20px;
23
- padding-right: 20px;
24
- padding-top: 10px;
25
- padding-bottom: 10px;
26
- border: 2px solid;
27
- border-radius: 50px;
28
- border-color: #1a1a1a;
29
- font-size: 16px;
30
- margin-bottom: 20px;
31
- }
32
-
33
- .plugins {
34
- display: grid;
35
- grid-template-columns: auto auto auto;
36
- row-gap: 20px;
37
- column-gap: 20px;
38
- margin-bottom: 20px;
39
- }
40
- .plugin {
41
- display: flex;
42
- padding: 5px;
43
- border: 1px solid;
44
- border-radius: 5px;
45
- border-color: #161B22;
46
- box-shadow: 0px 2px 6px 1px rgba(0, 0, 0, 0.2);
47
- background-color: #1a1a1a;
48
- }
49
- .plugin_meta {
50
- display: flex;
51
- flex-direction: column;
52
- padding: 5px;
53
- width: 250px;
54
- justify-content: space-between;
55
- }
56
- .plugin_name {
57
- font-size: 20px;
58
- }
59
- .plugin_description {
60
- font-size: 15px;
61
- color: gray;
62
- margin-top: 5px;
63
- margin-bottom: 5px;
64
- }
65
- .plugin_meta_line1 {
66
- display: flex;
67
- flex-direction: row;
68
- align-items: center;
69
- justify-content: space-between;
70
- }
71
- .plugin_meta_line3 {
72
- display: flex;
73
- flex-direction: row;
74
- align-items: center;
75
- }
76
- .package_name_label {
77
- background-image: url(./fingerprint.svg);
78
- width: 13px;
79
- height: 13px;
80
- margin-right: 8px;
81
- }
82
- .package_name {
83
- font-size: 13px;
84
- color: gray;
85
- }
86
- .switch {
87
- position: relative;
88
- display: inline-block;
89
- width: 40px;
90
- height: 24px;
91
- }
92
- .slider {
93
- position: absolute;
94
- cursor: pointer;
95
- top: 0;
96
- left: 0;
97
- right: 0;
98
- bottom: 0;
99
- background-color: #ccc;
100
- }
101
- .slider:before {
102
- position: absolute;
103
- content: "";
104
- height: 16px;
105
- width: 16px;
106
- left: 4px;
107
- bottom: 4px;
108
- background-color: white;
109
- }
110
- .switch input {
111
- display: none;
112
- }
113
- .switch input:checked + .slider {
114
- background-color: rgba(46, 160, 67);
115
- }
116
- .switch input:checked + .slider:before {
117
- -webkit-transform: translateX(16px);
118
- -ms-transform: translateX(16px);
119
- transform: translateX(16px);
120
- }
121
- .slider.round {
122
- border-radius: 24px;
123
- }
124
- .slider.round:before {
125
- border-radius: 50%;
126
- }
127
- .checkbox {
128
- visibility: hidden;
129
- }
130
- .slider.locked {
131
- opacity: 0.5;
132
- }
133
- .switch input + span .lock {
134
- width: 8px;
135
- height: 7px;
136
- background: #99a3ba;
137
- position: absolute;
138
- left: 8px;
139
- bottom: 7px;
140
- border-radius: 2px;
141
- display: block;
142
- z-index: 1;
143
- transition: all 0.45s ease;
144
- }
145
- .switch input + span .lock:before {
146
- content: "";
147
- width: 2px;
148
- height: 2px;
149
- border-radius: 1px;
150
- background: #fff;
151
- position: absolute;
152
- display: block;
153
- left: 50%;
154
- top: 50%;
155
- margin: -1px 0 0 -1px;
156
- }
157
- .switch input + span .lock:after {
158
- content: "";
159
- border-top-left-radius: 4px;
160
- border-top-right-radius: 4px;
161
- border: 1px solid #99a3ba;
162
- border-bottom: 0;
163
- width: 4px;
164
- height: 4px;
165
- left: 1px;
166
- bottom: 6px;
167
- position: absolute;
168
- z-index: 1;
169
- -webkit-transform-origin: 0 100%;
170
- transform-origin: 0 100%;
171
- transition: all 0.45s ease;
172
- }
173
- .switch input:checked + span .lock {
174
- background: #5628ee;
175
- -webkit-transform: translateX(16px);
176
- -ms-transform: translateX(16px);
177
- transform: translateX(16px);
178
- }
179
- .lock {
180
- visibility: hidden;
181
- }
182
- .lock.locked {
183
- visibility: inherit;
184
- }
185
- </style>
186
- </head>
187
- <body>
188
- <div class="image">
189
- <div class="head">
190
- <span><b><font color="Silver">已加载服务器</font></b></span>
191
- <span><font color="Silver">发送“<b>服务器昵称/序号</b>”查看详情</font></span>
192
- </div>
193
- <div class="plugins">
194
- {% for plugin in plugins %}
195
- <div class="plugin">
196
- <div class="plugin_meta">
197
- <div class="plugin_meta_line1">
198
- <div class="plugin_name"><font color="DeepSkyBlue">{{ plugin.number }}:{{ plugin.name }}</font></div>
199
- <div class="plugin_status">
200
- <label class="switch">
201
- <input class="checkbox" type="checkbox" {% if plugin.enabled %} checked {% endif %} />
202
- <span class="slider round {% if plugin.locked %} locked {% endif %}">
203
- <span class="lock {% if plugin.locked %} locked {% endif %}"></span>
204
- </span>
205
- </label>
206
- </div>
2
+
3
+ <head>
4
+ <style>
5
+ body {
6
+ margin: 0px;
7
+ zoom: 150%;
8
+ background-color: #0D1117;
9
+ }
10
+
11
+ .image {
12
+ display: flex;
13
+ flex-direction: column;
14
+ overflow: scroll;
15
+ width: max-content;
16
+ padding: 20px;
17
+ }
18
+
19
+ .head {
20
+ display: flex;
21
+ flex-direction: row;
22
+ align-items: center;
23
+ justify-content: space-between;
24
+ background-color: #161B22;
25
+ padding-left: 20px;
26
+ padding-right: 20px;
27
+ padding-top: 10px;
28
+ padding-bottom: 10px;
29
+ border: 2px solid;
30
+ border-radius: 50px;
31
+ border-color: #1a1a1a;
32
+ font-size: 16px;
33
+ margin-bottom: 20px;
34
+ }
35
+
36
+ .plugins {
37
+ display: grid;
38
+ grid-template-columns: auto auto auto;
39
+ row-gap: 20px;
40
+ column-gap: 20px;
41
+ margin-bottom: 20px;
42
+ }
43
+
44
+ .plugin {
45
+ display: flex;
46
+ padding: 5px;
47
+ border: 1px solid;
48
+ border-radius: 5px;
49
+ border-color: #161B22;
50
+ box-shadow: 0px 2px 6px 1px rgba(0, 0, 0, 0.2);
51
+ background-color: #1a1a1a;
52
+ }
53
+
54
+ .plugin_meta {
55
+ display: flex;
56
+ flex-direction: column;
57
+ padding: 5px;
58
+ width: 250px;
59
+ justify-content: space-between;
60
+ }
61
+
62
+ .plugin_name {
63
+ font-size: 20px;
64
+ }
65
+
66
+ .plugin_description {
67
+ font-size: 15px;
68
+ color: gray;
69
+ margin-top: 5px;
70
+ margin-bottom: 5px;
71
+ }
72
+
73
+ .plugin_meta_line1 {
74
+ display: flex;
75
+ flex-direction: row;
76
+ align-items: center;
77
+ justify-content: space-between;
78
+ }
79
+
80
+ .plugin_meta_line3 {
81
+ display: flex;
82
+ flex-direction: row;
83
+ align-items: center;
84
+ }
85
+
86
+ .package_name_label {
87
+ background-image: url(./fingerprint.svg);
88
+ width: 13px;
89
+ height: 13px;
90
+ margin-right: 8px;
91
+ }
92
+
93
+ .package_name {
94
+ font-size: 13px;
95
+ color: gray;
96
+ }
97
+
98
+ .switch {
99
+ position: relative;
100
+ display: inline-block;
101
+ width: 40px;
102
+ height: 24px;
103
+ }
104
+
105
+ .slider {
106
+ position: absolute;
107
+ cursor: pointer;
108
+ top: 0;
109
+ left: 0;
110
+ right: 0;
111
+ bottom: 0;
112
+ background-color: #ccc;
113
+ }
114
+
115
+ .slider:before {
116
+ position: absolute;
117
+ content: "";
118
+ height: 16px;
119
+ width: 16px;
120
+ left: 4px;
121
+ bottom: 4px;
122
+ background-color: white;
123
+ }
124
+
125
+ .switch input {
126
+ display: none;
127
+ }
128
+
129
+ .switch input:checked+.slider {
130
+ background-color: rgba(46, 160, 67);
131
+ }
132
+
133
+ .switch input:checked+.slider:before {
134
+ -webkit-transform: translateX(16px);
135
+ -ms-transform: translateX(16px);
136
+ transform: translateX(16px);
137
+ }
138
+
139
+ .slider.round {
140
+ border-radius: 24px;
141
+ }
142
+
143
+ .slider.round:before {
144
+ border-radius: 50%;
145
+ }
146
+
147
+ .checkbox {
148
+ visibility: hidden;
149
+ }
150
+
151
+ .slider.locked {
152
+ opacity: 0.5;
153
+ }
154
+
155
+ .switch input+span .lock {
156
+ width: 8px;
157
+ height: 7px;
158
+ background: #99a3ba;
159
+ position: absolute;
160
+ left: 8px;
161
+ bottom: 7px;
162
+ border-radius: 2px;
163
+ display: block;
164
+ z-index: 1;
165
+ transition: all 0.45s ease;
166
+ }
167
+
168
+ .switch input+span .lock:before {
169
+ content: "";
170
+ width: 2px;
171
+ height: 2px;
172
+ border-radius: 1px;
173
+ background: #fff;
174
+ position: absolute;
175
+ display: block;
176
+ left: 50%;
177
+ top: 50%;
178
+ margin: -1px 0 0 -1px;
179
+ }
180
+
181
+ .switch input+span .lock:after {
182
+ content: "";
183
+ border-top-left-radius: 4px;
184
+ border-top-right-radius: 4px;
185
+ border: 1px solid #99a3ba;
186
+ border-bottom: 0;
187
+ width: 4px;
188
+ height: 4px;
189
+ left: 1px;
190
+ bottom: 6px;
191
+ position: absolute;
192
+ z-index: 1;
193
+ -webkit-transform-origin: 0 100%;
194
+ transform-origin: 0 100%;
195
+ transition: all 0.45s ease;
196
+ }
197
+
198
+ .switch input:checked+span .lock {
199
+ background: #5628ee;
200
+ -webkit-transform: translateX(16px);
201
+ -ms-transform: translateX(16px);
202
+ transform: translateX(16px);
203
+ }
204
+
205
+ .lock {
206
+ visibility: hidden;
207
+ }
208
+
209
+ .lock.locked {
210
+ visibility: inherit;
211
+ }
212
+ </style>
213
+ </head>
214
+
215
+ <body>
216
+ <div class="image">
217
+ <div class="head">
218
+ <span><b>
219
+ <font color="Silver">已加载服务器</font>
220
+ </b></span>
221
+ <span>
222
+ <font color="Silver">发送“<b>服务器昵称/序号</b>”查看详情</font>
223
+ </span>
224
+ </div>
225
+ <div class="plugins">
226
+ {% for plugin in plugins %}
227
+ <div class="plugin">
228
+ <div class="plugin_meta">
229
+ <div class="plugin_meta_line1">
230
+ <div class="plugin_name">
231
+ <font color="DeepSkyBlue">{{ plugin.number }}:{{ plugin.name }}</font>
207
232
  </div>
208
- <div class="plugin_meta_line2">
209
- <font color="LightSkyBlue">{{ plugin.map_ }}</font><br>
210
- {% for Player in plugin.Players %}
211
- <font color="LightGray">{{ Player }}</font><br>
212
- {% endfor %}
233
+ <div class="plugin_status">
234
+ <label class="switch">
235
+ <input class="checkbox" type="checkbox" {% if plugin.enabled %} checked {% endif %} />
236
+ <span class="slider round {% if plugin.locked %} locked {% endif %}">
237
+ <span class="lock {% if plugin.locked %} locked {% endif %}"></span>
238
+ </span>
239
+ </label>
213
240
  </div>
214
- <div class="plugin_meta_line3">
215
- <div class="package_name_label"></div>
216
- <div class="package_name"><font color="LightGray">{{ plugin.max_players }}</font></div>
241
+ </div>
242
+ <div class="plugin_meta_line2">
243
+ <font color="LightSkyBlue">{{ plugin.map_ }}</font><br>
244
+ {% for Player in plugin.Players %}
245
+ <font color="LightGray">{{ Player }}</font><br>
246
+ {% endfor %}
247
+ </div>
248
+ <div class="plugin_meta_line3">
249
+ <div class="package_name_label"></div>
250
+ <div class="package_name">
251
+ <font color="LightGray">{{ plugin.max_players }}</font>
217
252
  </div>
218
253
  </div>
219
254
  </div>
220
- {% endfor %}
221
- </div>
222
- <div class="head">
223
- <span><b><font color="Silver">©爱丽数码</font></b></span>
224
- <span><font color="Silver">github*Agnes4m</font></span>
225
255
  </div>
256
+ {% endfor %}
257
+ </div>
258
+ <div class="head">
259
+ <span><b>
260
+ <font color="Silver">Power by Nonebot2 & Design by Agnes Digital</font>
261
+ </b></span>
226
262
  </div>
227
- </body>
263
+ </div>
264
+ </body>
265
+
228
266
  </html>
229
-
230
267
 
231
- /*暗黑风格-ArcPav*/
268
+
269
+ /*暗黑风格-ArcPav*/
@@ -45,9 +45,8 @@
45
45
  {% endfor %}
46
46
  </table>
47
47
  <h5>
48
- <center>©爱丽数码</center></br>
49
48
  <center>
50
- github.com/Agnes4m/nonebot_plugin_l4d2_server
49
+ Power by Nonebot2 & Design by Agnes Digital
51
50
  </center>
52
51
  </h5>
53
52
  </div>