|
| InviteBy3PIDJob (std::string serverUrl, std::string _accessToken, std::string roomId, std::string idServer, std::string idAccessToken, std::string medium, std::string address) |
| Invite a user to participate in a particular room. More...
|
|
InviteBy3PIDJob | withData (JsonWrap j) && |
|
InviteBy3PIDJob | withData (JsonWrap j) const & |
|
| BaseJob (std::string serverUrl, std::string requestUrl, Method method, std::string jobId, std::string token={}, ReturnType returnType=ReturnType::Json, Body body=EmptyBody{}, Query query={}, Header header={}, std::optional< FileDesc > responseFile=std::nullopt) |
|
| ~BaseJob () |
|
bool | shouldReturnJson () const |
|
std::string | url () const |
|
Body | requestBody () const |
|
Header | requestHeader () const |
|
ReturnType | returnType () const |
|
Query | requestQuery () const |
| returns the non-encoded query as an array of pairs More...
|
|
Method | requestMethod () const |
|
Response | genResponse (Response r) const |
|
BaseJob | withData (JsonWrap j) && |
|
BaseJob | withData (JsonWrap j) const & |
|
BaseJob | withQueue (std::string id, JobQueuePolicy policy=AlwaysContinue) && |
|
BaseJob | withQueue (std::string id, JobQueuePolicy policy=AlwaysContinue) const & |
|
json | dataJson (const std::string &key) const |
|
std::string | dataStr (const std::string &key) const |
|
std::string | jobId () const |
|
std::optional< std::string > | queueId () const |
|
JobQueuePolicy | queuePolicy () const |
|
std::optional< FileDesc > | responseFile () const |
|
Invite a user to participate in a particular room.
Note that there are two forms of this API, which are documented separately. This version of the API does not require that the inviter know the Matrix identifier of the invitee, and instead relies on third party identifiers. The homeserver uses an identity server to perform the mapping from third party identifier to a Matrix identifier. The other is documented in the joining rooms section.
This API invites a user to participate in a particular room. They do not start participating in the room until they actually join the room.
Only users currently in a particular room can invite other users to join that room.
If the identity server did know the Matrix user identifier for the third party identifier, the homeserver will append a m.room.member
event to the room.
If the identity server does not know a Matrix user identifier for the passed third party identifier, the homeserver will issue an invitation which can be accepted upon providing proof of ownership of the third party identifier. This is achieved by the identity server generating a token, which it gives to the inviting homeserver. The homeserver will add an m.room.third_party_invite
event into the graph for the room, containing that token.
When the invitee binds the invited third party identifier to a Matrix user ID, the identity server will give the user a list of pending invitations, each containing:
- The room ID to which they were invited
- The token given to the homeserver
- A signature of the token, signed with the identity server's private key
- The matrix user ID who invited them to the room
If a token is requested from the identity server, the homeserver will append a m.room.third_party_invite
event to the room.