Method: MatrixSdk::Room#modify_user_power_levels

Defined in:
lib/matrix_sdk/room.rb

#modify_user_power_levels(users = nil, users_default = nil) ⇒ Boolean

Modifies the power levels of the room

Parameters:

  • users (Hash) (defaults to: nil)

    the user-specific power levels to set or remove

  • users_default (Hash) (defaults to: nil)

    the default user power levels to set

Returns:

  • (Boolean)

    if the change was successful



745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
# File 'lib/matrix_sdk/room.rb', line 745

def modify_user_power_levels(users = nil, users_default = nil)
  return false if users.nil? && users_default.nil?

  data = power_levels_without_cache
  tinycache_adapter.write(:power_levels, data)
  data[:users_default] = users_default unless users_default.nil?

  if users
    data[:users] = {} unless data.key? :users
    data[:users].merge!(users)
    data[:users].delete_if { |_k, v| v.nil? }
  end

  client.api.set_power_levels(id, data)
  true
end