table of contents
Net::Async::Matrix::Room::State(3pm) | User Contributed Perl Documentation | Net::Async::Matrix::Room::State(3pm) |
NAME¶
"Net::Async::Matrix::Room::State" - represents the state events in a matrix room
DESCRIPTION¶
Instances of this class represent all of the known state events in a Net::Async::Matrix::Room at some instant in time. These objects are mutable so a "live" state object obtained from a room will change to keep track of newly received state events.
METHODS¶
get_event¶
$event = $state->get_event( $type, $state_key )
Returns a HASH reference containing the raw event stored for the given type name and optional state key.
get_events¶
$events = $state->get_events( $type )
Returns a multi-level HASH reference mapping all of the known state keys for a given event type name to their raw stored events. Typically this is useful for "m.room.member" events as the state keys will be user IDs.
CONVENIENCE ACCESSORS¶
The following accessors all fetch single values out of certain events, as they are commonly used.
name¶
$name = $state->name
Returns the "name" field of the "m.room.name" event, if it exists.
join_rule¶
$join_rule = $state->join_rule
Returns the "join_rule" field of the "m.room.join_rules" event, if it exists.
topic¶
$topic = $state->topic
Returns the "topic" field of the "m.room.topic" event, if it exists.
aliases¶
@aliases = $state->aliases
Returns a list of the room alias from all the "m.room.aliases" events, in no particular order.
members¶
@members = $state->members
Returns a list of Member instances representing all of the members of the room from the "m.room.member" events whose membership state is not "leave".
all_members¶
@members = $state->members
Similar to "members" but even includes members in "leave" state. This is not normally what you want.
member¶
$member = $state->member( $user_id )
Returns a Member instance representing a room member of the given user ID, or "undef" if none exists.
member_level¶
$level = $state->member_level( $user_id )
Returns a number indicating the power level that the given user ID would have according to room state, taken from the "m.room.power_levels" event. This takes into account the "users_default" field, if no specific level exists for the given user ID.
AUTHOR¶
Paul Evans <leonerd@leonerd.org.uk>
2022-12-10 | perl v5.36.0 |