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); }
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); }
public void PresenceChange(PresenceChange p) { if (OnPresenceChange != null) { OnPresenceChange(p, this); } }
public void HandlePresence(PresenceChange change) { UserLookup[change.user].presence = change.presence.ToString().ToLower(); if (OnPresenceChangeReceived != null) { OnPresenceChangeReceived(UserLookup[change.user]); } }
public void CanHandlePresenceMessages() { var message = new PresenceChange { Type = EventType.PresenceChange }; var handler = new PresenceHandler(); var result = handler.CanHandle(message); Assert.True(result); }
public void PresenceChange(PresenceChange p) { }
public void HandlePresence(PresenceChange change) { UserLookup[change.user].presence = change.presence.ToString().ToLower(); }
/// <summary> /// Updates the client's presence /// </summary> public static void UpdatePresence(this DiscordSocketClient client, PresenceChange presence) { client.Send(GatewayOpcode.PresenceChange, presence); }
public void PresenceChange(PresenceChange p) { OnPresenceChanged?.Invoke(p); }
private void OnPresenceChanged(PresenceChange message) { _logger.LogDebug($"User is currently {message.presence}"); _onPresenceChanged(message.presence != Presence.away); }