public SimpleResponse RegisterForNotifications(ServerNotifyRegisterEvent eventSource)
 {
     return RegisterForNotifications(eventSource, null);
 }
        /// <summary>
        /// Registers for a specified category of events on a virtual server to receive notification messages. Depending on
        /// the notifications you've registered for, the server will send you a message on every event in the view of your
        /// ServerQuery client (e.g. clients joining your channel, incoming text messages, server configuration changes,
        /// etc). The event source is declared by the event parameter while id can be used to limit the notifications to a specific channel.
        /// </summary>
        /// <param name="eventSource">the event to register for</param>
        /// <param name="channelId">the optional channel id</param>
        public SimpleResponse RegisterForNotifications(ServerNotifyRegisterEvent eventSource, uint? channelId)
        {
            Command command = CommandName.ServerNotifyRegister.CreateCommand();
            command.AddParameter("event", eventSource.ToString().ToLower());

            if (channelId.HasValue)
                command.AddParameter("id", channelId.Value);

            return ResponseBase<SimpleResponse>.Parse(SendCommand(command));
        }
 public ServerNotifyRegisterCommand(ServerNotifyRegisterEvent eventSource, uint?channelId = null) : this(eventSource.ToString(), channelId)
 {
 }