/// <summary>
        /// Gets all messages associated with the specified chat (returns up to 100 entries).
        /// </summary>
        /// <param name="roomId">The chat room id.</param>
        /// <param name="parameters">The options.</param>
        /// <returns>The response data.</returns>
        public ResponseData <DataType> GetRoomMessages(long roomId, ParametersType parameters = null)
        {
            var path = string.Format(CultureInfo.InvariantCulture, Path.RoomMessages, roomId);

            return(Communicator.Get <DataType, ParametersType>(path, parameters));
        }
        /// <summary>
        /// Gets all messages associated with the specified chat asynchronously (returns up to 100 entries).
        /// </summary>
        /// <param name="roomId">The chat room id.</param>
        /// <param name="parameters">The options.</param>
        /// <returns>The response data.</returns>
        public async Task <ResponseData <DataType> > GetRoomMessagesAsync(long roomId, ParametersType parameters = null)
        {
            var path = string.Format(CultureInfo.InvariantCulture, Path.RoomMessages, roomId);

            return(await Communicator.CreateGetTask <DataType, ParametersType>(path, parameters)
                   .ConfigureAwait(false));
        }
 /// <summary>
 /// Gets all messages associated with the specified chat asynchronously (returns up to 100 entries).
 /// </summary>
 /// <param name="token">The API token.</param>
 /// <param name="callback">The callback action.</param>
 /// <param name="roomId">The chat room id.</param>
 /// <param name="parameters">The options.</param>
 public static async void GetRoomMessagesAsync(string token, Action <ResponseData <DataType> > callback, long roomId, ParametersType parameters = null)
 {
     var path = string.Format(CultureInfo.InvariantCulture, Path.RoomMessages, roomId);
     await APICommunicator.CreateGetTask(token, callback, path, parameters)
     .ConfigureAwait(false);
 }