public async Task Blacklist(ulong userId) { var username = string.Empty; var avatarUrl = string.Empty; try { var user = await(Context.Client as IDiscordClient).GetUserAsync(userId); username = user.Username; avatarUrl = user.GetAvatarUrl(); } catch { } var blacklist = new Blacklist(userId, username, avatarUrl); await _blacklistRepo.InsertAsync(blacklist); foreach (var guild in Context.Client.Guilds) { if (guild.OwnerId == userId) { await _blacklistRepo.AddGuildAsync(userId, guild.Id); await guild.LeaveAsync(); } } await ReplyAsync($"You have successfully blacklisted the following ID: {userId}."); }
private Task HandleGuildUpdated(SocketGuild guildBefore, SocketGuild guildAfter) { return(Task.Run(async() => { Logger.Log(LogSeverity.Debug, $"Event", "Guild Updated"); var blacklists = await _blaclistRepo.AllAsync(); var isBlacklistedOwner = blacklists.Any(x => x.UserId == guildAfter.OwnerId); var isBlacklistedGuild = blacklists.Any(x => x.GuildIds.Any(y => y == guildAfter.Id)); if (isBlacklistedOwner && !isBlacklistedGuild) { await _blaclistRepo.AddGuildAsync(guildAfter.OwnerId, guildAfter.Id); await guildAfter.LeaveAsync(); } else if (isBlacklistedGuild && !isBlacklistedOwner) { await _blaclistRepo.InsertAsync(new Blacklist(guildAfter.OwnerId, guildAfter.Owner.Username, guildAfter.Owner.GetAvatarUrl())); await guildAfter.LeaveAsync(); } else if (isBlacklistedOwner && isBlacklistedGuild) { await guildAfter.LeaveAsync(); } })); }