示例#1
0
        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)}");
        }
示例#2
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);
     }
 }
示例#3
0
        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 { }
            });
        }