public void Execute(Room room, ref EventManager evMan, Dictionary<string, object> data) { // No point parsing all this data if no one's listening. if (!evMan.ConnectedListeners.ContainsKey(EventType.MessageStarToggled)) { return; } if (data.ContainsKey("user_id") && room.IgnoreOwnEvents) { return; } var id = int.Parse(data["message_id"].ToString()); var starCount = 0; var pinCount = 0; if (data.ContainsKey("message_stars") && data["message_stars"] != null) { starCount = int.Parse(data["message_stars"].ToString()); } if (data.ContainsKey("message_owner_stars") && data["message_owner_stars"] != null) { pinCount = int.Parse(data["message_owner_stars"].ToString()); } var message = room[id]; evMan.TrackMessage(message); evMan.CallListeners(EventType.MessageStarToggled, message, starCount, pinCount); }
public void Execute(Room room, ref EventManager evMan, Dictionary<string, object> data) { // No point parsing all this data if no one's listening. if (!evMan.ConnectedListeners.ContainsKey(EventType.MessageReply)) { return; } var authorID = int.Parse(data["user_id"].ToString()); if (authorID == room.Me.ID && room.IgnoreOwnEvents) { return; } var id = int.Parse(data["message_id"].ToString()); var parentID = int.Parse(data["parent_id"].ToString()); var parent = room[parentID]; var message = new Message(room, id, room.GetUser(authorID), parentID); evMan.TrackMessage(parent); evMan.TrackMessage(message); evMan.CallListeners(EventType.MessageReply, parent, message); }