@sjtdev/koishi-plugin-dota2tracker 1.1.2-beta.4 → 1.1.2-beta.6
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.
- package/lib/index.js +6 -8
- package/package.json +1 -1
- package/template/guild_member/guild_member.ejs +55 -19
package/lib/index.js
CHANGED
|
@@ -1170,7 +1170,6 @@ async function apply(ctx, config) {
|
|
|
1170
1170
|
if (subscribedPlayers.length <= 20) {
|
|
1171
1171
|
try {
|
|
1172
1172
|
const memberList = await session.bot.getGuildMemberList(session.event.guild.id);
|
|
1173
|
-
ctx.logger.info(JSON.stringify(memberList.data));
|
|
1174
1173
|
let queryRes = await query(PLAYERS_INFO_WITH_10_MATCHES_FOR_GUILD(subscribedPlayers.map((player) => player.steamId)));
|
|
1175
1174
|
if (queryRes.status == 200) {
|
|
1176
1175
|
const users = subscribedPlayers.map((subscribedPlayer) => {
|
|
@@ -1178,12 +1177,11 @@ async function apply(ctx, config) {
|
|
|
1178
1177
|
const queryMember = memberList.data.find((member) => member.user?.id == subscribedPlayer.userId);
|
|
1179
1178
|
return { ...subscribedPlayer, ...queryPlayer, ...queryMember };
|
|
1180
1179
|
});
|
|
1181
|
-
console.log(users);
|
|
1182
1180
|
session.send(await ctx.puppeteer.render(genImageHTML(users, "guild_member" /* GuildMember */, "guild_member" /* GuildMember */)));
|
|
1183
1181
|
} else
|
|
1184
1182
|
throw 0;
|
|
1185
1183
|
} catch (error) {
|
|
1186
|
-
|
|
1184
|
+
ctx.logger.error(error);
|
|
1187
1185
|
session.send("查询群友失败。");
|
|
1188
1186
|
}
|
|
1189
1187
|
}
|
|
@@ -1210,7 +1208,7 @@ async function apply(ctx, config) {
|
|
|
1210
1208
|
session.send("比赛尚未解析,将在解析完成后发布。");
|
|
1211
1209
|
}
|
|
1212
1210
|
} catch (error) {
|
|
1213
|
-
|
|
1211
|
+
ctx.logger.error(error);
|
|
1214
1212
|
session.send("获取比赛信息失败。");
|
|
1215
1213
|
ctx.database.remove("dt_previous_query_results", { matchId: parseInt(matchId) });
|
|
1216
1214
|
}
|
|
@@ -1311,7 +1309,7 @@ async function apply(ctx, config) {
|
|
|
1311
1309
|
throw 0;
|
|
1312
1310
|
session.send(await ctx.puppeteer.render(genImageHTML(player, config.template_player, "player" /* Player */)));
|
|
1313
1311
|
} catch (error) {
|
|
1314
|
-
|
|
1312
|
+
ctx.logger.error(error);
|
|
1315
1313
|
session.send("获取玩家信息失败。");
|
|
1316
1314
|
}
|
|
1317
1315
|
}
|
|
@@ -1366,7 +1364,7 @@ async function apply(ctx, config) {
|
|
|
1366
1364
|
} else
|
|
1367
1365
|
throw 0;
|
|
1368
1366
|
} catch (error) {
|
|
1369
|
-
|
|
1367
|
+
ctx.logger.error(error);
|
|
1370
1368
|
session.send("获取数据失败");
|
|
1371
1369
|
return;
|
|
1372
1370
|
}
|
|
@@ -1417,7 +1415,7 @@ async function apply(ctx, config) {
|
|
|
1417
1415
|
);
|
|
1418
1416
|
}
|
|
1419
1417
|
} catch (error) {
|
|
1420
|
-
|
|
1418
|
+
ctx.logger.error(error);
|
|
1421
1419
|
session.send("获取数据失败");
|
|
1422
1420
|
return;
|
|
1423
1421
|
}
|
|
@@ -1521,7 +1519,7 @@ KDA:${((player.kills + player.assists) / (player.deaths || 1)).toFixed(2)} [${
|
|
|
1521
1519
|
} else
|
|
1522
1520
|
ctx.logger.info("比赛 %d 尚未解析完成,继续等待。", match.id);
|
|
1523
1521
|
} catch (error) {
|
|
1524
|
-
|
|
1522
|
+
ctx.logger.error(error);
|
|
1525
1523
|
ctx.database.remove("dt_previous_query_results", { matchId: pendingMatch.matchId });
|
|
1526
1524
|
}
|
|
1527
1525
|
}
|
package/package.json
CHANGED
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
|
|
29
29
|
.player.full .info {
|
|
30
30
|
display: grid;
|
|
31
|
-
grid-template-columns:
|
|
31
|
+
grid-template-columns: 64px auto 64px;
|
|
32
32
|
align-items: center;
|
|
33
33
|
/* border-bottom: #fff 1px solid; */
|
|
34
34
|
position: relative;
|
|
@@ -37,15 +37,46 @@
|
|
|
37
37
|
.player.full .info > .name {
|
|
38
38
|
line-height: 20px;
|
|
39
39
|
display: grid;
|
|
40
|
-
grid-template-rows: 24px
|
|
40
|
+
grid-template-rows: 24px 18px 14px;
|
|
41
|
+
grid-template-columns: repeat(2, 1fr);
|
|
42
|
+
gap: 2px;
|
|
41
43
|
text-align: center;
|
|
44
|
+
padding: 2px 0;
|
|
42
45
|
}
|
|
43
46
|
.player.full .info > .name > .nick_name {
|
|
44
|
-
font-size:
|
|
47
|
+
font-size: 20px;
|
|
45
48
|
line-height: 24px;
|
|
49
|
+
grid-column: 1/-1;
|
|
46
50
|
}
|
|
47
|
-
.player.full .info > .name >
|
|
48
|
-
|
|
51
|
+
.player.full .info > .name > .name {
|
|
52
|
+
line-height: 18px;
|
|
53
|
+
}
|
|
54
|
+
.player.full .info > .name > .id {
|
|
55
|
+
font-size: 12px;
|
|
56
|
+
line-height: 14px;
|
|
57
|
+
color: #888;
|
|
58
|
+
}
|
|
59
|
+
.player.full .info > .name > p {
|
|
60
|
+
display: flex;
|
|
61
|
+
justify-content: space-around;
|
|
62
|
+
}
|
|
63
|
+
.player.full .info > .avatar.steam {
|
|
64
|
+
position: relative;
|
|
65
|
+
}
|
|
66
|
+
.player.full .info > .avatar.steam > .rank {
|
|
67
|
+
top: 0;
|
|
68
|
+
right: 0;
|
|
69
|
+
width: 32px;
|
|
70
|
+
position: absolute;
|
|
71
|
+
}
|
|
72
|
+
.player.full .info > .avatar.steam > p {
|
|
73
|
+
z-index: 1;
|
|
74
|
+
position: absolute;
|
|
75
|
+
bottom: 35px;
|
|
76
|
+
left: 50%;
|
|
77
|
+
width: 32px;
|
|
78
|
+
text-align: center;
|
|
79
|
+
font-size: 4px;
|
|
49
80
|
}
|
|
50
81
|
.player.full .last_match_date {
|
|
51
82
|
position: relative;
|
|
@@ -95,26 +126,31 @@
|
|
|
95
126
|
</style>
|
|
96
127
|
</head>
|
|
97
128
|
<body>
|
|
98
|
-
<% const users = data;
|
|
129
|
+
<% const users = data;
|
|
130
|
+
users.forEach(player=>{
|
|
131
|
+
player.rank = {
|
|
132
|
+
medal: parseInt(player.steamAccount.seasonRank?.toString().split("")[0] ?? 0),
|
|
133
|
+
star: parseInt(player.steamAccount.seasonRank?.toString().split("")[1] ?? 0),
|
|
134
|
+
leaderboard: player.steamAccount.seasonLeaderboardRank,
|
|
135
|
+
inTop100: player.steamAccount.seasonLeaderboardRank ? (player.steamAccount.seasonLeaderboardRank <= 10 ? "8c" : player.steamAccount.seasonLeaderboardRank <= 100 ? "8b" : undefined) : undefined,
|
|
136
|
+
}});%>
|
|
99
137
|
<%-users.map(user=>`
|
|
100
138
|
<div class="player full">
|
|
101
139
|
<div class="info">
|
|
102
140
|
<img class="avatar user" src="${user?.user?.avatar}" alt="" />
|
|
103
|
-
<img class="avatar steam" src="${user.steamAccount.avatar}" alt="" />
|
|
104
141
|
<div class="name">
|
|
105
|
-
<
|
|
106
|
-
|
|
107
|
-
</
|
|
108
|
-
<
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
<p
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
142
|
+
<span class="nick_name">${user.nickName}</span>
|
|
143
|
+
<span class="user name">${user.nick || user.user?.name}</span>
|
|
144
|
+
<span class="steam name">${user.steamAccount.name}</span>
|
|
145
|
+
<span class="user id">${user.userId}</span>
|
|
146
|
+
<span class="steam id">${user.steamId}</span>
|
|
147
|
+
</div>
|
|
148
|
+
<div class="avatar steam">
|
|
149
|
+
<p>${user.steamAccount.seasonLeaderboardRank??""}</p>
|
|
150
|
+
<img class="rank" src="${utils.getImageUrl('star_' + user.rank.star)}" alt="" />
|
|
151
|
+
<img class="rank" src="${utils.getImageUrl('medal_' +(user.inTop100??user.rank.medal))}" alt="" />
|
|
152
|
+
<img class="avatar" src="${user.steamAccount.avatar}" alt="" />
|
|
116
153
|
</div>
|
|
117
|
-
<img class="rank" src="${utils.getImageUrl("medal_"+((!user.steamAccount.seasonRank)?0:Math.floor(user.steamAccount.seasonRank/10)))}" alt="" />
|
|
118
154
|
</div>
|
|
119
155
|
${users.length<10?
|
|
120
156
|
`<div class="last10match">
|