public async void IgnoresNonMatchedUser()
        {
            var users = new List <User>
            {
                new User {
                    Id = "BADID1", Presence = "away"
                },
                new User {
                    Id = "BADID2", Presence = "away"
                }
            };

            var mockState = new Mock <IBotState>();

            mockState.Setup(s => s.Users)
            .Returns(users)
            .Verifiable();

            var message = new PresenceChange
            {
                Type     = EventType.Message,
                User     = "******",
                Presence = "active"
            };

            var handler = new PresenceHandler();

            handler.BotState = mockState.Object;

            var result = await handler.HandleMessageAsync(message);

            mockState.Verify();
            Assert.Equal("away", users[0].Presence);
            Assert.Equal("away", users[1].Presence);
        }
Esempio n. 2
0
        public async void HandlesValidPresenceChange()
        {
            var users = new List<User>
            {
                new User { Id = "BADID", Presence = "away" },
                new User { Id = "USERID", Presence = "away" }
            };

            var mockState = new Mock<IBotState>();
            mockState.Setup(s => s.Users)
                     .Returns(users)
                     .Verifiable();

            var message = new PresenceChange
            {
                Type = EventType.Message,
                User = "******",
                Presence = "active"
            };

            var handler = new PresenceHandler();
            handler.BotState = mockState.Object;

            var result = await handler.HandleMessageAsync(message);

            mockState.Verify();
            Assert.Equal("away", users[0].Presence);
            Assert.Equal("active", users[1].Presence);
        }
Esempio n. 3
0
 public void PresenceChange(PresenceChange p)
 {
     if (OnPresenceChange != null)
     {
         OnPresenceChange(p, this);
     }
 }
Esempio n. 4
0
 public void HandlePresence(PresenceChange change)
 {
     UserLookup[change.user].presence = change.presence.ToString().ToLower();
     if (OnPresenceChangeReceived != null)
     {
         OnPresenceChangeReceived(UserLookup[change.user]);
     }
 }
Esempio n. 5
0
        public void CanHandlePresenceMessages()
        {
            var message = new PresenceChange { Type = EventType.PresenceChange };
            var handler = new PresenceHandler();

            var result = handler.CanHandle(message);

            Assert.True(result);
        }
        public void CanHandlePresenceMessages()
        {
            var message = new PresenceChange {
                Type = EventType.PresenceChange
            };
            var handler = new PresenceHandler();

            var result = handler.CanHandle(message);

            Assert.True(result);
        }
Esempio n. 7
0
 public void PresenceChange(PresenceChange p)
 {
 }
Esempio n. 8
0
 public void HandlePresence(PresenceChange change)
 {
     UserLookup[change.user].presence = change.presence.ToString().ToLower();
 }
Esempio n. 9
0
 /// <summary>
 /// Updates the client's presence
 /// </summary>
 public static void UpdatePresence(this DiscordSocketClient client, PresenceChange presence)
 {
     client.Send(GatewayOpcode.PresenceChange, presence);
 }
Esempio n. 10
0
 public void PresenceChange(PresenceChange p)
 {
     OnPresenceChanged?.Invoke(p);
 }
Esempio n. 11
0
 private void OnPresenceChanged(PresenceChange message)
 {
     _logger.LogDebug($"User is currently {message.presence}");
     _onPresenceChanged(message.presence != Presence.away);
 }