Ejemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="message"></param>
        /// <param name="options"></param>
        /// <param name="siteOptions"></param>
        /// <param name="user">null可</param>
        /// <param name="cp"></param>
        /// <param name="isFirstComment"></param>
        public MessageMetadataBase(ICommentOptions options, IWhowatchSiteOptions siteOptions, ICommentProvider cp)
        {
            _options        = options;
            _siteOptions    = siteOptions;
            CommentProvider = cp;

            options.PropertyChanged     += Options_PropertyChanged;
            siteOptions.PropertyChanged += SiteOptions_PropertyChanged;
        }
 public WhowatchCommentProvider(IDataServer server, ICommentOptions options, IWhowatchSiteOptions siteOptions, IUserStoreManager userStoreManager, ILogger logger)
 {
     _server                = server;
     _options               = options;
     _siteOptions           = siteOptions;
     _userStoreManager      = userStoreManager;
     _logger                = logger;
     CanConnect             = true;
     CanDisconnect          = false;
     _elapsedTimer.Interval = 500;
     _elapsedTimer.Elapsed += ElapsedTimer_Elapsed;
 }
Ejemplo n.º 3
0
        public override void LoadOptions(string path, IIo io)
        {
            _siteOptions = CreateWhowatchSiteOptions();
            try
            {
                var s = io.ReadFile(path);

                _siteOptions.Deserialize(s);
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
                _logger.LogException(ex, "", $"path={path}");
            }
        }
        public WhowatchCommentViewModel(Comment comment, ICommentOptions options, IWhowatchSiteOptions siteOptions, IUser user, ICommentProvider cp, bool isFirstComment)
            : base(options, user, cp, isFirstComment)
        {
            _siteOptions = siteOptions;
            _user        = user;
            Id           = comment.Id.ToString();

            var name = comment.User.Name;

            user.Name = new List <IMessagePart> {
                MessagePartFactory.CreateMessageText(name)
            };
            var message = comment.Message;

            if (siteOptions.NeedAutoSubNickname)
            {
                var nick = ExtractNickname(message);
                if (!string.IsNullOrEmpty(nick))
                {
                    user.Nickname = nick;
                }
            }
            NameItemsInternal = new List <IMessagePart> {
                MessagePartFactory.CreateMessageText(name)
            };
            MessageItems = new List <IMessagePart> {
                MessagePartFactory.CreateMessageText(message)
            };

            var iconUrl = !string.IsNullOrEmpty(comment.User.IconUrl) ? comment.User.IconUrl : DefaultUserIconUrl;

            Thumbnail = new MessageImage {
                Url = iconUrl
            };

            Init();
        }
 public ItemMessageMetadata(IWhowatchItem message, ICommentOptions options, IWhowatchSiteOptions siteOptions, IUser user, ICommentProvider cp)
     : base(options, siteOptions, cp)
 {
     User = user;
     user.PropertyChanged += User_PropertyChanged;
 }
        public WhowatchCommentViewModel(Comment comment, Dictionary <long, PlayItem> itemDict, ICommentOptions options, IWhowatchSiteOptions siteOptions, IUser user, ICommentProvider cp, bool isFirstComment)
            : base(options, user, cp, isFirstComment)
        {
            _siteOptions = siteOptions;
            _user        = user;
            if (comment.CommentType == "BY_PLAYITEM")
            {
                MessageType = MessageType.BroadcastInfo;
            }
            else
            {
                MessageType = MessageType.Comment;
            }

            if (comment.CommentType == "BY_PLAYITEM")
            {
                CommentType = CommentType.Item;
                if (itemDict.TryGetValue(comment.PlayItemPatternId.Value, out PlayItem item))
                {
                    Info = $"{item.Name}×{comment.ItemCount}";
                }
            }

            Id = comment.Id.ToString();

            var name = comment.User.Name;

            user.Name = new List <IMessagePart> {
                MessagePartFactory.CreateMessageText(name)
            };
            var message = comment.Message;

            if (siteOptions.NeedAutoSubNickname)
            {
                var nick = ExtractNickname(message);
                if (!string.IsNullOrEmpty(nick))
                {
                    user.Nickname = nick;
                }
            }
            if (user == null || string.IsNullOrEmpty(user.Nickname))
            {
                NameItemsInternal = new List <IMessagePart> {
                    MessagePartFactory.CreateMessageText(name)
                };
            }
            else
            {
                NameItemsInternal = new List <IMessagePart> {
                    MessagePartFactory.CreateMessageText(user.Nickname)
                };
            }
            MessageItems = new List <IMessagePart> {
                MessagePartFactory.CreateMessageText(message)
            };

            var iconUrl = !string.IsNullOrEmpty(comment.User.IconUrl) ? comment.User.IconUrl : DefaultUserIconUrl;

            Thumbnail = new MessageImage {
                Url = iconUrl
            };
        }
 public CommentMessageMetadata(IWhowatchMessage message, ICommentOptions options, IWhowatchSiteOptions siteOptions, IUser user, ICommentProvider cp, bool isFirstComment)
     : base(options, siteOptions, cp)
 {
     User                  = user;
     IsFirstComment        = isFirstComment;
     user.PropertyChanged += User_PropertyChanged;
 }
 public MetadataProvider(IDataServer server, IWhowatchSiteOptions siteOptions)
 {
     _server      = server;
     _siteOptions = siteOptions;
 }