mirror of
https://github.com/RPCS3/discord-bot.git
synced 2024-12-05 01:27:45 +00:00
commit
9923e4ad65
@ -182,7 +182,7 @@ namespace AppveyorClient
|
||||
{
|
||||
ResponseCache.Set(j.JobId, b, JobToBuildCacheTime);
|
||||
#if DEBUG
|
||||
ApiConfig.Log.Debug($"Cached {b.GetType().Name} for {j.JobId}");
|
||||
//ApiConfig.Log.Debug($"Cached {b.GetType().Name} for {j.JobId}");
|
||||
#endif
|
||||
}
|
||||
return buildInfo?.Build?.Jobs?.Any(j => j.JobId == jobId) ?? false;
|
||||
|
@ -22,7 +22,7 @@ namespace CompatBot.Commands
|
||||
private static readonly GithubClient.Client githubClient = new GithubClient.Client();
|
||||
private static readonly AppveyorClient.Client appveyorClient = new AppveyorClient.Client();
|
||||
private static readonly CompatApiClient.Client compatApiClient = new CompatApiClient.Client();
|
||||
private static readonly TimeSpan AvgBuildTime = TimeSpan.FromMinutes(40); // it's 20, but on merge we have pr + master builds
|
||||
private static readonly TimeSpan AvgBuildTime = TimeSpan.FromMinutes(30); // it's 20, but on merge we have pr + master builds
|
||||
private const string appveyorContext = "continuous-integration/appveyor/pr";
|
||||
|
||||
[GroupCommand]
|
||||
|
@ -23,7 +23,7 @@ namespace CompatBot.EventHandlers
|
||||
new[]
|
||||
{
|
||||
"good bot", "gud bot", "good boy", "goodboy", "gud boy", "gud boi",
|
||||
"thank you", "thankyou", "thnk", "thnx", "thnku", "thank u", "tnx",
|
||||
"thank you", "thankyou", "thanks", "thnk", "thnks", "thnx", "thnku", "thank u", "tnx",
|
||||
"arigato", "aregato", "arigatou", "aregatou", "oregato", "origato",
|
||||
"poor bot", "good job", "well done", "good work", "excellent work",
|
||||
}.ToDictionary(s => s, _ => false)
|
||||
|
@ -138,6 +138,7 @@ namespace CompatBot.EventHandlers.LogParsing
|
||||
["Loaded SPU image:"] = new Regex(@"Loaded SPU image: SPU-(?<spu_hash>\w+) \(<-\s*(?<spu_hash_patch>(?!0)\d+)\).*?\r?$", DefaultOptions),
|
||||
["'sys_fs_open' failed"] = new Regex(@"'sys_fs_open' failed .+\xE2\x80\x9C/dev_bdvd/(?<broken_filename>.+)\xE2\x80\x9D.*?\r?$", DefaultOptions),
|
||||
["'sys_fs_opendir' failed"] = new Regex(@"'sys_fs_opendir' failed .+\xE2\x80\x9C/dev_bdvd/(?<broken_directory>.+)\xE2\x80\x9D.*?\r?$", DefaultOptions),
|
||||
["EDAT: "] = new Regex(@"EDAT: Block at offset (?<edat_block_offset>0x[0-9a-f]+) has invalid hash!.*?\r?$", DefaultOptions),
|
||||
},
|
||||
OnSectionEnd = MarkAsCompleteAndReset,
|
||||
EndTrigger = "All threads stopped...",
|
||||
@ -154,6 +155,7 @@ namespace CompatBot.EventHandlers.LogParsing
|
||||
"spu_hash_patch",
|
||||
"broken_filename",
|
||||
"broken_directory",
|
||||
"edat_block_offset",
|
||||
};
|
||||
|
||||
private static async Task PiracyCheckAsync(string line, LogParseState state)
|
||||
|
@ -325,7 +325,7 @@ namespace CompatBot.Utils.ResultFormatters
|
||||
}
|
||||
}
|
||||
|
||||
private static async Task<bool> BuildMissingFilesSection(DiscordEmbedBuilder builder, NameValueCollection items)
|
||||
private static async Task<bool> HasBrokenFilesAsync(NameValueCollection items)
|
||||
{
|
||||
if (!(items["serial"] is string productCode))
|
||||
return false;
|
||||
@ -333,7 +333,8 @@ namespace CompatBot.Utils.ResultFormatters
|
||||
if (!productCode.StartsWith("B") && !productCode.StartsWith("M"))
|
||||
return false;
|
||||
|
||||
if (string.IsNullOrEmpty(items["broken_directory"]) && string.IsNullOrEmpty(items["broken_filename"]))
|
||||
if (string.IsNullOrEmpty(items["broken_directory"])
|
||||
&& string.IsNullOrEmpty(items["broken_filename"]))
|
||||
return false;
|
||||
|
||||
var getIrdTask = irdClient.DownloadAsync(productCode, Config.IrdCachePath, Config.Cts.Token);
|
||||
@ -370,7 +371,7 @@ namespace CompatBot.Utils.ResultFormatters
|
||||
{
|
||||
BuildWeirdSettingsSection(builder, items);
|
||||
BuildMissingLicensesSection(builder, items);
|
||||
var brokenDump = await BuildMissingFilesSection(builder, items).ConfigureAwait(false);
|
||||
var brokenDump = !string.IsNullOrEmpty("edat_block_offset") || await HasBrokenFilesAsync(items).ConfigureAwait(false);
|
||||
var elfBootPath = items["elf_boot_path"] ?? "";
|
||||
var isEboot = !string.IsNullOrEmpty(elfBootPath) && elfBootPath.EndsWith("EBOOT.BIN", StringComparison.InvariantCultureIgnoreCase);
|
||||
var isElf = !string.IsNullOrEmpty(elfBootPath) && !elfBootPath.EndsWith("EBOOT.BIN", StringComparison.InvariantCultureIgnoreCase);
|
||||
@ -386,7 +387,7 @@ namespace CompatBot.Utils.ResultFormatters
|
||||
if (items["failed_to_boot"] is string _)
|
||||
notes.AppendLine("Failed to boot the game, the dump might be encrypted or corrupted");
|
||||
if (brokenDump)
|
||||
notes.AppendLine("Some game files are missing or corrupted, please check and redump if needed.");
|
||||
notes.AppendLine("Some game files are missing or corrupted, please re-dump and validate.");
|
||||
if (!string.IsNullOrEmpty(items["host_root_in_boot"]) && isEboot)
|
||||
notes.AppendLine("Retail game booted as an ELF through the `/root_host/`, probably due to passing path as an argument; please boot through the game library list for now");
|
||||
if (!string.IsNullOrEmpty(items["serial"]) && isElf)
|
||||
|
@ -42,7 +42,7 @@ namespace CompatBot.Utils.ResultFormatters
|
||||
&& buildPr != info.LatestBuild?.Pr
|
||||
&& GetUpdateDelta(info) is TimeSpan timeDelta)
|
||||
timestampInfo += $" ({timeDelta.AsTimeDeltaDescription()} newer)";
|
||||
else if (DateTime.TryParse(build.Datetime, out var buildDateTime) && DateTime.UtcNow.Ticks > buildDateTime.Ticks)
|
||||
else if (!justAppend && DateTime.TryParse(build.Datetime, out var buildDateTime) && DateTime.UtcNow.Ticks > buildDateTime.Ticks)
|
||||
timestampInfo += $" ({(DateTime.UtcNow - buildDateTime.AsUtc()).AsTimeDeltaDescription()} ago)";
|
||||
|
||||
if (justAppend)
|
||||
|
Loading…
Reference in New Issue
Block a user