public async Task <string> Unban(SocketGuild guild, ulong userId) { var ban = banRepo.GetUser(guild.Id, userId); if (ban != null) { await guild.RemoveBanAsync(userId); await banRepo.Unban(guild.Id, userId); var user = guild.GetUser(userId); return(user == null ? $"ID: {userId} unbanned." : $"{Formatter.FullName(user, true)} unbanned."); } else { var user = client.GetUser(userId); return($"{Formatter.FullName(user, true)} is not banned."); } }
private async Task UserLeft(SocketGuildUser user) { if ((await banRepo.GetUser(user.Guild.Id, user.Id)) != null) { return; } var guild = user.Guild; var(foundChannel, logChannel) = await TryGetLogChannel(guild); if (!foundChannel) { return; } var sb = new StringBuilder(); sb.AppendLine($"{Formatter.NowBlock()} {Emotes.Outbox} {Formatter.FullName(user, true)} left or was kicked from the server."); if (user.JoinedAt.HasValue) { var span = DateTime.UtcNow - user.JoinedAt.Value; sb.AppendLine($"Joined: {user.JoinedAt.Value.ToString("r")} ({Formatter.TimespanToString(span)} ago)"); } await logChannel.SendMessageAsync(sb.ToString()); }