async-matrix 0.1.3 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +131 -0
- data/data/discord-api-spec/openapi.json +40404 -0
- data/data/matrix-spec/api/client-server/account-data.yaml +389 -0
- data/data/matrix-spec/api/client-server/account_deactivation.yaml +149 -0
- data/data/matrix-spec/api/client-server/admin.yaml +512 -0
- data/data/matrix-spec/api/client-server/administrative_contact.yaml +620 -0
- data/data/matrix-spec/api/client-server/appservice_ping.yaml +183 -0
- data/data/matrix-spec/api/client-server/appservice_room_directory.yaml +104 -0
- data/data/matrix-spec/api/client-server/authed-content-repo.yaml +590 -0
- data/data/matrix-spec/api/client-server/banning.yaml +177 -0
- data/data/matrix-spec/api/client-server/capabilities.yaml +235 -0
- data/data/matrix-spec/api/client-server/content-repo.yaml +887 -0
- data/data/matrix-spec/api/client-server/create_room.yaml +306 -0
- data/data/matrix-spec/api/client-server/cross_signing.yaml +300 -0
- data/data/matrix-spec/api/client-server/definitions/auth_data.yaml +34 -0
- data/data/matrix-spec/api/client-server/definitions/auth_response.yaml +62 -0
- data/data/matrix-spec/api/client-server/definitions/client_device.yaml +44 -0
- data/data/matrix-spec/api/client-server/definitions/client_event.yaml +49 -0
- data/data/matrix-spec/api/client-server/definitions/client_event_without_room_id.yaml +147 -0
- data/data/matrix-spec/api/client-server/definitions/cross_signing_key.yaml +57 -0
- data/data/matrix-spec/api/client-server/definitions/device_keys.yaml +70 -0
- data/data/matrix-spec/api/client-server/definitions/errors/error.yaml +26 -0
- data/data/matrix-spec/api/client-server/definitions/errors/rate_limited.yaml +34 -0
- data/data/matrix-spec/api/client-server/definitions/event_batch.yaml +22 -0
- data/data/matrix-spec/api/client-server/definitions/event_filter.yaml +55 -0
- data/data/matrix-spec/api/client-server/definitions/invite_3pid.yaml +45 -0
- data/data/matrix-spec/api/client-server/definitions/key_backup_auth_data.yaml +36 -0
- data/data/matrix-spec/api/client-server/definitions/key_backup_data.yaml +50 -0
- data/data/matrix-spec/api/client-server/definitions/key_backup_session_data.yaml +57 -0
- data/data/matrix-spec/api/client-server/definitions/m.login.terms_params.yaml +83 -0
- data/data/matrix-spec/api/client-server/definitions/m.mentions.yaml +33 -0
- data/data/matrix-spec/api/client-server/definitions/m.oauth_params.yaml +30 -0
- data/data/matrix-spec/api/client-server/definitions/m.relates_to.yaml +45 -0
- data/data/matrix-spec/api/client-server/definitions/megolm_export_session_data.yaml +39 -0
- data/data/matrix-spec/api/client-server/definitions/olm_payload.yaml +88 -0
- data/data/matrix-spec/api/client-server/definitions/one_time_keys.yaml +27 -0
- data/data/matrix-spec/api/client-server/definitions/openid_token.yaml +37 -0
- data/data/matrix-spec/api/client-server/definitions/protocol.yaml +44 -0
- data/data/matrix-spec/api/client-server/definitions/public_rooms_chunk.yaml +74 -0
- data/data/matrix-spec/api/client-server/definitions/public_rooms_response.yaml +59 -0
- data/data/matrix-spec/api/client-server/definitions/push_condition.yaml +53 -0
- data/data/matrix-spec/api/client-server/definitions/push_rule.yaml +53 -0
- data/data/matrix-spec/api/client-server/definitions/push_ruleset.yaml +206 -0
- data/data/matrix-spec/api/client-server/definitions/recent_emoji.yaml +29 -0
- data/data/matrix-spec/api/client-server/definitions/request_email_validation.yaml +36 -0
- data/data/matrix-spec/api/client-server/definitions/request_msisdn_validation.yaml +36 -0
- data/data/matrix-spec/api/client-server/definitions/request_token_response.yaml +46 -0
- data/data/matrix-spec/api/client-server/definitions/room_event_filter.yaml +60 -0
- data/data/matrix-spec/api/client-server/definitions/room_key_backup.yaml +37 -0
- data/data/matrix-spec/api/client-server/definitions/room_summary.yaml +44 -0
- data/data/matrix-spec/api/client-server/definitions/security.yaml +47 -0
- data/data/matrix-spec/api/client-server/definitions/sso_login_flow.yaml +98 -0
- data/data/matrix-spec/api/client-server/definitions/state_event_batch.yaml +21 -0
- data/data/matrix-spec/api/client-server/definitions/sync_filter.yaml +86 -0
- data/data/matrix-spec/api/client-server/definitions/tag.yaml +24 -0
- data/data/matrix-spec/api/client-server/definitions/third_party_signed.yaml +45 -0
- data/data/matrix-spec/api/client-server/definitions/timeline_batch.yaml +36 -0
- data/data/matrix-spec/api/client-server/definitions/user_identifier.yaml +27 -0
- data/data/matrix-spec/api/client-server/definitions/wellknown/full.yaml +38 -0
- data/data/matrix-spec/api/client-server/definitions/wellknown/homeserver.yaml +25 -0
- data/data/matrix-spec/api/client-server/definitions/wellknown/identity_server.yaml +25 -0
- data/data/matrix-spec/api/client-server/device_management.yaml +314 -0
- data/data/matrix-spec/api/client-server/directory.yaml +318 -0
- data/data/matrix-spec/api/client-server/event_context.yaml +161 -0
- data/data/matrix-spec/api/client-server/filter.yaml +224 -0
- data/data/matrix-spec/api/client-server/inviting.yaml +149 -0
- data/data/matrix-spec/api/client-server/joining.yaml +238 -0
- data/data/matrix-spec/api/client-server/key_backup.yaml +993 -0
- data/data/matrix-spec/api/client-server/keys.yaml +482 -0
- data/data/matrix-spec/api/client-server/kicking.yaml +110 -0
- data/data/matrix-spec/api/client-server/knocking.yaml +152 -0
- data/data/matrix-spec/api/client-server/leaving.yaml +163 -0
- data/data/matrix-spec/api/client-server/list_joined_rooms.yaml +68 -0
- data/data/matrix-spec/api/client-server/list_public_rooms.yaml +280 -0
- data/data/matrix-spec/api/client-server/login.yaml +321 -0
- data/data/matrix-spec/api/client-server/login_token.yaml +138 -0
- data/data/matrix-spec/api/client-server/logout.yaml +86 -0
- data/data/matrix-spec/api/client-server/message_pagination.yaml +194 -0
- data/data/matrix-spec/api/client-server/notifications.yaml +152 -0
- data/data/matrix-spec/api/client-server/oauth_server_metadata.yaml +238 -0
- data/data/matrix-spec/api/client-server/old_sync.yaml +379 -0
- data/data/matrix-spec/api/client-server/openid.yaml +98 -0
- data/data/matrix-spec/api/client-server/password_management.yaml +246 -0
- data/data/matrix-spec/api/client-server/peeking_events.yaml +122 -0
- data/data/matrix-spec/api/client-server/policy_server.yaml +82 -0
- data/data/matrix-spec/api/client-server/presence.yaml +169 -0
- data/data/matrix-spec/api/client-server/profile.yaml +366 -0
- data/data/matrix-spec/api/client-server/pusher.yaml +303 -0
- data/data/matrix-spec/api/client-server/pushrules.yaml +633 -0
- data/data/matrix-spec/api/client-server/read_markers.yaml +103 -0
- data/data/matrix-spec/api/client-server/receipts.yaml +139 -0
- data/data/matrix-spec/api/client-server/redaction.yaml +116 -0
- data/data/matrix-spec/api/client-server/refresh.yaml +119 -0
- data/data/matrix-spec/api/client-server/registration.yaml +488 -0
- data/data/matrix-spec/api/client-server/registration_tokens.yaml +93 -0
- data/data/matrix-spec/api/client-server/relations.yaml +382 -0
- data/data/matrix-spec/api/client-server/report_content.yaml +283 -0
- data/data/matrix-spec/api/client-server/room_event_by_timestamp.yaml +147 -0
- data/data/matrix-spec/api/client-server/room_initial_sync.yaml +188 -0
- data/data/matrix-spec/api/client-server/room_send.yaml +130 -0
- data/data/matrix-spec/api/client-server/room_state.yaml +159 -0
- data/data/matrix-spec/api/client-server/room_summary.yaml +138 -0
- data/data/matrix-spec/api/client-server/room_upgrades.yaml +130 -0
- data/data/matrix-spec/api/client-server/rooms.yaml +380 -0
- data/data/matrix-spec/api/client-server/search.yaml +385 -0
- data/data/matrix-spec/api/client-server/space_hierarchy.yaml +237 -0
- data/data/matrix-spec/api/client-server/sso_login_redirect.yaml +135 -0
- data/data/matrix-spec/api/client-server/support.yaml +142 -0
- data/data/matrix-spec/api/client-server/sync.yaml +692 -0
- data/data/matrix-spec/api/client-server/tags.yaml +183 -0
- data/data/matrix-spec/api/client-server/third_party_lookup.yaml +324 -0
- data/data/matrix-spec/api/client-server/third_party_membership.yaml +139 -0
- data/data/matrix-spec/api/client-server/threads_list.yaml +167 -0
- data/data/matrix-spec/api/client-server/to_device.yaml +104 -0
- data/data/matrix-spec/api/client-server/typing.yaml +103 -0
- data/data/matrix-spec/api/client-server/users.yaml +136 -0
- data/data/matrix-spec/api/client-server/versions.yaml +108 -0
- data/data/matrix-spec/api/client-server/voip.yaml +93 -0
- data/data/matrix-spec/api/client-server/wellknown.yaml +60 -0
- data/data/matrix-spec/api/client-server/whoami.yaml +121 -0
- data/data/matrix-spec/event-schemas/examples/core/event.json +6 -0
- data/data/matrix-spec/event-schemas/examples/core/room_edu.json +3 -0
- data/data/matrix-spec/event-schemas/examples/core/room_event.json +11 -0
- data/data/matrix-spec/event-schemas/examples/core/state_event.json +4 -0
- data/data/matrix-spec/event-schemas/examples/invite_room_state.json +18 -0
- data/data/matrix-spec/event-schemas/examples/knock_room_state.json +18 -0
- data/data/matrix-spec/event-schemas/examples/m.accepted_terms.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.call.answer.yaml +21 -0
- data/data/matrix-spec/event-schemas/examples/m.call.candidates.yaml +16 -0
- data/data/matrix-spec/event-schemas/examples/m.call.hangup.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.call.invite.yaml +22 -0
- data/data/matrix-spec/event-schemas/examples/m.call.negotiate.yaml +22 -0
- data/data/matrix-spec/event-schemas/examples/m.call.reject.yaml +9 -0
- data/data/matrix-spec/event-schemas/examples/m.call.sdp_stream_metadata_changed.yaml +16 -0
- data/data/matrix-spec/event-schemas/examples/m.call.select_answer.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.direct.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.dummy.yaml +4 -0
- data/data/matrix-spec/event-schemas/examples/m.forwarded_room_key.yaml +14 -0
- data/data/matrix-spec/event-schemas/examples/m.fully_read.yaml +7 -0
- data/data/matrix-spec/event-schemas/examples/m.identity_server.yaml +7 -0
- data/data/matrix-spec/event-schemas/examples/m.ignored_user_list.yaml +9 -0
- data/data/matrix-spec/event-schemas/examples/m.invite_permission_config.yaml +7 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.accept.yaml +12 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.cancel.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.done.yaml +6 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.key.yaml +7 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.mac.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.ready.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.request.yaml +11 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.start$m.sas.v1.yaml +12 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.start.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.key_backup.yaml +7 -0
- data/data/matrix-spec/event-schemas/examples/m.marked_unread.yaml +7 -0
- data/data/matrix-spec/event-schemas/examples/m.policy.rule.room.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.policy.rule.server.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.policy.rule.user.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.presence.yaml +12 -0
- data/data/matrix-spec/event-schemas/examples/m.push_rules.yaml +177 -0
- data/data/matrix-spec/event-schemas/examples/m.reaction.yaml +11 -0
- data/data/matrix-spec/event-schemas/examples/m.receipt.yaml +18 -0
- data/data/matrix-spec/event-schemas/examples/m.recent_emoji.yaml +16 -0
- data/data/matrix-spec/event-schemas/examples/m.room.avatar.yaml +14 -0
- data/data/matrix-spec/event-schemas/examples/m.room.canonical_alias.yaml +12 -0
- data/data/matrix-spec/event-schemas/examples/m.room.create.yaml +13 -0
- data/data/matrix-spec/event-schemas/examples/m.room.encrypted$megolm.yaml +11 -0
- data/data/matrix-spec/event-schemas/examples/m.room.encrypted$olm.yaml +14 -0
- data/data/matrix-spec/event-schemas/examples/m.room.encryption.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.room.guest_access.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.room.history_visibility.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.room.join_rules$restricted.yaml +18 -0
- data/data/matrix-spec/event-schemas/examples/m.room.join_rules.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.room.member$invite_room_state.yaml +15 -0
- data/data/matrix-spec/event-schemas/examples/m.room.member$join_authorised_via_users_server.yaml +12 -0
- data/data/matrix-spec/event-schemas/examples/m.room.member$knock_room_state.yaml +15 -0
- data/data/matrix-spec/event-schemas/examples/m.room.member$third_party_invite.yaml +20 -0
- data/data/matrix-spec/event-schemas/examples/m.room.member.yaml +12 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.audio.yaml +14 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.emote.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.file.yaml +14 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.image.yaml +16 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.key.verification.request.yaml +19 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.location.yaml +18 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.notice.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.server_notice.yaml +11 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.text.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.video.yaml +23 -0
- data/data/matrix-spec/event-schemas/examples/m.room.name.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.room.pinned_events.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.room.policy.yaml +11 -0
- data/data/matrix-spec/event-schemas/examples/m.room.power_levels.yaml +24 -0
- data/data/matrix-spec/event-schemas/examples/m.room.redaction.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.room.server_acl.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.room.third_party_invite.yaml +14 -0
- data/data/matrix-spec/event-schemas/examples/m.room.tombstone.yaml +9 -0
- data/data/matrix-spec/event-schemas/examples/m.room.topic.yaml +16 -0
- data/data/matrix-spec/event-schemas/examples/m.room_key.withheld.yaml +12 -0
- data/data/matrix-spec/event-schemas/examples/m.room_key.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.room_key_request$cancel_request.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.room_key_request$request.yaml +14 -0
- data/data/matrix-spec/event-schemas/examples/m.secret.request.yaml +9 -0
- data/data/matrix-spec/event-schemas/examples/m.secret.send.yaml +7 -0
- data/data/matrix-spec/event-schemas/examples/m.space.child.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.space.parent.yaml +9 -0
- data/data/matrix-spec/event-schemas/examples/m.sticker.yaml +22 -0
- data/data/matrix-spec/event-schemas/examples/m.tag.yaml +9 -0
- data/data/matrix-spec/event-schemas/examples/m.typing.yaml +7 -0
- data/data/matrix-spec/event-schemas/moderation_policy_rule.yaml +32 -0
- data/data/matrix-spec/event-schemas/schema/components/m_text_content_block.yaml +28 -0
- data/data/matrix-spec/event-schemas/schema/components/sdp_stream_metadata.yaml +43 -0
- data/data/matrix-spec/event-schemas/schema/components/signed_third_party_invite.yaml +48 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/call_event.yaml +27 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/event.yaml +16 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/msgtype_infos/avatar_info.yaml +30 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/msgtype_infos/image_info.yaml +52 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/msgtype_infos/thumbnail_info.yaml +22 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/room_event.yaml +17 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/state_event.yaml +8 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/stripped_state.yaml +48 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/sync_room_event.yaml +49 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/sync_state_event.yaml +36 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/unsigned_prop.yaml +23 -0
- data/data/matrix-spec/event-schemas/schema/m.accepted_terms.yaml +25 -0
- data/data/matrix-spec/event-schemas/schema/m.call.answer.yaml +44 -0
- data/data/matrix-spec/event-schemas/schema/m.call.candidates.yaml +52 -0
- data/data/matrix-spec/event-schemas/schema/m.call.hangup.yaml +57 -0
- data/data/matrix-spec/event-schemas/schema/m.call.invite.yaml +53 -0
- data/data/matrix-spec/event-schemas/schema/m.call.negotiate.yaml +78 -0
- data/data/matrix-spec/event-schemas/schema/m.call.reject.yaml +29 -0
- data/data/matrix-spec/event-schemas/schema/m.call.sdp_stream_metadata_changed.yaml +24 -0
- data/data/matrix-spec/event-schemas/schema/m.call.select_answer.yaml +29 -0
- data/data/matrix-spec/event-schemas/schema/m.direct.yaml +29 -0
- data/data/matrix-spec/event-schemas/schema/m.dummy.yaml +25 -0
- data/data/matrix-spec/event-schemas/schema/m.forwarded_room_key.yaml +70 -0
- data/data/matrix-spec/event-schemas/schema/m.fully_read.yaml +26 -0
- data/data/matrix-spec/event-schemas/schema/m.identity_server.yaml +28 -0
- data/data/matrix-spec/event-schemas/schema/m.ignored_user_list.yaml +30 -0
- data/data/matrix-spec/event-schemas/schema/m.invite_permission_config.yaml +21 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.accept.yaml +63 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.cancel.yaml +72 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.done.yaml +24 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.key.yaml +31 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.m.relates_to.yaml +23 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.mac.yaml +43 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.ready.yaml +41 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.request.yaml +47 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.start$m.reciprocate.v1.yaml +45 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.start$m.sas.v1.yaml +76 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.start.yaml +46 -0
- data/data/matrix-spec/event-schemas/schema/m.key_backup.yaml +24 -0
- data/data/matrix-spec/event-schemas/schema/m.marked_unread.yaml +26 -0
- data/data/matrix-spec/event-schemas/schema/m.policy.rule.room.yaml +17 -0
- data/data/matrix-spec/event-schemas/schema/m.policy.rule.server.yaml +17 -0
- data/data/matrix-spec/event-schemas/schema/m.policy.rule.user.yaml +17 -0
- data/data/matrix-spec/event-schemas/schema/m.presence.yaml +50 -0
- data/data/matrix-spec/event-schemas/schema/m.push_rules.yaml +23 -0
- data/data/matrix-spec/event-schemas/schema/m.reaction.yaml +45 -0
- data/data/matrix-spec/event-schemas/schema/m.receipt.yaml +65 -0
- data/data/matrix-spec/event-schemas/schema/m.recent_emoji.yaml +29 -0
- data/data/matrix-spec/event-schemas/schema/m.room.avatar.yaml +29 -0
- data/data/matrix-spec/event-schemas/schema/m.room.canonical_alias.yaml +40 -0
- data/data/matrix-spec/event-schemas/schema/m.room.create.yaml +86 -0
- data/data/matrix-spec/event-schemas/schema/m.room.encrypted.yaml +91 -0
- data/data/matrix-spec/event-schemas/schema/m.room.encryption.yaml +38 -0
- data/data/matrix-spec/event-schemas/schema/m.room.guest_access.yaml +28 -0
- data/data/matrix-spec/event-schemas/schema/m.room.history_visibility.yaml +30 -0
- data/data/matrix-spec/event-schemas/schema/m.room.join_rules.yaml +78 -0
- data/data/matrix-spec/event-schemas/schema/m.room.member.yaml +174 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.audio.yaml +73 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.emote.yaml +36 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.file.yaml +85 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.image.yaml +63 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.key.verification.request.yaml +70 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.location.yaml +50 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.notice.yaml +36 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.server_notice.yaml +41 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.text.yaml +36 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.video.yaml +95 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message.yaml +25 -0
- data/data/matrix-spec/event-schemas/schema/m.room.name.yaml +35 -0
- data/data/matrix-spec/event-schemas/schema/m.room.pinned_events.yaml +27 -0
- data/data/matrix-spec/event-schemas/schema/m.room.policy.yaml +41 -0
- data/data/matrix-spec/event-schemas/schema/m.room.power_levels.yaml +139 -0
- data/data/matrix-spec/event-schemas/schema/m.room.redaction.yaml +29 -0
- data/data/matrix-spec/event-schemas/schema/m.room.server_acl.yaml +88 -0
- data/data/matrix-spec/event-schemas/schema/m.room.third_party_invite.yaml +79 -0
- data/data/matrix-spec/event-schemas/schema/m.room.tombstone.yaml +29 -0
- data/data/matrix-spec/event-schemas/schema/m.room.topic.yaml +53 -0
- data/data/matrix-spec/event-schemas/schema/m.room_key.withheld.yaml +88 -0
- data/data/matrix-spec/event-schemas/schema/m.room_key.yaml +38 -0
- data/data/matrix-spec/event-schemas/schema/m.room_key_request.yaml +73 -0
- data/data/matrix-spec/event-schemas/schema/m.secret.request.yaml +42 -0
- data/data/matrix-spec/event-schemas/schema/m.secret.send.yaml +35 -0
- data/data/matrix-spec/event-schemas/schema/m.space.child.yaml +50 -0
- data/data/matrix-spec/event-schemas/schema/m.space.parent.yaml +36 -0
- data/data/matrix-spec/event-schemas/schema/m.sticker.yaml +36 -0
- data/data/matrix-spec/event-schemas/schema/m.tag.yaml +28 -0
- data/data/matrix-spec/event-schemas/schema/m.typing.yaml +29 -0
- data/lib/async/discord/api/path_tree.rb +130 -0
- data/lib/async/discord/api.rb +156 -0
- data/lib/async/discord/client.rb +286 -0
- data/lib/async/discord/error.rb +88 -0
- data/lib/async/discord/gateway.rb +362 -0
- data/lib/async/discord.rb +16 -0
- data/lib/async/matrix/api/chain.rb +584 -0
- data/lib/async/matrix/api/concat.rb +105 -0
- data/lib/async/matrix/api/path_tree.rb +208 -0
- data/lib/async/matrix/api.rb +204 -0
- data/lib/async/matrix/application_service/bot.rb +235 -0
- data/lib/async/matrix/application_service/config/schema/analytics.json +21 -0
- data/lib/async/matrix/application_service/config/schema/appservice.json +82 -0
- data/lib/async/matrix/application_service/config/schema/backfill.json +91 -0
- data/lib/async/matrix/application_service/config/schema/bridge.json +209 -0
- data/lib/async/matrix/application_service/config/schema/config.json +61 -0
- data/lib/async/matrix/application_service/config/schema/database.json +38 -0
- data/lib/async/matrix/application_service/config/schema/direct_media.json +35 -0
- data/lib/async/matrix/application_service/config/schema/double_puppet.json +24 -0
- data/lib/async/matrix/application_service/config/schema/encryption.json +164 -0
- data/lib/async/matrix/application_service/config/schema/homeserver.json +58 -0
- data/lib/async/matrix/application_service/config/schema/logging.json +50 -0
- data/lib/async/matrix/application_service/config/schema/management_room_texts.json +25 -0
- data/lib/async/matrix/application_service/config/schema/matrix.json +45 -0
- data/lib/async/matrix/application_service/config/schema/permissions.json +54 -0
- data/lib/async/matrix/application_service/config/schema/provisioning.json +23 -0
- data/lib/async/matrix/application_service/config/schema/public_media.json +39 -0
- data/lib/async/matrix/application_service/config/schema/relay.json +43 -0
- data/lib/async/matrix/application_service/config/vivify.rb +113 -0
- data/lib/async/matrix/application_service/config.rb +214 -123
- data/lib/async/matrix/application_service/dispatcher.rb +115 -113
- data/lib/async/matrix/application_service/error_response.rb +26 -26
- data/lib/async/matrix/application_service/event.rb +206 -1
- data/lib/async/matrix/application_service/server.rb +286 -215
- data/lib/async/matrix/application_service/transaction.rb +52 -52
- data/lib/async/matrix/application_service/transaction_store.rb +62 -62
- data/lib/async/matrix/bridge/discord/db/connection.rb +143 -0
- data/lib/async/matrix/bridge/discord/db/file.rb +120 -0
- data/lib/async/matrix/bridge/discord/db/guild.rb +122 -0
- data/lib/async/matrix/bridge/discord/db/message.rb +162 -0
- data/lib/async/matrix/bridge/discord/db/migrations/001_create_users.rb +14 -0
- data/lib/async/matrix/bridge/discord/db/migrations/002_create_guilds.rb +14 -0
- data/lib/async/matrix/bridge/discord/db/migrations/003_create_portals.rb +23 -0
- data/lib/async/matrix/bridge/discord/db/migrations/004_create_puppets.rb +19 -0
- data/lib/async/matrix/bridge/discord/db/migrations/005_create_messages.rb +20 -0
- data/lib/async/matrix/bridge/discord/db/migrations/006_create_reactions.rb +19 -0
- data/lib/async/matrix/bridge/discord/db/migrations/007_create_files.rb +18 -0
- data/lib/async/matrix/bridge/discord/db/portal.rb +152 -0
- data/lib/async/matrix/bridge/discord/db/puppet.rb +130 -0
- data/lib/async/matrix/bridge/discord/db/reaction.rb +167 -0
- data/lib/async/matrix/bridge/discord/db/user.rb +114 -0
- data/lib/async/matrix/bridge/discord/db.rb +140 -0
- data/lib/async/matrix/client.rb +919 -179
- data/lib/async/matrix/connection.rb +8 -8
- data/lib/async/matrix/double_puppet_client.rb +84 -0
- data/lib/async/matrix/endpoint.rb +45 -45
- data/lib/async/matrix/error.rb +49 -43
- data/lib/async/matrix/media_client.rb +173 -0
- data/lib/async/matrix/notifier.rb +92 -92
- data/lib/async/matrix/schema/registry.rb +355 -0
- data/lib/async/matrix/schema/validation_error.rb +226 -0
- data/lib/async/matrix/schema.rb +174 -0
- data/lib/async/matrix/server.rb +8 -7
- data/lib/async/matrix/stream.rb +7 -7
- data/lib/async/matrix/version.rb +1 -1
- data/lib/async/matrix.rb +4 -2
- metadata +419 -1
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# Copyright 2022 The Matrix.org Foundation C.I.C.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
openapi: 3.1.0
|
|
15
|
+
info:
|
|
16
|
+
title: Matrix Client-Server events in room by date API
|
|
17
|
+
version: 1.0.0
|
|
18
|
+
paths:
|
|
19
|
+
"/rooms/{roomId}/timestamp_to_event":
|
|
20
|
+
get:
|
|
21
|
+
x-addedInMatrixVersion: "1.6"
|
|
22
|
+
summary: Get the closest event ID to the given timestamp
|
|
23
|
+
description: |-
|
|
24
|
+
Get the ID of the event closest to the given timestamp, in the
|
|
25
|
+
direction specified by the `dir` parameter.
|
|
26
|
+
|
|
27
|
+
If the server does not have all of the room history and does not have
|
|
28
|
+
an event suitably close to the requested timestamp, it can use the
|
|
29
|
+
corresponding [federation endpoint](/server-server-api/#get_matrixfederationv1timestamp_to_eventroomid)
|
|
30
|
+
to ask other servers for a suitable event.
|
|
31
|
+
|
|
32
|
+
After calling this endpoint, clients can call
|
|
33
|
+
[`/rooms/{roomId}/context/{eventId}`](/client-server-api/#get_matrixclientv3roomsroomidcontexteventid)
|
|
34
|
+
to obtain a pagination token to retrieve the events around the returned event.
|
|
35
|
+
|
|
36
|
+
The event returned by this endpoint could be an event that the client
|
|
37
|
+
cannot render, and so may need to paginate in order to locate an event
|
|
38
|
+
that it can display, which may end up being outside of the client's
|
|
39
|
+
suitable range. Clients can employ different strategies to display
|
|
40
|
+
something reasonable to the user. For example, the client could try
|
|
41
|
+
paginating in one direction for a while, while looking at the
|
|
42
|
+
timestamps of the events that it is paginating through, and if it
|
|
43
|
+
exceeds a certain difference from the target timestamp, it can try
|
|
44
|
+
paginating in the opposite direction. The client could also simply
|
|
45
|
+
paginate in one direction and inform the user that the closest event
|
|
46
|
+
found in that direction is outside of the expected range.
|
|
47
|
+
operationId: getEventByTimestamp
|
|
48
|
+
security:
|
|
49
|
+
- accessTokenQuery: []
|
|
50
|
+
- accessTokenBearer: []
|
|
51
|
+
parameters:
|
|
52
|
+
- in: path
|
|
53
|
+
name: roomId
|
|
54
|
+
description: The ID of the room to search
|
|
55
|
+
required: true
|
|
56
|
+
example: "!636q39766251:matrix.org"
|
|
57
|
+
schema:
|
|
58
|
+
type: string
|
|
59
|
+
format: mx-room-id
|
|
60
|
+
pattern: "^!"
|
|
61
|
+
- in: query
|
|
62
|
+
name: ts
|
|
63
|
+
description: |-
|
|
64
|
+
The timestamp to search from, as given in milliseconds
|
|
65
|
+
since the Unix epoch.
|
|
66
|
+
required: true
|
|
67
|
+
example: 1432684800000
|
|
68
|
+
schema:
|
|
69
|
+
type: integer
|
|
70
|
+
- in: query
|
|
71
|
+
name: dir
|
|
72
|
+
description: The direction in which to search. `f` for forwards, `b` for
|
|
73
|
+
backwards.
|
|
74
|
+
required: true
|
|
75
|
+
example: f
|
|
76
|
+
schema:
|
|
77
|
+
type: string
|
|
78
|
+
enum:
|
|
79
|
+
- f
|
|
80
|
+
- b
|
|
81
|
+
responses:
|
|
82
|
+
"200":
|
|
83
|
+
description: An event was found matching the search parameters.
|
|
84
|
+
content:
|
|
85
|
+
application/json:
|
|
86
|
+
schema:
|
|
87
|
+
type: object
|
|
88
|
+
properties:
|
|
89
|
+
event_id:
|
|
90
|
+
type: string
|
|
91
|
+
format: mx-event-id
|
|
92
|
+
pattern: "^\\$"
|
|
93
|
+
description: The ID of the event found
|
|
94
|
+
origin_server_ts:
|
|
95
|
+
type: integer
|
|
96
|
+
description: |-
|
|
97
|
+
The event's timestamp, in milliseconds since the Unix epoch.
|
|
98
|
+
This makes it easy to do a quick comparison to see if the
|
|
99
|
+
`event_id` fetched is too far out of range to be useful for your
|
|
100
|
+
use case.
|
|
101
|
+
required:
|
|
102
|
+
- event_id
|
|
103
|
+
- origin_server_ts
|
|
104
|
+
examples:
|
|
105
|
+
response:
|
|
106
|
+
value: {
|
|
107
|
+
"event_id": "$143273582443PhrSn:example.org",
|
|
108
|
+
"origin_server_ts": 1432735824653
|
|
109
|
+
}
|
|
110
|
+
"404":
|
|
111
|
+
description: No event was found.
|
|
112
|
+
content:
|
|
113
|
+
application/json:
|
|
114
|
+
schema:
|
|
115
|
+
$ref: definitions/errors/error.yaml
|
|
116
|
+
examples:
|
|
117
|
+
response:
|
|
118
|
+
value: {
|
|
119
|
+
"errcode": "M_NOT_FOUND",
|
|
120
|
+
"error": "Unable to find event from 1432684800000 in forward direction"
|
|
121
|
+
}
|
|
122
|
+
"429":
|
|
123
|
+
description: This request was rate-limited.
|
|
124
|
+
content:
|
|
125
|
+
application/json:
|
|
126
|
+
schema:
|
|
127
|
+
$ref: definitions/errors/rate_limited.yaml
|
|
128
|
+
tags:
|
|
129
|
+
- Room participation
|
|
130
|
+
servers:
|
|
131
|
+
- url: "{protocol}://{hostname}{basePath}"
|
|
132
|
+
variables:
|
|
133
|
+
protocol:
|
|
134
|
+
enum:
|
|
135
|
+
- http
|
|
136
|
+
- https
|
|
137
|
+
default: https
|
|
138
|
+
hostname:
|
|
139
|
+
default: localhost:8008
|
|
140
|
+
basePath:
|
|
141
|
+
default: /_matrix/client/v1
|
|
142
|
+
components:
|
|
143
|
+
securitySchemes:
|
|
144
|
+
accessTokenQuery:
|
|
145
|
+
$ref: definitions/security.yaml#/accessTokenQuery
|
|
146
|
+
accessTokenBearer:
|
|
147
|
+
$ref: definitions/security.yaml#/accessTokenBearer
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
openapi: 3.1.0
|
|
2
|
+
info:
|
|
3
|
+
title: Matrix Client-Server Rooms API
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
paths:
|
|
6
|
+
"/rooms/{roomId}/initialSync":
|
|
7
|
+
get:
|
|
8
|
+
summary: Snapshot the current state of a room and its most recent messages.
|
|
9
|
+
description: |-
|
|
10
|
+
Get a copy of the current state and the most recent messages in a room.
|
|
11
|
+
|
|
12
|
+
This endpoint should now exclusively be used for "peeking" into viewable rooms
|
|
13
|
+
you're not a member of ([Room Previews](/client-server-api/#room-previews)).
|
|
14
|
+
Using this endpoint for something other than peeking was deprecated in r0 of this specification.
|
|
15
|
+
The relevant information for syncing is now returned by the
|
|
16
|
+
[`/sync`](/client-server-api/#get_matrixclientv3sync) API. See the
|
|
17
|
+
[migration guide](https://matrix.org/docs/guides/migrating-from-client-server-api-v-1#deprecated-endpoints).
|
|
18
|
+
operationId: roomInitialSync
|
|
19
|
+
security:
|
|
20
|
+
- accessTokenQuery: []
|
|
21
|
+
- accessTokenBearer: []
|
|
22
|
+
parameters:
|
|
23
|
+
- in: path
|
|
24
|
+
name: roomId
|
|
25
|
+
description: The room to get the data.
|
|
26
|
+
required: true
|
|
27
|
+
example: "!636q39766251:example.com"
|
|
28
|
+
schema:
|
|
29
|
+
type: string
|
|
30
|
+
format: mx-room-id
|
|
31
|
+
pattern: "^!"
|
|
32
|
+
responses:
|
|
33
|
+
"200":
|
|
34
|
+
description: The current state of the room
|
|
35
|
+
content:
|
|
36
|
+
application/json:
|
|
37
|
+
schema:
|
|
38
|
+
title: RoomInfo
|
|
39
|
+
type: object
|
|
40
|
+
properties:
|
|
41
|
+
room_id:
|
|
42
|
+
type: string
|
|
43
|
+
format: mx-room-id
|
|
44
|
+
pattern: "^!"
|
|
45
|
+
description: The ID of this room.
|
|
46
|
+
membership:
|
|
47
|
+
type: string
|
|
48
|
+
description: The user's membership state in this room.
|
|
49
|
+
enum:
|
|
50
|
+
- invite
|
|
51
|
+
- join
|
|
52
|
+
- leave
|
|
53
|
+
- ban
|
|
54
|
+
messages:
|
|
55
|
+
type: object
|
|
56
|
+
title: PaginationChunk
|
|
57
|
+
description: The pagination chunk for this room.
|
|
58
|
+
properties:
|
|
59
|
+
start:
|
|
60
|
+
type: string
|
|
61
|
+
description: |-
|
|
62
|
+
A token which correlates to the start of `chunk`. Can be passed to
|
|
63
|
+
[`/rooms/<room_id>/messages`](/client-server-api/#get_matrixclientv3roomsroomidmessages)
|
|
64
|
+
to retrieve earlier events.
|
|
65
|
+
|
|
66
|
+
If no earlier events are available, this property may be omitted from
|
|
67
|
+
the response.
|
|
68
|
+
end:
|
|
69
|
+
type: string
|
|
70
|
+
description: |-
|
|
71
|
+
A token which correlates to the end of `chunk`. Can be passed to
|
|
72
|
+
[`/rooms/<room_id>/messages`](/client-server-api/#get_matrixclientv3roomsroomidmessages)
|
|
73
|
+
to retrieve later events.
|
|
74
|
+
chunk:
|
|
75
|
+
type: array
|
|
76
|
+
description: |-
|
|
77
|
+
If the user is a member of the room this will be a
|
|
78
|
+
list of the most recent messages for this room. If
|
|
79
|
+
the user has left the room this will be the
|
|
80
|
+
messages that preceded them leaving. This array
|
|
81
|
+
will consist of at most `limit` elements.
|
|
82
|
+
items:
|
|
83
|
+
$ref: definitions/client_event.yaml
|
|
84
|
+
required:
|
|
85
|
+
- end
|
|
86
|
+
- chunk
|
|
87
|
+
state:
|
|
88
|
+
type: array
|
|
89
|
+
description: |-
|
|
90
|
+
If the user is a member of the room this will be the
|
|
91
|
+
current state of the room as a list of events. If the
|
|
92
|
+
user has left the room this will be the state of the
|
|
93
|
+
room when they left it.
|
|
94
|
+
items:
|
|
95
|
+
$ref: definitions/client_event.yaml
|
|
96
|
+
visibility:
|
|
97
|
+
type: string
|
|
98
|
+
enum:
|
|
99
|
+
- private
|
|
100
|
+
- public
|
|
101
|
+
description: |-
|
|
102
|
+
Whether this room is visible to the `/publicRooms` API
|
|
103
|
+
or not.
|
|
104
|
+
account_data:
|
|
105
|
+
type: array
|
|
106
|
+
description: The private data that this user has attached to this room.
|
|
107
|
+
items:
|
|
108
|
+
title: Event
|
|
109
|
+
type: object
|
|
110
|
+
allOf:
|
|
111
|
+
- $ref: ../../event-schemas/schema/core-event-schema/event.yaml
|
|
112
|
+
required:
|
|
113
|
+
- room_id
|
|
114
|
+
examples:
|
|
115
|
+
response:
|
|
116
|
+
value: {
|
|
117
|
+
"membership": "join",
|
|
118
|
+
"messages": {
|
|
119
|
+
"chunk": [
|
|
120
|
+
{
|
|
121
|
+
"room_id": "!636q39766251:example.com",
|
|
122
|
+
"$ref": "../../event-schemas/examples/m.room.message$m.text.yaml"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"room_id": "!636q39766251:example.com",
|
|
126
|
+
"$ref": "../../event-schemas/examples/m.room.message$m.file.yaml"
|
|
127
|
+
}
|
|
128
|
+
],
|
|
129
|
+
"end": "s3456_9_0",
|
|
130
|
+
"start": "t44-3453_9_0"
|
|
131
|
+
},
|
|
132
|
+
"room_id": "!636q39766251:example.com",
|
|
133
|
+
"state": [
|
|
134
|
+
{
|
|
135
|
+
"room_id": "!636q39766251:example.com",
|
|
136
|
+
"$ref": "../../event-schemas/examples/m.room.join_rules.yaml"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"room_id": "!636q39766251:example.com",
|
|
140
|
+
"$ref": "../../event-schemas/examples/m.room.member.yaml"
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"room_id": "!636q39766251:example.com",
|
|
144
|
+
"$ref": "../../event-schemas/examples/m.room.create.yaml"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"room_id": "!636q39766251:example.com",
|
|
148
|
+
"$ref": "../../event-schemas/examples/m.room.power_levels.yaml"
|
|
149
|
+
}
|
|
150
|
+
],
|
|
151
|
+
"visibility": "private",
|
|
152
|
+
"account_data": [
|
|
153
|
+
{
|
|
154
|
+
"type": "m.tag",
|
|
155
|
+
"content": {
|
|
156
|
+
"tags": {
|
|
157
|
+
"work": {
|
|
158
|
+
"order": "1"
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
]
|
|
164
|
+
}
|
|
165
|
+
"403":
|
|
166
|
+
description: |
|
|
167
|
+
You aren't a member of the room and weren't previously a member of the room.
|
|
168
|
+
tags:
|
|
169
|
+
- Room participation
|
|
170
|
+
deprecated: false
|
|
171
|
+
servers:
|
|
172
|
+
- url: "{protocol}://{hostname}{basePath}"
|
|
173
|
+
variables:
|
|
174
|
+
protocol:
|
|
175
|
+
enum:
|
|
176
|
+
- http
|
|
177
|
+
- https
|
|
178
|
+
default: https
|
|
179
|
+
hostname:
|
|
180
|
+
default: localhost:8008
|
|
181
|
+
basePath:
|
|
182
|
+
default: /_matrix/client/v3
|
|
183
|
+
components:
|
|
184
|
+
securitySchemes:
|
|
185
|
+
accessTokenQuery:
|
|
186
|
+
$ref: definitions/security.yaml#/accessTokenQuery
|
|
187
|
+
accessTokenBearer:
|
|
188
|
+
$ref: definitions/security.yaml#/accessTokenBearer
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# Copyright 2016 OpenMarket Ltd
|
|
2
|
+
# Copyright 2023 The Matrix.org Foundation C.I.C.
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
openapi: 3.1.0
|
|
16
|
+
info:
|
|
17
|
+
title: Matrix Client-Server message event send API
|
|
18
|
+
version: 1.0.0
|
|
19
|
+
paths:
|
|
20
|
+
"/rooms/{roomId}/send/{eventType}/{txnId}":
|
|
21
|
+
put:
|
|
22
|
+
summary: Send a message event to the given room.
|
|
23
|
+
x-changedInMatrixVersion:
|
|
24
|
+
"1.18": |-
|
|
25
|
+
Homeservers must support sending `m.room.redaction` events with this endpoint
|
|
26
|
+
for all room versions.
|
|
27
|
+
description: |-
|
|
28
|
+
This endpoint is used to send a message event to a room. Message events
|
|
29
|
+
allow access to historical events and pagination, making them suited
|
|
30
|
+
for "once-off" activity in a room.
|
|
31
|
+
|
|
32
|
+
The body of the request should be the content object of the event; the
|
|
33
|
+
fields in this object will vary depending on the type of event. See
|
|
34
|
+
[Room Events](/client-server-api/#room-events) for the `m.` event specification.
|
|
35
|
+
|
|
36
|
+
Homeservers MUST allow clients to send `m.room.redaction` events with this
|
|
37
|
+
endpoint for all room versions. In rooms with a version older than 11 they
|
|
38
|
+
MUST move the `redacts` property inside the `content` to the top level of
|
|
39
|
+
the event.
|
|
40
|
+
operationId: sendMessage
|
|
41
|
+
security:
|
|
42
|
+
- accessTokenQuery: []
|
|
43
|
+
- accessTokenBearer: []
|
|
44
|
+
parameters:
|
|
45
|
+
- in: path
|
|
46
|
+
name: roomId
|
|
47
|
+
description: The room to send the event to.
|
|
48
|
+
required: true
|
|
49
|
+
example: "!636q39766251:example.com"
|
|
50
|
+
schema:
|
|
51
|
+
type: string
|
|
52
|
+
format: mx-room-id
|
|
53
|
+
pattern: "^!"
|
|
54
|
+
- in: path
|
|
55
|
+
name: eventType
|
|
56
|
+
description: The type of event to send.
|
|
57
|
+
required: true
|
|
58
|
+
example: m.room.message
|
|
59
|
+
schema:
|
|
60
|
+
type: string
|
|
61
|
+
- in: path
|
|
62
|
+
name: txnId
|
|
63
|
+
description: |-
|
|
64
|
+
The [transaction ID](/client-server-api/#transaction-identifiers) for this event. Clients should generate an
|
|
65
|
+
ID unique across requests with the same access token; it will be
|
|
66
|
+
used by the server to ensure idempotency of requests.
|
|
67
|
+
required: true
|
|
68
|
+
example: "35"
|
|
69
|
+
schema:
|
|
70
|
+
type: string
|
|
71
|
+
requestBody:
|
|
72
|
+
content:
|
|
73
|
+
application/json:
|
|
74
|
+
schema:
|
|
75
|
+
type: object
|
|
76
|
+
example: {
|
|
77
|
+
"msgtype": "m.text",
|
|
78
|
+
"body": "hello"
|
|
79
|
+
}
|
|
80
|
+
required: true
|
|
81
|
+
responses:
|
|
82
|
+
"200":
|
|
83
|
+
description: An ID for the sent event.
|
|
84
|
+
content:
|
|
85
|
+
application/json:
|
|
86
|
+
schema:
|
|
87
|
+
type: object
|
|
88
|
+
properties:
|
|
89
|
+
event_id:
|
|
90
|
+
type: string
|
|
91
|
+
format: mx-event-id
|
|
92
|
+
pattern: "^\\$"
|
|
93
|
+
description: A unique identifier for the event.
|
|
94
|
+
required:
|
|
95
|
+
- event_id
|
|
96
|
+
examples:
|
|
97
|
+
response:
|
|
98
|
+
value: {
|
|
99
|
+
"event_id": "$YUwRidLecu:example.com"
|
|
100
|
+
}
|
|
101
|
+
"400":
|
|
102
|
+
description: |-
|
|
103
|
+
The request is invalid. A [standard error response](/client-server-api/#standard-error-response)
|
|
104
|
+
will be returned. As well as the normal common error codes, other reasons for rejection include:
|
|
105
|
+
|
|
106
|
+
- `M_DUPLICATE_ANNOTATION`: The request is an attempt to send a [duplicate annotation](/client-server-api/#avoiding-duplicate-annotations).
|
|
107
|
+
content:
|
|
108
|
+
application/json:
|
|
109
|
+
schema:
|
|
110
|
+
$ref: definitions/errors/error.yaml
|
|
111
|
+
tags:
|
|
112
|
+
- Room participation
|
|
113
|
+
servers:
|
|
114
|
+
- url: "{protocol}://{hostname}{basePath}"
|
|
115
|
+
variables:
|
|
116
|
+
protocol:
|
|
117
|
+
enum:
|
|
118
|
+
- http
|
|
119
|
+
- https
|
|
120
|
+
default: https
|
|
121
|
+
hostname:
|
|
122
|
+
default: localhost:8008
|
|
123
|
+
basePath:
|
|
124
|
+
default: /_matrix/client/v3
|
|
125
|
+
components:
|
|
126
|
+
securitySchemes:
|
|
127
|
+
accessTokenQuery:
|
|
128
|
+
$ref: definitions/security.yaml#/accessTokenQuery
|
|
129
|
+
accessTokenBearer:
|
|
130
|
+
$ref: definitions/security.yaml#/accessTokenBearer
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
# Copyright 2016 OpenMarket Ltd
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
openapi: 3.1.0
|
|
15
|
+
info:
|
|
16
|
+
title: Matrix Client-Server state event send API
|
|
17
|
+
version: 1.0.0
|
|
18
|
+
paths:
|
|
19
|
+
"/rooms/{roomId}/state/{eventType}/{stateKey}":
|
|
20
|
+
put:
|
|
21
|
+
summary: Send a state event to the given room.
|
|
22
|
+
description: |
|
|
23
|
+
State events can be sent using this endpoint. These events will be
|
|
24
|
+
overwritten if `<room id>`, `<event type>` and `<state key>` all
|
|
25
|
+
match.
|
|
26
|
+
|
|
27
|
+
Requests to this endpoint **cannot use transaction IDs**
|
|
28
|
+
like other `PUT` paths because they cannot be differentiated from the
|
|
29
|
+
`state_key`. Furthermore, `POST` is unsupported on state paths.
|
|
30
|
+
|
|
31
|
+
The body of the request should be the content object of the event; the
|
|
32
|
+
fields in this object will vary depending on the type of event. See
|
|
33
|
+
[Room Events](/client-server-api/#room-events) for the `m.` event specification.
|
|
34
|
+
|
|
35
|
+
If the event type being sent is `m.room.canonical_alias` servers
|
|
36
|
+
SHOULD ensure that any new aliases being listed in the event are valid
|
|
37
|
+
per their grammar/syntax and that they point to the room ID where the
|
|
38
|
+
state event is to be sent. Servers do not validate aliases which are
|
|
39
|
+
being removed or are already present in the state event.
|
|
40
|
+
operationId: setRoomStateWithKey
|
|
41
|
+
security:
|
|
42
|
+
- accessTokenQuery: []
|
|
43
|
+
- accessTokenBearer: []
|
|
44
|
+
parameters:
|
|
45
|
+
- in: path
|
|
46
|
+
name: roomId
|
|
47
|
+
description: The room to set the state in
|
|
48
|
+
required: true
|
|
49
|
+
example: "!636q39766251:example.com"
|
|
50
|
+
schema:
|
|
51
|
+
type: string
|
|
52
|
+
format: mx-room-id
|
|
53
|
+
pattern: "^!"
|
|
54
|
+
- in: path
|
|
55
|
+
name: eventType
|
|
56
|
+
description: The type of event to send.
|
|
57
|
+
required: true
|
|
58
|
+
example: m.room.member
|
|
59
|
+
schema:
|
|
60
|
+
type: string
|
|
61
|
+
- in: path
|
|
62
|
+
name: stateKey
|
|
63
|
+
description: |-
|
|
64
|
+
The state_key for the state to send. Defaults to the empty string. When
|
|
65
|
+
an empty string, the trailing slash on this endpoint is optional.
|
|
66
|
+
required: true
|
|
67
|
+
example: "@alice:example.com"
|
|
68
|
+
schema:
|
|
69
|
+
type: string
|
|
70
|
+
requestBody:
|
|
71
|
+
content:
|
|
72
|
+
application/json:
|
|
73
|
+
schema:
|
|
74
|
+
type: object
|
|
75
|
+
example: {
|
|
76
|
+
"membership": "join",
|
|
77
|
+
"avatar_url": "mxc://localhost/SEsfnsuifSDFSSEF",
|
|
78
|
+
"displayname": "Alice Margatroid"
|
|
79
|
+
}
|
|
80
|
+
required: true
|
|
81
|
+
responses:
|
|
82
|
+
"200":
|
|
83
|
+
description: An ID for the sent event.
|
|
84
|
+
content:
|
|
85
|
+
application/json:
|
|
86
|
+
schema:
|
|
87
|
+
type: object
|
|
88
|
+
properties:
|
|
89
|
+
event_id:
|
|
90
|
+
type: string
|
|
91
|
+
format: mx-event-id
|
|
92
|
+
pattern: "^\\$"
|
|
93
|
+
description: A unique identifier for the event.
|
|
94
|
+
required:
|
|
95
|
+
- event_id
|
|
96
|
+
examples:
|
|
97
|
+
response:
|
|
98
|
+
value: {
|
|
99
|
+
"event_id": "$YUwRidLecu:example.com"
|
|
100
|
+
}
|
|
101
|
+
"400":
|
|
102
|
+
description: |-
|
|
103
|
+
The sender's request is malformed.
|
|
104
|
+
|
|
105
|
+
Some example error codes include:
|
|
106
|
+
|
|
107
|
+
* `M_INVALID_PARAM`: One or more aliases within the `m.room.canonical_alias`
|
|
108
|
+
event have invalid syntax.
|
|
109
|
+
|
|
110
|
+
* `M_BAD_ALIAS`: One or more aliases within the `m.room.canonical_alias` event
|
|
111
|
+
do not point to the room ID for which the state event is to be sent to.
|
|
112
|
+
content:
|
|
113
|
+
application/json:
|
|
114
|
+
schema:
|
|
115
|
+
$ref: definitions/errors/error.yaml
|
|
116
|
+
examples:
|
|
117
|
+
response:
|
|
118
|
+
value: {
|
|
119
|
+
"errcode": "M_BAD_ALIAS",
|
|
120
|
+
"error": "The alias '#hello:example.org' does not point to this room."
|
|
121
|
+
}
|
|
122
|
+
"403":
|
|
123
|
+
description: |-
|
|
124
|
+
The sender doesn't have permission to send the event into the room.
|
|
125
|
+
|
|
126
|
+
{{% added-in v="1.18"%}} If the `eventType` is `m.room.member` and
|
|
127
|
+
the `membership` is `invite`, the `M_INVITE_BLOCKED` error code is
|
|
128
|
+
used to indicate that the homeserver rejected the invite due to
|
|
129
|
+
[invite blocking](/client-server-api/#invite-permission).
|
|
130
|
+
content:
|
|
131
|
+
application/json:
|
|
132
|
+
schema:
|
|
133
|
+
$ref: definitions/errors/error.yaml
|
|
134
|
+
examples:
|
|
135
|
+
response:
|
|
136
|
+
value: {
|
|
137
|
+
"errcode": "M_FORBIDDEN",
|
|
138
|
+
"error": "You do not have permission to send the event."
|
|
139
|
+
}
|
|
140
|
+
tags:
|
|
141
|
+
- Room participation
|
|
142
|
+
servers:
|
|
143
|
+
- url: "{protocol}://{hostname}{basePath}"
|
|
144
|
+
variables:
|
|
145
|
+
protocol:
|
|
146
|
+
enum:
|
|
147
|
+
- http
|
|
148
|
+
- https
|
|
149
|
+
default: https
|
|
150
|
+
hostname:
|
|
151
|
+
default: localhost:8008
|
|
152
|
+
basePath:
|
|
153
|
+
default: /_matrix/client/v3
|
|
154
|
+
components:
|
|
155
|
+
securitySchemes:
|
|
156
|
+
accessTokenQuery:
|
|
157
|
+
$ref: definitions/security.yaml#/accessTokenQuery
|
|
158
|
+
accessTokenBearer:
|
|
159
|
+
$ref: definitions/security.yaml#/accessTokenBearer
|