Exemplo n.º 1
0
        public static async Task UpdateUBs(int id)
        {
            var collec  = DatabaseConnection.GetDb().GetCollection <AvastarObject>("AvastarCollection");
            var ava     = (await collec.FindAsync(a => a.id == id)).FirstOrDefault();
            var ub2List = await UB2Object.UpdateUb2List(ava);

            var ub3List = await UB3Object.UpdateUb3List(ava);

            await AvaUBObject.UpdateAvaUbList(ava, ub2List, ub3List);
        }
Exemplo n.º 2
0
        public static async Task CreateAva(int id)
        {
            var ava = new AvastarObject();

            ava.id = id;
            string metadatastr = "";

            using (System.Net.WebClient wc = new System.Net.WebClient()) {
                try {
                    metadatastr = await wc.DownloadStringTaskAsync("https://avastars.io/metadata/" + id.ToString());
                }
                catch (Exception e) {
                    Console.WriteLine(e.Message);
                }
            }
            if (metadatastr.StartsWith("Invalid"))
            {
                return;
            }
            var traitJson    = JObject.Parse(DiscordKeyGetter.GetFileData("app/create-traits-nosvg.json"));
            var metadataJson = JObject.Parse(metadatastr);

            ava.id     = id;
            ava.Gender = (string)metadataJson["attributes"][0]["value"];
            ava.Score  = (int)metadataJson["attributes"][5]["value"];
            ava.traits = new Dictionary <string, string>();
            for (int i = 7; i < 19; i++)
            {
                ava.traits.Add((string)metadataJson["attributes"][i]["trait_type"], (string)metadataJson["attributes"][i]["value"]);
            }
            var disp = AvastarCommands.ReturnTraitDisparity(metadataJson, traitJson);

            ava.Owner = "";
            ava.RarityDistribution = new Dictionary <string, int>();
            ava.RarityDistribution.Add("Common", disp[0]);
            ava.RarityDistribution.Add("Uncommon", disp[1]);
            ava.RarityDistribution.Add("Rare", disp[2]);
            ava.RarityDistribution.Add("Epic", disp[3]);
            ava.RarityDistribution.Add("Legendary", disp[4]);
            ava.FillTraitDictionary(traitJson, metadataJson);
            var collec = DatabaseConnection.GetDb().GetCollection <AvastarObject>("AvastarCollection");
            await collec.InsertOneAsync(ava);

            var ub2List = await UB2Object.UpdateUb2List(ava);

            var ub3List = await UB3Object.UpdateUb3List(ava);

            await AvaUBObject.UpdateAvaUbList(ava, ub2List, ub3List);
        }