private void GuildMemberRemoveEvents(JObject message) { DiscordGuildMemberRemovedEventArgs e = new DiscordGuildMemberRemovedEventArgs(); DiscordMember removed = new DiscordMember(this); List<DiscordMember> membersToRemove = new List<DiscordMember>(); foreach(var server in ServersList) { if (server.id != message["d"]["guild_id"].ToString()) continue; for(int i = 0; i < server.members.Count; i++) { if(server.members[i].ID == message["d"]["user"]["id"].ToString()) { removed = server.members[i]; membersToRemove.Add(removed); } } } foreach(var member in membersToRemove) { foreach (var server in ServersList) { try { server.members.Remove(member); } catch { } //oh, you mean useless? } } e.MemberRemoved = removed; e.Server = ServersList.Find(x => x.id == message["d"]["guild_id"].ToString()); e.RawJson = message; if (UserRemovedFromServer != null) UserRemovedFromServer(this, e); }
private void GuildMemberRemoveEvents(JObject message) { DiscordGuildMemberRemovedEventArgs e = new DiscordGuildMemberRemovedEventArgs(); DiscordMember removed = new DiscordMember(this); removed.parentclient = this; List<DiscordMember> membersToRemove = new List<DiscordMember>(); foreach (var server in ServersList) { if (server.ID != message["d"]["guild_id"].ToString()) continue; foreach (var member in server.Members) { if (member.Value.ID == message["d"]["user"]["id"].ToString()) { removed = member.Value; membersToRemove.Add(removed); RemovedMembers.Add(removed); } } } foreach (var member in membersToRemove) { foreach (var server in ServersList) { try { server.RemoveMember(member.ID); } catch { } //oh, you mean useless? } } e.MemberRemoved = removed; e.Server = ServersList.Find(x => x.ID == message["d"]["guild_id"].ToString()); e.RawJson = message; if (UserRemovedFromServer != null) UserRemovedFromServer(this, e); }