* build(deps): add matrix-nio
* build(deps): update requirements.txt for matrix-nio
* feat: add example config for matrix
* feat: init matrix support
* feat: do init sync to avoid receiving old messages
* feat: store next sync batch with file
* feat: parse matrix message
* feat: check moderator permission
* feat: redacting message
* feat: toMessageChain for m.text and m.image
* feat: drop m.notice messages
* feat: sending messages
* fix: power level fetching
* fix: rich reply fallback stripping
* style: less log
* feat: guess image content type
* fix: image upload
* feat: sending audio
* chore: add todo
* chore: add todo
* fix: use FinS.result to store room id
As the spec, room_id is an opaque identifier, and at least all valid ASCII characters except '/' and ':' can be included in room_id. This means in some servers, '|' may be included in room_id.
* fix: print RoomSendError
* fix: public rooms with two user are regarded as DM
* feat: resolving pm
* fix: nio.ErrorResponse
* feat: add post test
* feat: pm post test
* Revert "feat: pm post test"
This reverts commit 3688213c80.
* Revert "feat: add post test"
This reverts commit 259fcf54ca.
* feat: create TPM room
* feat: send typing notifications
* feat: leave empty room
* feat: rich reply formatted fallback support
* fix: import
* fix: include body in formatted rich reply fallbacks
* fix: escape line breaks in html
* fix: <br/> tag
* feat: improve matrix direct messaging
* feat: parse m.emote as m.text
* fix: command run blockingly
* fix: message send error handle
* fix: keep DM room
* fix: reuse of DM rooms
* feat: add error log
* docs: add deploy guide for matrix
* docs: add matrix to readme
* docs: add more warning
* style: remove explictly type declartion (poljar/matrix-nio#417)
* feat: receive audio message
* feat: standard rich-reply fallback for m.emote
* chore: add matrix to bug report issues template