using Discord;
using Discord.WebSocket;

namespace JhinBot.Services
{
    public interface IUserAuditLogService : IService
    {
        EmbedBuilder UserJoinedEmbed(SocketGuildUser guildUser);
        EmbedBuilder UserLeftEmbed(SocketGuildUser guildUser);
        EmbedBuilder UserBannedEmbed(SocketUser user);
        EmbedBuilder UserUnbannedEmbed(SocketUser user);

        EmbedBuilder MessageReceivedEmbed(SocketMessage message);
        EmbedBuilder MessageDeletedEmbed(IMessage message, SocketGuildChannel messageChannel);
        EmbedBuilder MessageUpdatedEmbed(IMessage oldMessage, SocketMessage updatedMessage, SocketGuildChannel messageChannel);

        // resolved on GuildMemberUpdated event
        EmbedBuilder NicknameUpdatedEmbed(SocketGuildUser oldMember, SocketGuildUser updatedMember);

        // resolved on UserUpdated event
        EmbedBuilder UsernameUpdatedEmbed(SocketUser updatedUser, SocketUser oldUser);
        EmbedBuilder UserAvatarUpdatedEmbed(SocketUser updatedUser, SocketUser oldUser);
    }
}
