public List <EmoteEntity> BuildFromSocketUserMessage(DiscordMessage message, ulong guildId)
        {
            var emojiStrings = _emoteParser.ExtractEmotesFromMessage(message.Content);

            var emotes = emojiStrings.Select(s =>
            {
                var parsedEmote = EmoteHelper.Parse(s);

                if (parsedEmote == null)
                {
                    throw new Exception($"{s} is not a valid emote string");
                }

                var emoteEntitiy = new EmoteEntity()
                {
                    EmoteId       = parsedEmote.Id,
                    EmoteName     = parsedEmote.Name,
                    EmoteAnimated = parsedEmote.Animated,
                    DateTime      = DateTime.Now,
                    UserId        = message.Author.Id,
                    MessageId     = message.Id,
                    GuildId       = guildId,
                    Source        = EmoteSource.Message
                };

                return(emoteEntitiy);
            }).ToList();

            return(emotes);
        }
        public async Task GetEmoteStats(CommandContext ctx, string emoteString, [RemainingText] StatsCommandArgs?args = null)
        {
            args ??= new StatsCommandArgs();

            var emoji = EmoteHelper.Parse(emoteString);

            if (emoji != null)
            {
                await GetEmoteStats(ctx, emoji, args.Interval);
            }
            else
            {
                await ctx.RespondAsync("I don't know what to do with this");
            }
        }