Skip to content

Commit

Permalink
add #217
Browse files Browse the repository at this point in the history
  • Loading branch information
chr233 committed Feb 20, 2024
1 parent c7a06bb commit 9d229da
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 41 deletions.
2 changes: 1 addition & 1 deletion ASFEnhance/ASFEnhance.cs
Original file line number Diff line number Diff line change
Expand Up @@ -454,7 +454,7 @@ public Task OnLoaded()
"DCU" when access >= EAccess.Master =>
Profile.Command.ResponseEditCustomUrl(bot, null),

"BALANCEINFO" or
"BALANCEINFO" or
"BI" when access >= EAccess.Operator =>
Profile.Command.ResponseBalanceInfo(bot),

Expand Down
2 changes: 1 addition & 1 deletion ASFEnhance/Account/Command.cs
Original file line number Diff line number Diff line change
Expand Up @@ -435,7 +435,7 @@ async Task workThread(uint subId)

int i = 0;

var yesStrings = new List<string> { "1", "y", "yes", "true" };
List<string> yesStrings = ["1", "y", "yes", "true"];

foreach (string entry in entries)
{
Expand Down
45 changes: 23 additions & 22 deletions ASFEnhance/Profile/Command.cs
Original file line number Diff line number Diff line change
Expand Up @@ -290,45 +290,48 @@ internal static class Command
/// 获取年度总结
/// </summary>
/// <param name="bot"></param>
/// <param name="year"></param>
/// <param name="years"></param>
/// <returns></returns>
internal static async Task<string?> ResponseGetReplay(Bot bot, string year)
internal static async Task<string?> ResponseGetReplay(Bot bot, string years)
{
if (!bot.IsConnectedAndLoggedOn)
{
return bot.FormatBotResponse(Strings.BotNotConnected);
}

if (!int.TryParse(year, out var intYear) || intYear < 2022 || intYear > 9999)
{
return bot.FormatBotResponse(Langs.ArgumentErrorYear);
}

var token = await WebRequest.GetReplayToken(bot).ConfigureAwait(false);
var entries = years.Split(SeparatorDot, StringSplitOptions.RemoveEmptyEntries);
var sb = new StringBuilder();

if (string.IsNullOrEmpty(token))
foreach (var entry in entries)
{
return bot.FormatBotResponse(Langs.NetworkError);
}
if (!int.TryParse(entry, out var intYear) || intYear < 2022 || intYear > 9999)
{
sb.AppendLine(bot.FormatBotResponse(Langs.CookieItem, intYear, Langs.ArgumentErrorYear));
continue;
}

var result = await WebRequest.GetReplayPic(bot, intYear, token).ConfigureAwait(false);
var token = bot.AccessToken;
if (string.IsNullOrEmpty(token))
{
sb.AppendLine(bot.FormatBotResponse(Langs.CookieItem, intYear, Langs.NetworkError));
continue;
}

if (string.IsNullOrEmpty(result))
{
return bot.FormatBotResponse(Langs.NetworkError);
var result = await WebRequest.GetReplayPic(bot, intYear, token).ConfigureAwait(false);
sb.AppendLine(bot.FormatBotResponse(Langs.CookieItem, intYear, result ?? Langs.NetworkError));
}

return bot.FormatBotResponse(result);
return sb.ToString();
}

/// <summary>
/// 获取年度总结 (多个Bot)
/// </summary>
/// <param name="botNames"></param>
/// <param name="year"></param>
/// <param name="years"></param>
/// <returns></returns>
/// <exception cref="ArgumentNullException"></exception>
internal static async Task<string?> ResponseGetReplay(string botNames, string year)
internal static async Task<string?> ResponseGetReplay(string botNames, string years)
{
if (string.IsNullOrEmpty(botNames))
{
Expand All @@ -342,7 +345,7 @@ internal static class Command
return FormatStaticResponse(Strings.BotNotFound, botNames);
}

var results = await Utilities.InParallel(bots.Select(bot => ResponseGetReplay(bot, year))).ConfigureAwait(false);
var results = await Utilities.InParallel(bots.Select(bot => ResponseGetReplay(bot, years))).ConfigureAwait(false);

var responses = new List<string?>(results.Where(result => !string.IsNullOrEmpty(result)));

Expand Down Expand Up @@ -380,15 +383,13 @@ internal static class Command
return bot.FormatBotResponse(Langs.ReplayPrivacyError);
}

var token = await WebRequest.GetReplayToken(bot).ConfigureAwait(false);

var token = bot.AccessToken;
if (string.IsNullOrEmpty(token))
{
return bot.FormatBotResponse(Langs.NetworkError);
}

var result = await WebRequest.SetReplayPermission(bot, intYear, token, privacy).ConfigureAwait(false);

if (string.IsNullOrEmpty(result))
{
return bot.FormatBotResponse(Langs.NetworkError);
Expand Down
13 changes: 0 additions & 13 deletions ASFEnhance/Profile/WebRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -50,19 +50,6 @@ internal static async Task ClearAliasHisrory(Bot bot)
await bot.ArchiWebHandler.UrlPostWithSession(request, referer: SteamStoreURL).ConfigureAwait(false);
}

/// <summary>
/// 获取年度总结Token
/// </summary>
/// <param name="bot"></param>
/// <returns></returns>
internal static async Task<string?> GetReplayToken(Bot bot)
{
var request = new Uri(SteamStoreURL, "/replay/");
HtmlDocumentResponse? response = await bot.ArchiWebHandler.UrlGetToHtmlDocumentWithSession(request, referer: SteamStoreURL).ConfigureAwait(false);
var token = response?.Content?.QuerySelector<IElement>("#application_config")?.GetAttribute("data-sale_feature_webapi_token");
return token?.Replace("\"", "");
}

/// <summary>
/// 获取年度总结图片
/// </summary>
Expand Down
3 changes: 0 additions & 3 deletions ASFEnhance/RegexUtils.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,6 @@ internal static partial class RegexUtils
[GeneratedRegex("\"CLANACCOUNTID\":(\\d+),")]
public static partial Regex MatchClanaCCountId();

[GeneratedRegex("\"(.+)\"")]
public static partial Regex MatchToken();

[GeneratedRegex("\"steamid\":\"(\\d+)\"")]
public static partial Regex MatchSteamId();

Expand Down
3 changes: 2 additions & 1 deletion Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project>
<PropertyGroup>
<Version>2.0.13.2</Version>
<Version>2.0.13.3</Version>
</PropertyGroup>

<PropertyGroup>
Expand All @@ -13,6 +13,7 @@
<ErrorReport>none</ErrorReport>
<ImplicitUsings>enable</ImplicitUsings>
<LangVersion>latest</LangVersion>

<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
<NeutralLanguage>zh-cn</NeutralLanguage>
<Nullable>enable</Nullable>
Expand Down

0 comments on commit 9d229da

Please sign in to comment.