public void UnregisterAccountActivityStream(IAccountActivityStream accountActivityStream)
        {
            if (!_trackedStreams.Contains(accountActivityStream.AccountUserId))
            {
                return;
            }

            _trackedStreams.Remove(accountActivityStream.AccountUserId);

            // Tweet events
            accountActivityStream.TweetCreated    -= TweetCreated;
            accountActivityStream.TweetFavourited -= TweetFavourited;
            accountActivityStream.TweetDeleted    -= TweetDeleted;

            // Message events
            accountActivityStream.MessageReceived -= MessageReceived;
            accountActivityStream.MessageSent     -= MessageSent;

            accountActivityStream.UserIsTypingMessage -= UserIsTypingMessage;
            accountActivityStream.UserReadMessage     -= UserReadMessage;

            // User events
            accountActivityStream.UserFollowed   -= FollowedUser;
            accountActivityStream.UserUnfollowed -= UnfollowedUser;

            accountActivityStream.UserBlocked   -= UserBlocked;
            accountActivityStream.UserUnblocked -= UserUnblocked;

            accountActivityStream.UserMuted   += UserMuted;
            accountActivityStream.UserUnmuted += UserUnmuted;

            // Other events
            accountActivityStream.EventReceived            -= AccountActivityEvent;
            accountActivityStream.UnsupportedEventReceived -= UnmanagedEventReceived;
        }
Exemple #2
0
        private static void RegisterEvents(IAccountActivityStream stream, AccountActivtyEventsState state)
        {
            stream.EventReceived += (sender, args) => { state.EventsReceived.Add(args.Json); };

            stream.TweetCreated   += (sender, args) => { state.TweetCreated.Add(args); };
            stream.TweetDeleted   += (sender, args) => { state.TweetDeleted.Add(args); };
            stream.TweetFavorited += (sender, args) => { state.TweetFavorited.Add(args); };

            stream.UserFollowed   += (sender, args) => { state.UserFollowed.Add(args); };
            stream.UserUnfollowed += (sender, args) => { state.UserUnfollowed.Add(args); };

            stream.UserBlocked   += (sender, args) => { state.UserBlocked.Add(args); };
            stream.UserUnblocked += (sender, args) => { state.UserUnblocked.Add(args); };

            stream.UserMuted   += (sender, args) => { state.UserMuted.Add(args); };
            stream.UserUnmuted += (sender, args) => { state.UserUnmuted.Add(args); };

            stream.MessageReceived += (sender, args) => { state.MessageReceived.Add(args); };
            stream.MessageSent     += (sender, args) => { state.MessageSent.Add(args); };

            stream.UserIsTypingMessage         += (sender, args) => { state.UserTypingMessage.Add(args); };
            stream.UserReadMessageConversation += (sender, args) => { state.UserReadMessage.Add(args); };

            stream.UnexpectedExceptionThrown += (sender, args) => { state.UnexpectedException.Add(args); };
        }
Exemple #3
0
        public void SubscribeAccountActivityStream(IAccountActivityStream accountActivityStream)
        {
            if (_userAccountActivityStream.Contains(accountActivityStream))
            {
                return;
            }

            _userAccountActivityStream.Add(accountActivityStream);
        }
        public void RegisterAccountActivityStream(IAccountActivityStream accountActivityStream)
        {
            if (_trackedStreams.Contains(accountActivityStream.AccountUserId))
            {
                Console.WriteLine("You are already tracking this user, no need to do that again.");
                return;
            }

            _trackedStreams.Add(accountActivityStream.AccountUserId);

            Console.WriteLine($"Activities for user {accountActivityStream.AccountUserId} are now being tracked.");

            // Tweet events
            accountActivityStream.TweetCreated    += TweetCreated;
            accountActivityStream.TweetFavourited += TweetFavourited;
            accountActivityStream.TweetDeleted    += TweetDeleted;

            // Message events
            accountActivityStream.MessageReceived += MessageReceived;
            accountActivityStream.MessageSent     += MessageSent;

            accountActivityStream.UserIsTypingMessage += UserIsTypingMessage;
            accountActivityStream.UserReadMessage     += UserReadMessage;

            // User events
            accountActivityStream.UserFollowed   += FollowedUser;
            accountActivityStream.UserUnfollowed += UnfollowedUser;

            accountActivityStream.UserBlocked   += UserBlocked;
            accountActivityStream.UserUnblocked += UserUnblocked;

            accountActivityStream.UserMuted   += UserMuted;
            accountActivityStream.UserUnmuted += UserUnmuted;

            // Other events
            accountActivityStream.EventReceived            += AccountActivityEvent;
            accountActivityStream.UnsupportedEventReceived += UnmanagedEventReceived;
        }
Exemple #5
0
 public void RemoveActivityStream(IAccountActivityStream accountActivityStream)
 {
     WebhookDispatcher.UnsubscribeAccountActivityStream(accountActivityStream);
 }
Exemple #6
0
 public void AddActivityStream(IAccountActivityStream accountActivityStream)
 {
     WebhookDispatcher.SubscribeAccountActivityStream(accountActivityStream);
 }
Exemple #7
0
 public void UnsubscribeAccountActivityStream(IAccountActivityStream accountActivityStream)
 {
     _userAccountActivityStream.Remove(accountActivityStream);
 }