Пример #1
0
        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.");
            }
        }
Пример #2
0
        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());
        }