private async Task OnGuildRoleDelete(ulong guildId, ulong roleId) { try { var cache = _cacheClient.Get; DiscordGuildPacket guild = await _discordClient.GetGuildAsync(guildId); if (guild == null) { Console.WriteLine("OnGuildRoleDelete: Cache miss: guild was not found."); } if (guild.Roles != null) { int index = guild.Roles.FindIndex(x => x.Id == roleId); if (index != -1) { guild.Roles.RemoveAt(index); } await cache.UpsertAsync($"discord:guild:{guildId}", guild); } await cache.RemoveAsync($"discord:guild:{guildId}:role:{roleId}"); } catch (Exception e) { Log.Trace(e.ToString()); } }
private async Task OnGuildRoleCreate(ulong guildId, DiscordRolePacket arg2) { try { DiscordGuildPacket guild = await _discordClient.GetGuildAsync(guildId); if (guild.Roles == null) { guild.Roles = new List <DiscordRolePacket>(); } int index = guild.Roles.FindIndex(x => x.Id == guildId); if (index == -1) { guild.Roles.Add(arg2); } else { guild.Roles[index] = arg2; } var cache = _cacheClient.Get; await cache.UpsertAsync($"discord:guild:{guildId}:role:{arg2.Id}", arg2); await cache.UpsertAsync($"discord:guild:{guildId}", guild); } catch (Exception e) { Log.Trace(e.ToString()); } }
private async Task OnGuildMemberAdd(DiscordGuildMemberPacket arg) { try { DiscordGuildPacket guild = await _discordClient.GetGuildAsync(arg.GuildId); if (guild.Members == null) { guild.Members = new List <DiscordGuildMemberPacket>(); } int index = guild.Members.FindIndex(x => x.UserId == arg.UserId); if (index != -1) { guild.Members.RemoveAt(index); } guild.Members.Add( await _discordClient.GetGuildUserAsync(arg.UserId, arg.GuildId) ); var cache = _cacheClient.Get; await cache.UpsertAsync($"discord:guild:{arg.GuildId}:user:{arg.UserId}", arg); await cache.UpsertAsync($"discord:guild:{arg.GuildId}", guild); } catch (Exception e) { Log.Trace(e.ToString()); } }
private Task OnGuildCreate(DiscordGuildPacket guild) { guild.Members.RemoveAll(x => x == null); return(Task.WhenAll( cacheHandler.Guilds.AddAsync(guild).AsTask(), cacheHandler.Channels.AddAsync( guild.Channels.Select(x => { x.GuildId = guild.Id; return x; })).AsTask(), cacheHandler.Members.AddAsync( guild.Members.Select(x => { x.GuildId = guild.Id; return x; })).AsTask(), cacheHandler.Roles.AddAsync( guild.Roles.Select(x => { x.GuildId = guild.Id; return x; })).AsTask(), cacheHandler.Users.AddAsync( guild.Members.Select(x => x.User)).AsTask())); }
private async Task OnGuildMemberRemove(ulong guildId, DiscordUserPacket arg2) { DiscordGuildPacket guild = await _discordClient.GetGuildAsync(guildId); if (guild == null) { Log.Error($"Guild '{guildId}' not found"); return; } if (guild.Members == null) { guild.Members = new List <DiscordGuildMemberPacket>(); } else { int index = guild.Members.FindIndex(x => x.UserId == arg2.Id); if (index != -1) { guild.Members.RemoveAt(index); } } await _cacheClient.RemoveAsync($"discord:guild:{guildId}:user:{arg2.Id}"); await _cacheClient.AddAsync($"discord:guild:{guildId}", guild); }
public async ValueTask OnGuildCreate(DiscordGuildPacket packet) { await InsertGuildCacheAsync(packet); var guild = new DiscordGuild(packet, Client); await EventHandler.OnGuildJoin(guild); }
public async ValueTask OnGuildUpdate(DiscordGuildPacket packet) { var updatedPacket = await UpdateGuildCacheAsync(packet); var guild = new DiscordGuild(updatedPacket, Client); await EventHandler.OnGuildUpdate(guild); }
private async Task OnGuildUpdate(DiscordGuildPacket arg1) { var guild = await cacheHandler.Guilds.GetAsync(arg1.Id) ?? arg1; guild.OverwriteContext(arg1); await cacheHandler.Guilds.EditAsync(guild); }
public async Task <List <DiscordRolePacket> > GetRolesAsync(ulong guildId) { DiscordGuildPacket guild = await GetGuildAsync(guildId); if (guild != null) { return(guild.Roles); } return(null); }
private async Task OnGuildCreate(DiscordGuildPacket guild) { var managedGuild = new DiscordGuild(guild, client); guildCreate.OnNext(managedGuild); if (!await cacheHandler.HasGuildAsync(guild.Id) && !(guild.Unavailable ?? true)) { guildJoin.OnNext(managedGuild); } else { guildAvailable.OnNext(managedGuild); } }
private async Task OnGuildMemberUpdate(GuildMemberUpdateEventArgs arg) { try { DiscordGuildPacket guild = await _discordClient.GetGuildAsync(arg.GuildId); if (guild.Members == null) { guild.Members = new List <DiscordGuildMemberPacket>(); } int index = guild.Members.FindIndex(x => x.UserId == arg.User.Id); DiscordGuildMemberPacket packet; if (index == -1) { packet = new DiscordGuildMemberPacket { User = arg.User, Roles = arg.RoleIds.ToList(), Nickname = arg.Nickname, UserId = arg.User.Id, GuildId = arg.GuildId, }; guild.Members.Add(packet); } else { guild.Members[index].Nickname = arg.Nickname; guild.Members[index].Roles = arg.RoleIds.ToList(); guild.Members[index].User = arg.User; packet = guild.Members[index]; } var cache = _cacheClient.Get; await cache.UpsertAsync($"discord:guild:{arg.GuildId}:user:{arg.User.Id}", packet); await cache.UpsertAsync($"discord:guild:{arg.GuildId}", guild); } catch (Exception e) { Log.Trace(e.ToString()); } }
private async Task OnGuildRoleDelete(ulong guildId, ulong roleId) { DiscordGuildPacket guild = await _discordClient.GetGuildAsync(guildId); if (guild == null) { Console.WriteLine("OnGuildRoleDelete: Cache miss: guild was not found."); } if (guild.Roles != null) { int index = guild.Roles.FindIndex(x => x.Id == roleId); if (index != -1) { guild.Roles.RemoveAt(index); } await _cacheClient.AddAsync($"discord:guild:{guildId}", guild); } await _cacheClient.RemoveAsync($"discord:guild:{guildId}:role:{roleId}"); }
private async Task OnGuildMemberRemove(ulong guildId, DiscordUserPacket arg2) { try { DiscordGuildPacket guild = await _discordClient.GetGuildAsync(guildId); if (guild == null) { Log.Error($"Guild '{guildId}' not found"); return; } if (guild.Members == null) { guild.Members = new List <DiscordGuildMemberPacket>(); } else { int index = guild.Members.FindIndex(x => x.UserId == arg2.Id); if (index != -1) { guild.Members.RemoveAt(index); } } var cache = _cacheClient.Get; await cache.RemoveAsync($"discord:guild:{guildId}:user:{arg2.Id}"); await cache.UpsertAsync($"discord:guild:{guildId}", guild); } catch (Exception e) { Log.Trace(e.ToString()); } }
private async Task OnGuildRoleCreate(ulong guildId, DiscordRolePacket arg2) { DiscordGuildPacket guild = await _discordClient.GetGuildAsync(guildId); if (guild.Roles == null) { guild.Roles = new List <DiscordRolePacket>(); } int index = guild.Roles.FindIndex(x => x.Id == guildId); if (index == -1) { guild.Roles.Add(arg2); } else { guild.Roles[index] = arg2; } await _cacheClient.AddAsync($"discord:guild:{guildId}:role:{arg2.Id}", arg2); await _cacheClient.AddAsync($"discord:guild:{guildId}", guild); }
private async Task OnGuildMemberAdd(DiscordGuildMemberPacket arg) { DiscordGuildPacket guild = await _discordClient.GetGuildAsync(arg.GuildId); if (guild.Members == null) { guild.Members = new List <DiscordGuildMemberPacket>(); } int index = guild.Members.FindIndex(x => x.UserId == arg.UserId); if (index != -1) { guild.Members.RemoveAt(index); } guild.Members.Add( await _discordClient.GetGuildUserAsync(arg.UserId, arg.GuildId) ); await _cacheClient.AddAsync($"discord:guild:{arg.GuildId}:user:{arg.UserId}", arg); await _cacheClient.AddAsync($"discord:guild:{arg.GuildId}", guild); }
private async Task OnGuildCreate(DiscordGuildPacket arg) { await _cacheClient.AddAsync($"discord:guild:{arg.Id}", arg); }
public DiscordGuild(DiscordGuildPacket packet, IDiscordClient client) { _packet = packet; _client = client; }
private async Task OnGuildCreate(DiscordGuildPacket arg) { var cache = _cacheClient.Get; await cache.UpsertAsync($"discord:guild:{arg.Id}", arg); }
public DiscordGuild(DiscordGuildPacket packet, IDiscordClient client) { this.packet = packet; this.client = client; }
private static bool ValidateCache(DiscordGuildPacket p) => !string.IsNullOrEmpty(p.Name);