public McvMirrativCommentViewModel(MirrativSitePlugin.IMirrativJoinRoom item, IMessageMetadata metadata, IMessageMethods methods, IConnectionStatus connectionStatus, IOptions options)
            : this(metadata, methods, connectionStatus, options)
        {
            var comment = item;

            _message = comment;

            _nameItems   = MessagePartFactory.CreateMessageItems(comment.UserName);
            MessageItems = MessagePartFactory.CreateMessageItems(comment.Text);
            Thumbnail    = comment.UserIcon;
            Id           = null;
            PostTime     = comment.PostTime;
        }
        public McvMirrativCommentViewModel(MirrativSitePlugin.IMirrativItem item, IMessageMetadata metadata, IMessageMethods methods, IConnectionStatus connectionStatus, IOptions options)
            : this(metadata, methods, connectionStatus, options)
        {
            var comment = item;

            _message = comment;

            _nameItems   = MessagePartFactory.CreateMessageItems(comment.UserName);
            MessageItems = MessagePartFactory.CreateMessageItems(comment.Text);
            Thumbnail    = null;
            Id           = item.Id;
            PostTime     = comment.PostedAt.ToString("HH:mm:ss");
        }
 private void P1_MessageReceived(object sender, IInternalMessage e)
 {
     if (e is Kind1Type1 kind1Type1)
     {
         var message        = new PeriscopeComment(kind1Type1);
         var userId         = message.UserId;
         var isFirstComment = _first.IsFirstComment(userId);
         var user           = GetUser(userId);
         user.Name = MessagePartFactory.CreateMessageItems(message.Text);
         var metadata = CreateMessageMetadata(message, user, isFirstComment);
         var methods  = new MessageMethods();
         RaiseMessageReceived(new MessageContext(message, metadata, methods));
     }
     else if (e is Kind2Kind1 kind2kind1)
     {
         if (!_siteOptions.IsShowJoinMessage)
         {
             //取得する必要がないため無視する
             return;
         }
         var message        = new PeriscopeJoin(kind2kind1);
         var userId         = message.UserId;
         var isFirstComment = false;
         var user           = GetUser(userId);
         user.Name = MessagePartFactory.CreateMessageItems(message.DisplayName);
         var metadata = CreateMessageMetadata(message, user, isFirstComment);
         var methods  = new MessageMethods();
         RaiseMessageReceived(new MessageContext(message, metadata, methods));
     }
     else if (e is Kind2Kind2 kind2Kind2)
     {
         if (!_siteOptions.IsShowLeaveMessage)
         {
             //取得する必要がないため無視する
             return;
         }
         var message        = new PeriscopeLeave(kind2Kind2);
         var userId         = message.UserId;
         var isFirstComment = false;
         var user           = GetUser(userId);
         user.Name = MessagePartFactory.CreateMessageItems(message.DisplayName);
         var metadata = CreateMessageMetadata(message, user, isFirstComment);
         var methods  = new MessageMethods();
         RaiseMessageReceived(new MessageContext(message, metadata, methods));
     }
 }
 public NicoCommentViewModel(NicoSitePlugin.INicoComment comment, IMessageMetadata metadata, IMessageMethods methods, IConnectionStatus connectionStatus, IOptions options)
     : this(comment as NicoSitePlugin.INicoMessage, metadata, methods, connectionStatus, options)
 {
     if (!string.IsNullOrEmpty(comment.UserName))
     {
         _nameItems = MessagePartFactory.CreateMessageItems(comment.UserName);
     }
     MessageItems = MessagePartFactory.CreateMessageItems(comment.Text);
     if (IsValudThumbnailUrl(comment.ThumbnailUrl))
     {
         Thumbnail = new MessageImage
         {
             Url    = comment.ThumbnailUrl,
             Height = 40,
             Width  = 40,
         };
     }
     Id       = comment.Id;
     PostTime = comment.PostedAt.ToLocalTime().ToString("HH:mm:ss");
 }
예제 #5
0
 public McvMildomCommentViewModel(MildomSitePlugin.IMildomGift gift, IMessageMetadata metadata, IMessageMethods methods, IConnectionStatus connectionStatus, IOptions options)
     : this(metadata, methods, connectionStatus, options)
 {
     _message     = gift;
     MessageItems = new List <IMessagePart>
     {
         new MessageImage
         {
             Alt    = gift.GiftName,
             Url    = gift.GiftUrl,
             Width  = 40,
             Height = 40,
         },
         MessagePartFactory.CreateMessageText($"を贈りました × {gift.Count}"),
     };
     _nameItems = MessagePartFactory.CreateMessageItems(gift.UserName);
     //MessageItems = comment.CommentItems;
     //Thumbnail = null;
     //Id = null;
     PostTime = gift.PostedAt.ToString("HH:mm:ss");
     Info     = gift.GiftName;
 }