Method: MatrixSdk::Protocols::CS#get_room_state

Defined in:
lib/matrix_sdk/protocols/cs.rb

#get_room_state(room_id, state_type = nil, key: nil, **params) ⇒ Response

Reads the latest instance of a room state event

Parameters:

  • room_id (MXID, String)

    The room ID to read from

  • state_type (String) (defaults to: nil)

    The state type to read

Returns:

  • (Response)

    A response hash with the contents of the state event

See Also:



478
479
480
481
482
483
484
485
486
487
# File 'lib/matrix_sdk/protocols/cs.rb', line 478

def get_room_state(room_id, state_type = nil, key: nil, **params)
  query = {}
  query[:user_id] = params.delete(:user_id) if protocol?(:AS) && params.key?(:user_id)

  room_id = ERB::Util.url_encode room_id.to_s
  state_type = ERB::Util.url_encode state_type.to_s
  key = ERB::Util.url_encode key.to_s

  request(:get, :client_r0, "/rooms/#{room_id}/state#{state_type.empty? ? nil : "/#{state_type}"}#{key.empty? ? nil : "/#{key}"}", query: query)
end