Exemplo n.º 1
0
        private YouTubeLiveMessageContext CreateMessageContext2(InternalMembership comment, bool isInitialComment)
        {
            IYouTubeLiveMessage        message;
            IEnumerable <IMessagePart> commentItems;
            IEnumerable <IMessagePart> nameItems;

            var a = new YouTubeLiveMembership(comment);

            message      = a;
            nameItems    = a.NameItems;
            commentItems = a.CommentItems;

            var metadata = CreateMetadata(message, isInitialComment);
            var methods  = new YouTubeLiveMessageMethods();

            if (_siteOptions.IsAutoSetNickname)
            {
                var user        = metadata.User;
                var messageText = Common.MessagePartsTools.ToText(commentItems);
                var nick        = SitePluginCommon.Utils.ExtractNickname(messageText);
                if (!string.IsNullOrEmpty(nick))
                {
                    user.Nickname = nick;
                }
            }
            metadata.User.Name = nameItems;
            return(new YouTubeLiveMessageContext(message, metadata, methods));
        }
Exemplo n.º 2
0
 public YouTubeLiveMembership(Next.InternalMembership comment) : base("")
 {
     UserId       = comment.UserId;
     Id           = comment.Id;
     CommentItems = comment.MessageItems;
     NameItems    = comment.NameItems;
     UserIcon     = new Common.MessageImage
     {
         Height = comment.ThumbnailHeight,
         Width  = comment.ThumbnailWidth,
         Url    = comment.ThumbnailUrl,
     };
     PostedAt = SitePluginCommon.Utils.UnixtimeToDateTime(comment.TimestampUsec / (1000 * 1000));
 }
Exemplo n.º 3
0
        private static IInternalMessage ParseLiveChatMembershipItemRenderer(dynamic ren)
        {
            var ahh = new InternalMembership
            {
                UserId        = (string)ren.authorExternalChannelId,
                TimestampUsec = long.Parse((string)ren.timestampUsec),
                Id            = (string)ren.id
            };

            //authorPhoto
            (ahh.ThumbnailUrl, ahh.ThumbnailWidth, ahh.ThumbnailHeight) = (ValueTuple <string, int, int>)GetThumbnail(ren.authorPhoto);
            //message
            ahh.MessageItems = (List <IMessagePart>)ParseRunsOrSimpleText(ren.headerSubtext);
            //name
            ahh.NameItems = (List <IMessagePart>)GetNameParts(ren);
            return(ahh);
        }