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,152 @@
|
|
|
1
|
+
# Copyright 2021 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 Room Knocking API
|
|
17
|
+
version: 1.0.0
|
|
18
|
+
paths:
|
|
19
|
+
"/knock/{roomIdOrAlias}":
|
|
20
|
+
post:
|
|
21
|
+
x-addedInMatrixVersion: "1.1"
|
|
22
|
+
summary: Knock on a room, requesting permission to join.
|
|
23
|
+
description: |-
|
|
24
|
+
*Note that this API takes either a room ID or alias, unlike other membership APIs.*
|
|
25
|
+
|
|
26
|
+
This API "knocks" on the room to ask for permission to join, if the user
|
|
27
|
+
is allowed to knock on the room. Acceptance of the knock happens out of
|
|
28
|
+
band from this API, meaning that the client will have to watch for updates
|
|
29
|
+
regarding the acceptance/rejection of the knock.
|
|
30
|
+
|
|
31
|
+
If the room history settings allow, the user will still be able to see
|
|
32
|
+
history of the room while being in the "knock" state. The user will have
|
|
33
|
+
to accept the invitation to join the room (acceptance of knock) to see
|
|
34
|
+
messages reliably. See the `/join` endpoints for more information about
|
|
35
|
+
history visibility to the user.
|
|
36
|
+
|
|
37
|
+
The knock will appear as an entry in the response of the
|
|
38
|
+
[`/sync`](/client-server-api/#get_matrixclientv3sync) API.
|
|
39
|
+
operationId: knockRoom
|
|
40
|
+
security:
|
|
41
|
+
- accessTokenQuery: []
|
|
42
|
+
- accessTokenBearer: []
|
|
43
|
+
parameters:
|
|
44
|
+
- in: path
|
|
45
|
+
name: roomIdOrAlias
|
|
46
|
+
description: The room identifier or alias to knock upon.
|
|
47
|
+
required: true
|
|
48
|
+
example: "#monkeys:matrix.org"
|
|
49
|
+
schema:
|
|
50
|
+
type: string
|
|
51
|
+
- in: query
|
|
52
|
+
name: via
|
|
53
|
+
x-addedInMatrixVersion: "1.12"
|
|
54
|
+
description: |-
|
|
55
|
+
The servers to attempt to knock on the room through. One of the servers
|
|
56
|
+
must be participating in the room.
|
|
57
|
+
example:
|
|
58
|
+
- matrix.org
|
|
59
|
+
- elsewhere.ca
|
|
60
|
+
schema:
|
|
61
|
+
type: array
|
|
62
|
+
items:
|
|
63
|
+
type: string
|
|
64
|
+
requestBody:
|
|
65
|
+
content:
|
|
66
|
+
application/json:
|
|
67
|
+
schema:
|
|
68
|
+
type: object
|
|
69
|
+
properties:
|
|
70
|
+
reason:
|
|
71
|
+
type: string
|
|
72
|
+
description: |-
|
|
73
|
+
Optional reason to be included as the `reason` on the subsequent
|
|
74
|
+
membership event.
|
|
75
|
+
example: Looking for support
|
|
76
|
+
required: true
|
|
77
|
+
responses:
|
|
78
|
+
"200":
|
|
79
|
+
description: |-
|
|
80
|
+
The room has been knocked upon.
|
|
81
|
+
|
|
82
|
+
The knocked room ID must be returned in the `room_id` field.
|
|
83
|
+
content:
|
|
84
|
+
application/json:
|
|
85
|
+
schema:
|
|
86
|
+
type: object
|
|
87
|
+
properties:
|
|
88
|
+
room_id:
|
|
89
|
+
type: string
|
|
90
|
+
description: The knocked room ID.
|
|
91
|
+
required:
|
|
92
|
+
- room_id
|
|
93
|
+
examples:
|
|
94
|
+
response:
|
|
95
|
+
value: {
|
|
96
|
+
"room_id": "!d41d8cd:matrix.org"
|
|
97
|
+
}
|
|
98
|
+
"403":
|
|
99
|
+
description: |-
|
|
100
|
+
You do not have permission to knock on the room. A meaningful `errcode`
|
|
101
|
+
and description error text will be returned. Example reasons for rejection are:
|
|
102
|
+
|
|
103
|
+
- The room is not set up for knocking.
|
|
104
|
+
- The user has been banned from the room.
|
|
105
|
+
content:
|
|
106
|
+
application/json:
|
|
107
|
+
schema:
|
|
108
|
+
$ref: definitions/errors/error.yaml
|
|
109
|
+
examples:
|
|
110
|
+
response:
|
|
111
|
+
value: {
|
|
112
|
+
"errcode": "M_FORBIDDEN",
|
|
113
|
+
"error": "You are not allowed to knock on this room."
|
|
114
|
+
}
|
|
115
|
+
"404":
|
|
116
|
+
description: The room could not be found or resolved to a room ID.
|
|
117
|
+
content:
|
|
118
|
+
application/json:
|
|
119
|
+
schema:
|
|
120
|
+
$ref: definitions/errors/error.yaml
|
|
121
|
+
examples:
|
|
122
|
+
response:
|
|
123
|
+
value: {
|
|
124
|
+
"errcode": "M_NOT_FOUND",
|
|
125
|
+
"error": "That room does not appear to exist."
|
|
126
|
+
}
|
|
127
|
+
"429":
|
|
128
|
+
description: This request was rate-limited.
|
|
129
|
+
content:
|
|
130
|
+
application/json:
|
|
131
|
+
schema:
|
|
132
|
+
$ref: definitions/errors/rate_limited.yaml
|
|
133
|
+
tags:
|
|
134
|
+
- Room membership
|
|
135
|
+
servers:
|
|
136
|
+
- url: "{protocol}://{hostname}{basePath}"
|
|
137
|
+
variables:
|
|
138
|
+
protocol:
|
|
139
|
+
enum:
|
|
140
|
+
- http
|
|
141
|
+
- https
|
|
142
|
+
default: https
|
|
143
|
+
hostname:
|
|
144
|
+
default: localhost:8008
|
|
145
|
+
basePath:
|
|
146
|
+
default: /_matrix/client/v3
|
|
147
|
+
components:
|
|
148
|
+
securitySchemes:
|
|
149
|
+
accessTokenQuery:
|
|
150
|
+
$ref: definitions/security.yaml#/accessTokenQuery
|
|
151
|
+
accessTokenBearer:
|
|
152
|
+
$ref: definitions/security.yaml#/accessTokenBearer
|
|
@@ -0,0 +1,163 @@
|
|
|
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 Room Leaving API
|
|
17
|
+
version: 1.0.0
|
|
18
|
+
paths:
|
|
19
|
+
"/rooms/{roomId}/leave":
|
|
20
|
+
post:
|
|
21
|
+
summary: Stop the requesting user participating in a particular room.
|
|
22
|
+
x-changedInMatrixVersion:
|
|
23
|
+
"1.18": |-
|
|
24
|
+
Servers may additionally forget the room provided that they make this behavior
|
|
25
|
+
transparent.
|
|
26
|
+
description: |-
|
|
27
|
+
This API stops a user participating in a particular room.
|
|
28
|
+
|
|
29
|
+
If the user was already in the room, they will no longer be able to see
|
|
30
|
+
new events in the room. If the room requires an invite to join, they
|
|
31
|
+
will need to be re-invited before they can re-join.
|
|
32
|
+
|
|
33
|
+
If the user was invited to the room, but had not joined, this call
|
|
34
|
+
serves to reject the invite.
|
|
35
|
+
|
|
36
|
+
Servers MAY additionally forget the room when this endpoint is called –
|
|
37
|
+
just as if the user had also invoked [`/forget`](/client-server-api/#post_matrixclientv3roomsroomidforget).
|
|
38
|
+
Servers that do this, MUST inform clients about this behavior using the
|
|
39
|
+
[`m.forget_forced_upon_leave`](/client-server-api/#mforget_forced_upon_leave-capability)
|
|
40
|
+
capability.
|
|
41
|
+
|
|
42
|
+
If the server doesn't automatically forget the room, the user will still be
|
|
43
|
+
allowed to retrieve history from the room which they were previously allowed
|
|
44
|
+
to see.
|
|
45
|
+
operationId: leaveRoom
|
|
46
|
+
security:
|
|
47
|
+
- accessTokenQuery: []
|
|
48
|
+
- accessTokenBearer: []
|
|
49
|
+
parameters:
|
|
50
|
+
- in: path
|
|
51
|
+
name: roomId
|
|
52
|
+
description: The room identifier to leave.
|
|
53
|
+
required: true
|
|
54
|
+
example: "!nkl290a:matrix.org"
|
|
55
|
+
schema:
|
|
56
|
+
type: string
|
|
57
|
+
requestBody:
|
|
58
|
+
content:
|
|
59
|
+
application/json:
|
|
60
|
+
schema:
|
|
61
|
+
type: object
|
|
62
|
+
example: {
|
|
63
|
+
"reason": "Saying farewell - thanks for the support!"
|
|
64
|
+
}
|
|
65
|
+
properties:
|
|
66
|
+
reason:
|
|
67
|
+
x-addedInMatrixVersion: "1.1"
|
|
68
|
+
type: string
|
|
69
|
+
description: |-
|
|
70
|
+
Optional reason to be included as the `reason` on the subsequent
|
|
71
|
+
membership event.
|
|
72
|
+
required: true
|
|
73
|
+
responses:
|
|
74
|
+
"200":
|
|
75
|
+
description: The room has been left.
|
|
76
|
+
content:
|
|
77
|
+
application/json:
|
|
78
|
+
schema:
|
|
79
|
+
type: object
|
|
80
|
+
examples:
|
|
81
|
+
response:
|
|
82
|
+
value: {}
|
|
83
|
+
"429":
|
|
84
|
+
description: This request was rate-limited.
|
|
85
|
+
content:
|
|
86
|
+
application/json:
|
|
87
|
+
schema:
|
|
88
|
+
$ref: definitions/errors/rate_limited.yaml
|
|
89
|
+
tags:
|
|
90
|
+
- Room membership
|
|
91
|
+
"/rooms/{roomId}/forget":
|
|
92
|
+
post:
|
|
93
|
+
summary: Stop the requesting user remembering about a particular room.
|
|
94
|
+
description: |-
|
|
95
|
+
This API stops a user remembering about a particular room.
|
|
96
|
+
|
|
97
|
+
In general, history is a first class citizen in Matrix. After this API
|
|
98
|
+
is called, however, a user will no longer be able to retrieve history
|
|
99
|
+
for this room. If all users on a homeserver forget a room, the room is
|
|
100
|
+
eligible for deletion from that homeserver.
|
|
101
|
+
|
|
102
|
+
If the user is currently joined to the room, they must leave the room
|
|
103
|
+
before calling this API.
|
|
104
|
+
operationId: forgetRoom
|
|
105
|
+
security:
|
|
106
|
+
- accessTokenQuery: []
|
|
107
|
+
- accessTokenBearer: []
|
|
108
|
+
parameters:
|
|
109
|
+
- in: path
|
|
110
|
+
name: roomId
|
|
111
|
+
description: The room identifier to forget.
|
|
112
|
+
required: true
|
|
113
|
+
example: "!au1ba7o:matrix.org"
|
|
114
|
+
schema:
|
|
115
|
+
type: string
|
|
116
|
+
responses:
|
|
117
|
+
"200":
|
|
118
|
+
description: The room has been forgotten.
|
|
119
|
+
content:
|
|
120
|
+
application/json:
|
|
121
|
+
schema:
|
|
122
|
+
type: object
|
|
123
|
+
examples:
|
|
124
|
+
response:
|
|
125
|
+
value: {}
|
|
126
|
+
"400":
|
|
127
|
+
description: The user has not left the room
|
|
128
|
+
content:
|
|
129
|
+
application/json:
|
|
130
|
+
schema:
|
|
131
|
+
$ref: definitions/errors/error.yaml
|
|
132
|
+
examples:
|
|
133
|
+
response:
|
|
134
|
+
value: {
|
|
135
|
+
"errcode": "M_UNKNOWN",
|
|
136
|
+
"error": "User @example:matrix.org is in room !au1ba7o:matrix.org"
|
|
137
|
+
}
|
|
138
|
+
"429":
|
|
139
|
+
description: This request was rate-limited.
|
|
140
|
+
content:
|
|
141
|
+
application/json:
|
|
142
|
+
schema:
|
|
143
|
+
$ref: definitions/errors/rate_limited.yaml
|
|
144
|
+
tags:
|
|
145
|
+
- Room membership
|
|
146
|
+
servers:
|
|
147
|
+
- url: "{protocol}://{hostname}{basePath}"
|
|
148
|
+
variables:
|
|
149
|
+
protocol:
|
|
150
|
+
enum:
|
|
151
|
+
- http
|
|
152
|
+
- https
|
|
153
|
+
default: https
|
|
154
|
+
hostname:
|
|
155
|
+
default: localhost:8008
|
|
156
|
+
basePath:
|
|
157
|
+
default: /_matrix/client/v3
|
|
158
|
+
components:
|
|
159
|
+
securitySchemes:
|
|
160
|
+
accessTokenQuery:
|
|
161
|
+
$ref: definitions/security.yaml#/accessTokenQuery
|
|
162
|
+
accessTokenBearer:
|
|
163
|
+
$ref: definitions/security.yaml#/accessTokenBearer
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Copyright 2017 Michael Telatynski <7t3chguy@gmail.com>
|
|
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 Room Listing API
|
|
17
|
+
version: 1.0.0
|
|
18
|
+
paths:
|
|
19
|
+
/joined_rooms:
|
|
20
|
+
get:
|
|
21
|
+
summary: Lists the user's current rooms.
|
|
22
|
+
description: This API returns a list of the user's current rooms.
|
|
23
|
+
operationId: getJoinedRooms
|
|
24
|
+
security:
|
|
25
|
+
- accessTokenQuery: []
|
|
26
|
+
- accessTokenBearer: []
|
|
27
|
+
responses:
|
|
28
|
+
"200":
|
|
29
|
+
description: A list of the rooms the user is in.
|
|
30
|
+
content:
|
|
31
|
+
application/json:
|
|
32
|
+
schema:
|
|
33
|
+
type: object
|
|
34
|
+
required:
|
|
35
|
+
- joined_rooms
|
|
36
|
+
properties:
|
|
37
|
+
joined_rooms:
|
|
38
|
+
type: array
|
|
39
|
+
description: The ID of each room in which the user has `joined` membership.
|
|
40
|
+
items:
|
|
41
|
+
type: string
|
|
42
|
+
examples:
|
|
43
|
+
response:
|
|
44
|
+
value: {
|
|
45
|
+
"joined_rooms": [
|
|
46
|
+
"!foo:example.com"
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
tags:
|
|
50
|
+
- Room membership
|
|
51
|
+
servers:
|
|
52
|
+
- url: "{protocol}://{hostname}{basePath}"
|
|
53
|
+
variables:
|
|
54
|
+
protocol:
|
|
55
|
+
enum:
|
|
56
|
+
- http
|
|
57
|
+
- https
|
|
58
|
+
default: https
|
|
59
|
+
hostname:
|
|
60
|
+
default: localhost:8008
|
|
61
|
+
basePath:
|
|
62
|
+
default: /_matrix/client/v3
|
|
63
|
+
components:
|
|
64
|
+
securitySchemes:
|
|
65
|
+
accessTokenQuery:
|
|
66
|
+
$ref: definitions/security.yaml#/accessTokenQuery
|
|
67
|
+
accessTokenBearer:
|
|
68
|
+
$ref: definitions/security.yaml#/accessTokenBearer
|
|
@@ -0,0 +1,280 @@
|
|
|
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 Published Room Directory API
|
|
17
|
+
version: 1.0.0
|
|
18
|
+
paths:
|
|
19
|
+
"/directory/list/room/{roomId}":
|
|
20
|
+
get:
|
|
21
|
+
summary: Gets the visibility of a room in the directory
|
|
22
|
+
description: |-
|
|
23
|
+
Gets the visibility of a given room in the server's
|
|
24
|
+
published room directory.
|
|
25
|
+
operationId: getRoomVisibilityOnDirectory
|
|
26
|
+
parameters:
|
|
27
|
+
- in: path
|
|
28
|
+
name: roomId
|
|
29
|
+
description: The room ID.
|
|
30
|
+
required: true
|
|
31
|
+
example: "!curbf:matrix.org"
|
|
32
|
+
schema:
|
|
33
|
+
type: string
|
|
34
|
+
responses:
|
|
35
|
+
"200":
|
|
36
|
+
description: The visibility of the room in the directory.
|
|
37
|
+
content:
|
|
38
|
+
application/json:
|
|
39
|
+
schema:
|
|
40
|
+
type: object
|
|
41
|
+
properties:
|
|
42
|
+
visibility:
|
|
43
|
+
type: string
|
|
44
|
+
enum:
|
|
45
|
+
- private
|
|
46
|
+
- public
|
|
47
|
+
description: The visibility of the room in the directory.
|
|
48
|
+
examples:
|
|
49
|
+
response:
|
|
50
|
+
value: {
|
|
51
|
+
"visibility": "public"
|
|
52
|
+
}
|
|
53
|
+
"404":
|
|
54
|
+
description: The room is not known to the server.
|
|
55
|
+
content:
|
|
56
|
+
application/json:
|
|
57
|
+
schema:
|
|
58
|
+
$ref: definitions/errors/error.yaml
|
|
59
|
+
examples:
|
|
60
|
+
response:
|
|
61
|
+
value: {
|
|
62
|
+
"errcode": "M_NOT_FOUND",
|
|
63
|
+
"error": "Room not found"
|
|
64
|
+
}
|
|
65
|
+
tags:
|
|
66
|
+
- Room discovery
|
|
67
|
+
put:
|
|
68
|
+
summary: Sets the visibility of a room in the directory
|
|
69
|
+
description: |-
|
|
70
|
+
Sets the visibility of a given room in the server's published room directory.
|
|
71
|
+
|
|
72
|
+
Servers MAY implement additional access control checks, for instance,
|
|
73
|
+
to ensure that a room's visibility can only be changed by the room creator
|
|
74
|
+
or a server administrator.
|
|
75
|
+
operationId: setRoomVisibilityOnDirectory
|
|
76
|
+
security:
|
|
77
|
+
- accessTokenQuery: []
|
|
78
|
+
- accessTokenBearer: []
|
|
79
|
+
parameters:
|
|
80
|
+
- in: path
|
|
81
|
+
name: roomId
|
|
82
|
+
description: The room ID.
|
|
83
|
+
required: true
|
|
84
|
+
example: "!curbf:matrix.org"
|
|
85
|
+
schema:
|
|
86
|
+
type: string
|
|
87
|
+
requestBody:
|
|
88
|
+
content:
|
|
89
|
+
application/json:
|
|
90
|
+
schema:
|
|
91
|
+
type: object
|
|
92
|
+
properties:
|
|
93
|
+
visibility:
|
|
94
|
+
type: string
|
|
95
|
+
enum:
|
|
96
|
+
- private
|
|
97
|
+
- public
|
|
98
|
+
description: |-
|
|
99
|
+
The new visibility setting for the room.
|
|
100
|
+
Defaults to `public`.
|
|
101
|
+
example: {
|
|
102
|
+
"visibility": "public"
|
|
103
|
+
}
|
|
104
|
+
description: The new visibility for the room in the published room directory.
|
|
105
|
+
required: true
|
|
106
|
+
responses:
|
|
107
|
+
"200":
|
|
108
|
+
description: The visibility was updated, or no change was needed.
|
|
109
|
+
content:
|
|
110
|
+
application/json:
|
|
111
|
+
schema:
|
|
112
|
+
type: object
|
|
113
|
+
examples:
|
|
114
|
+
response:
|
|
115
|
+
value: {}
|
|
116
|
+
"404":
|
|
117
|
+
description: The room is not known to the server.
|
|
118
|
+
content:
|
|
119
|
+
application/json:
|
|
120
|
+
schema:
|
|
121
|
+
$ref: definitions/errors/error.yaml
|
|
122
|
+
examples:
|
|
123
|
+
response:
|
|
124
|
+
value: {
|
|
125
|
+
"errcode": "M_NOT_FOUND",
|
|
126
|
+
"error": "Room not found"
|
|
127
|
+
}
|
|
128
|
+
tags:
|
|
129
|
+
- Room discovery
|
|
130
|
+
/publicRooms:
|
|
131
|
+
get:
|
|
132
|
+
summary: Lists a server's published room directory
|
|
133
|
+
description: |-
|
|
134
|
+
Lists a server's published room directory.
|
|
135
|
+
|
|
136
|
+
This API returns paginated responses. The rooms are ordered by the number
|
|
137
|
+
of joined members, with the largest rooms first.
|
|
138
|
+
operationId: getPublicRooms
|
|
139
|
+
parameters:
|
|
140
|
+
- in: query
|
|
141
|
+
name: limit
|
|
142
|
+
description: Limit the number of results returned.
|
|
143
|
+
schema:
|
|
144
|
+
type: integer
|
|
145
|
+
- in: query
|
|
146
|
+
name: since
|
|
147
|
+
description: |-
|
|
148
|
+
A pagination token from a previous request, allowing clients to
|
|
149
|
+
get the next (or previous) batch of rooms.
|
|
150
|
+
The direction of pagination is specified solely by which token
|
|
151
|
+
is supplied, rather than via an explicit flag.
|
|
152
|
+
schema:
|
|
153
|
+
type: string
|
|
154
|
+
- in: query
|
|
155
|
+
name: server
|
|
156
|
+
description: |-
|
|
157
|
+
The server to fetch the published room directory from. Defaults
|
|
158
|
+
to the local server. Case sensitive.
|
|
159
|
+
schema:
|
|
160
|
+
type: string
|
|
161
|
+
responses:
|
|
162
|
+
"200":
|
|
163
|
+
description: A list of the published rooms on the server.
|
|
164
|
+
content:
|
|
165
|
+
application/json:
|
|
166
|
+
schema:
|
|
167
|
+
$ref: definitions/public_rooms_response.yaml
|
|
168
|
+
tags:
|
|
169
|
+
- Room discovery
|
|
170
|
+
post:
|
|
171
|
+
summary: Lists a server's published room directory with an optional filter
|
|
172
|
+
description: |-
|
|
173
|
+
Lists a server's published room directory with an optional filter.
|
|
174
|
+
|
|
175
|
+
This API returns paginated responses. The rooms are ordered by the number
|
|
176
|
+
of joined members, with the largest rooms first.
|
|
177
|
+
operationId: queryPublicRooms
|
|
178
|
+
security:
|
|
179
|
+
- accessTokenQuery: []
|
|
180
|
+
- accessTokenBearer: []
|
|
181
|
+
parameters:
|
|
182
|
+
- in: query
|
|
183
|
+
name: server
|
|
184
|
+
description: |-
|
|
185
|
+
The server to fetch the published room directory from. Defaults
|
|
186
|
+
to the local server. Case sensitive.
|
|
187
|
+
schema:
|
|
188
|
+
type: string
|
|
189
|
+
requestBody:
|
|
190
|
+
content:
|
|
191
|
+
application/json:
|
|
192
|
+
schema:
|
|
193
|
+
type: object
|
|
194
|
+
properties:
|
|
195
|
+
limit:
|
|
196
|
+
type: integer
|
|
197
|
+
description: Limit the number of results returned.
|
|
198
|
+
since:
|
|
199
|
+
type: string
|
|
200
|
+
description: |-
|
|
201
|
+
A pagination token from a previous request, allowing clients
|
|
202
|
+
to get the next (or previous) batch of rooms. The direction
|
|
203
|
+
of pagination is specified solely by which token is supplied,
|
|
204
|
+
rather than via an explicit flag.
|
|
205
|
+
filter:
|
|
206
|
+
type: object
|
|
207
|
+
title: Filter
|
|
208
|
+
description: Filter to apply to the results.
|
|
209
|
+
properties:
|
|
210
|
+
generic_search_term:
|
|
211
|
+
type: string
|
|
212
|
+
description: |-
|
|
213
|
+
An optional string to search for in the room metadata, e.g. name,
|
|
214
|
+
topic, canonical alias, etc.
|
|
215
|
+
room_types:
|
|
216
|
+
type: array
|
|
217
|
+
x-addedInMatrixVersion: "1.4"
|
|
218
|
+
items:
|
|
219
|
+
type: ["string", "null"]
|
|
220
|
+
description: |-
|
|
221
|
+
An optional list of [room types](/client-server-api/#types) to search
|
|
222
|
+
for. To include rooms without a room type, specify `null` within this
|
|
223
|
+
list. When not specified, all applicable rooms (regardless of type)
|
|
224
|
+
are returned.
|
|
225
|
+
include_all_networks:
|
|
226
|
+
type: boolean
|
|
227
|
+
description: |-
|
|
228
|
+
Whether or not to include all known networks/protocols from
|
|
229
|
+
application services on the homeserver. Defaults to `false`.
|
|
230
|
+
example: false
|
|
231
|
+
third_party_instance_id:
|
|
232
|
+
type: string
|
|
233
|
+
description: |-
|
|
234
|
+
The specific third-party network/protocol to request from the
|
|
235
|
+
homeserver. Can only be used if `include_all_networks` is false.
|
|
236
|
+
|
|
237
|
+
This is the `instance_id` of a `Protocol Instance` returned by
|
|
238
|
+
[`GET /_matrix/client/v3/thirdparty/protocols`](/client-server-api/#get_matrixclientv3thirdpartyprotocols).
|
|
239
|
+
example: irc
|
|
240
|
+
example: {
|
|
241
|
+
"limit": 10,
|
|
242
|
+
"filter": {
|
|
243
|
+
"generic_search_term": "foo",
|
|
244
|
+
"room_types": [
|
|
245
|
+
null,
|
|
246
|
+
"m.space"
|
|
247
|
+
]
|
|
248
|
+
},
|
|
249
|
+
"include_all_networks": false,
|
|
250
|
+
"third_party_instance_id": "irc-freenode"
|
|
251
|
+
}
|
|
252
|
+
description: Options for which rooms to return.
|
|
253
|
+
required: true
|
|
254
|
+
responses:
|
|
255
|
+
"200":
|
|
256
|
+
description: A filtered list of the published rooms on the server.
|
|
257
|
+
content:
|
|
258
|
+
application/json:
|
|
259
|
+
schema:
|
|
260
|
+
$ref: definitions/public_rooms_response.yaml
|
|
261
|
+
tags:
|
|
262
|
+
- Room discovery
|
|
263
|
+
servers:
|
|
264
|
+
- url: "{protocol}://{hostname}{basePath}"
|
|
265
|
+
variables:
|
|
266
|
+
protocol:
|
|
267
|
+
enum:
|
|
268
|
+
- http
|
|
269
|
+
- https
|
|
270
|
+
default: https
|
|
271
|
+
hostname:
|
|
272
|
+
default: localhost:8008
|
|
273
|
+
basePath:
|
|
274
|
+
default: /_matrix/client/v3
|
|
275
|
+
components:
|
|
276
|
+
securitySchemes:
|
|
277
|
+
accessTokenQuery:
|
|
278
|
+
$ref: definitions/security.yaml#/accessTokenQuery
|
|
279
|
+
accessTokenBearer:
|
|
280
|
+
$ref: definitions/security.yaml#/accessTokenBearer
|