예제 #1
0
 public static async Task UpdatePlanetAsync()
 {
     foreach (Planet planet in await ValourClient.GetData <List <Planet> >($"https://valour.gg/Planet/GetPlanetMembership?user_id={ValourClient.BotId}&token={ValourClient.Token}"))
     {
         if (PlanetCache.ContainsKey(planet.Id) == false)
         {
             PlanetCache.TryAdd(planet.Id, planet);
         }
     }
 }
예제 #2
0
 public static async Task UpdateChannelsFromPlanetAsync(ulong PlanetId)
 {
     foreach (Channel channel in await ValourClient.GetData <List <Channel> >($"https://valour.gg/Channel/GetPlanetChannels?planet_id={PlanetId}&token={ValourClient.Token}"))
     {
         if (ChannelCache.ContainsKey(channel.Id) == false)
         {
             ChannelCache.TryAdd(channel.Id, channel);
         }
     }
 }
예제 #3
0
        public static async Task <PlanetMember> GetPlanetMember(ulong UserId, ulong PlanetId)
        {
            PlanetMember member = PlanetMemberCache.Values.FirstOrDefault(x => x.Planet_Id == PlanetId && x.User_Id == UserId);

            if (member == null)
            {
                member = await ValourClient.GetData <PlanetMember>($"https://valour.gg/Planet/GetPlanetMember?user_id={UserId}&planet_id={PlanetId}&auth={ValourClient.Token}");

                PlanetMemberCache.TryAdd(member.Id, member);
            }
            return(member);
        }
예제 #4
0
 public static async Task UpdateMembersFromPlanetAsync(ulong PlanetId)
 {
     foreach (PlanetMemberInfo memberinfo in await ValourClient.GetData <List <PlanetMemberInfo> >($"https://valour.gg/Planet/GetPlanetMemberInfo?planet_id={PlanetId}&token={ValourClient.Token}"))
     {
         if (PlanetMemberCache.ContainsKey(memberinfo.Member.Id) == false)
         {
             PlanetMember member = memberinfo.Member;
             member.RoleIds = new List <ulong>();
             member.RoleIds.AddRange(memberinfo.RoleIds);
             PlanetMemberCache.TryAdd(memberinfo.Member.Id, member);
         }
     }
 }
예제 #5
0
        public static async Task <Planet> GetPlanet(ulong PlanetId)
        {
            Planet planet = PlanetCache.Values.FirstOrDefault(x => x.Id == PlanetId);

            if (planet == null)
            {
                planet = await ValourClient.GetData <Planet>($"https://valour.gg/Planet/GetPlanet?planet_id={PlanetId}&auth={ValourClient.Token}");

                PlanetCache.TryAdd(planet.Id, planet);
                return(PlanetCache.Values.FirstOrDefault(x => x.Id == PlanetId));
            }
            return(planet);
        }