private async Task <string> GetDesc(int rankacc, SekaiClient.SekaiClient client) { if (rankacc == 0) { return(string.Empty); } var score = (await client.CallUserApi($"/event/{eventId}/ranking?targetRank={rankacc}", HttpMethod.Get, null))["rankings"][0]["score"]; return($"排名{rankacc}当前分数{score}" + $"{(manager.hourSpeed.TryGetValue(rankacc, out var val) ? $"({val}pt/h)" : string.Empty)}," + $"预测{(scoreCache == null ? -1 : scoreCache.TryGetValue(rankacc, out var v) ? v : 0)}"); }
private async Task <string> GetPred(int rank, SekaiClient.SekaiClient client) { try { var sb = new StringBuilder(); var up = ranks.LastOrDefault(r => r < rank); if (up != 0) { sb.Append($"\n上一档{await GetDesc(up, client)}"); } var down = ranks.FirstOrDefault(r => r >= rank); if (down != 0) { sb.Append($"\n下一档{await GetDesc(down, client)}"); } return(sb.ToString()); } catch { return(string.Empty); } }
public async Task Run(CommandArgs args) { if (args.Arg != "") { return; } var callback = args.Callback; var source = args.Source; args.finishedTask = Task.Run(() => { try { try { callback("抽卡进行中,不要着急哦"); var client = new SekaiClient.SekaiClient(new EnvironmentInfo()) { DebugWrite = Console.WriteLine }; client.InitializeAdid(); client.UpgradeEnvironment().Wait(); var user = client.Register().Result; client.Login(user).Wait(); var currency = client.PassTutorial().Result; var result = string.Join("\n", client.Gacha(currency).Result); var inherit = client.Inherit(Configuration.GetConfig <TokenConfig>().t.TryGetValue(source.FromQQ, out var val) ? val : source.FromQQ.ToString()).Result; this.Log(LoggerLevel.Info, $"gacha inherit for user {source.FromQQ}: {inherit}"); callback($"[mirai:at={source.FromQQ}]抽卡结果:\n{result}\n引继码{inherit},密码是默认你的qq哦(可以通过/token+密码进行设置)".ToImageText()); } catch { callback("抽卡出错了哦,可能是服务器网络不好"); } } catch { } }); }