Create an entity which can fulfil the intent of a given user.
Ensures that the client has the required power level to post the event type.
Required as power levels exist inside a room.
Are we checking for state permissions or regular event permissions.
If found, the power level event
Ban a user from a room.
This will automatically make the client join the room so they can send the ban if they are not already joined.
The room to ban the user from.
The target of the ban operation.
Optional. The reason for the ban.
Resolved when banned, else rejected with an error.
Create a new alias mapping.
The room alias to create
The room ID the alias should point at.
Create a room with a set of options.
Options.
Create a widget in a room.
The room to create the widget in.
The widget ID
Options for the widget.
An eventID if the event was created.
Ensure that the user has the given profile information set. If it does not, set it.
The displayname to set. Leave undefined to ignore.
The avatar to set. Leave undefined to ignore.
Create a widget in a room, if one doesn't already exist
The room to create the widget in.
The widget ID
Options for the widget.
An eventID if the event was created, otherwise null.
Get an event in a room. This will automatically make the client join the room so they can get the event if they are not already joined.
The room to fetch the event from.
The eventId of the event to fetch.
Should the request attempt to lookup from the cache.
Resolves with the content of the event, or rejects if not found.
Get a user's profile information
The ID of the user whose profile to return
The profile field name to retrieve (e.g. 'displayname' or 'avatar_url'), or null to fetch the entire profile information.
Should the request attempt to lookup state from the cache.
A Promise that resolves with the requested user's profile information
Get a state event in a room. This will automatically make the client join the room so they can get the state if they are not already joined.
The room to get the state from.
The event type to fetch.
The state key of the event to fetch.
Return null on not found, rather than throwing
Invite a user to a room.
This will automatically make the client join the room so they can send the invite if they are not already joined.
The room to invite the user to.
The user ID to invite.
Resolved when invited, else rejected with an error.
Check if a room is encrypted. If it is, return the algorithm.
The room ID to be checked
The encryption algorithm or false
Join a room
This will automatically send an invite from the bot if it is an invite-only room, which may make the bot attempt to join the room if it isn't already.
The room ID or room alias to join.
The server names to try and join through in addition to those that are automatically chosen.
Kick a user from a room.
This will automatically make the client join the room so they can send the kick if they are not already joined.
The room to kick the user from.
The target of the kick operation.
Optional. The reason for the kick.
Resolved when kickked, else rejected with an error.
Leave a room
This will no-op if the user isn't in the room.
The room to leave.
An optional string to explain why the user left the room.
Inform this Intent class of an incoming event. Various optimisations will be done if this is provided. For example, a /join request won't be sent out if it knows you've already been joined to the room. This function does nothing if a backing store was provided to the Intent.
Resolve a roomId or alias into a roomId. If a roomId is given, it is immediately returned.
A roomId or alias to resolve.
Get the current room state for a room.
This will automatically make the client join the room so they can get the state if they are not already joined.
The room to get the state from.
Should the request attempt to lookup state from the cache.
Send a message event to a room.
This will automatically make the client join the room so they can send the message if they are not already joined. It will also make sure that the client has sufficient power level to do this.
The room to send to.
The event type
The event content
Send an m.room.message
event to a room.
This will automatically make the client join the room so they can send the message if they are not already joined. It will also make sure that the client has sufficient power level to do this.
The room to send to.
The event content
The eventId of the sent message
Send a read receipt to a room.
This will automatically make the client join the room so they can send the receipt event if they are not already joined.
The room to send to.
The event ID to set the receipt mark to.
Send a state event to a room.
This will automatically make the client join the room so they can send the state if they are not already joined. It will also make sure that the client has sufficient power level to do this.
The room to send to.
The event type
The state key
The event content
The event ID wrapped inside an object (for legacy reasons)
Send a plaintext message to a room.
This will automatically make the client join the room so they can send the message if they are not already joined. It will also make sure that the client has sufficient power level to do this.
The room to send to.
The text string to send.
The Matrix event ID.
Send a typing event to a room.
This will automatically make the client join the room so they can send the typing event if they are not already joined.
The room to send to.
True if typing
Set the user's avatar URL
The new avatar URL
Set the user's display name
The new display name
Set the power level of the given target.
The room to set the power level in.
The target user ID
The desired level. Undefined will remove the users custom power level.
Set the presence of this user.
One of "online", "offline" or "unavailable".
Resolves if the presence was set or no-oped, rejects otherwise.
Set the avatar of a room.
This will automatically make the client join the room so they can set the topic if they are not already joined. It will also make sure that the client has sufficient power level to do this.
The room to send to.
The url of the avatar.
Extra information about the image. See m.room.avatar for details.
Set the visibility of a room in the homeserver's room directory.
The room
Should the room be visible
Set the visibility of a room in the appservice's room directory.
This only works if you have defined the protocol
in the registration file.
The room
The network (not protocol) that owns this room. E.g. "freenode" (for an IRC bridge)
Should the room be visible
Set the name of a room.
This will automatically make the client join the room so they can set the name if they are not already joined. It will also make sure that the client has sufficient power level to do this.
The room to send to.
The room name.
The Matrix event ID.
Set the topic of a room.
This will automatically make the client join the room so they can set the topic if they are not already joined. It will also make sure that the client has sufficient power level to do this.
The room to send to.
The room topic.
Unban a user from a room.
This will automatically make the client join the room so they can send the unban if they are not already joined.
The room to unban the user from.
The target of the unban operation.
Resolved when unbanned, else rejected with an error.
Signals that an error occured while handling an event by the bridge.
Warning: This function is unstable and is likely to change pending the outcome of https://github.com/matrix-org/matrix-doc/pull/2162.
ID of the room in which the error occured.
ID of the event for which the error occured.
Name of the bridged network.
The reason why the bridge error occured.
Array of regex matching all affected users.
Upload a file to the homeserver.
The file contents
Additional options for the upload.
A MXC URL pointing to the uploaded data.
Generated using TypeDoc
Implements some special handling on top of Intent to handle encrypted rooms.