Add status field to message status events

This commit is contained in:
Tulir Asokan
2022-07-12 15:05:06 +03:00
parent cb11e147ce
commit 9188251501
2 changed files with 11 additions and 5 deletions
+10 -4
View File
@@ -144,6 +144,7 @@ from mautrix.types import (
MediaMessageEventContent,
Membership,
MessageEventContent,
MessageStatus,
MessageStatusReason,
MessageType,
PowerLevelStateEventContent,
@@ -1840,13 +1841,18 @@ class Portal(DBPortal, BasePortal):
rel_type=RelationType.REFERENCE,
event_id=event_id,
),
success=err is None,
)
if err:
if isinstance(err, IgnoredMessageError):
status.status = MessageStatus.FAIL
status.error = str(err)
status.reason = MessageStatusReason.UNSUPPORTED
elif err:
status.reason = MessageStatusReason.GENERIC_ERROR
status.error = str(err)
status.is_certain = True
status.can_retry = not isinstance(err, IgnoredMessageError)
status.status = MessageStatus.RETRIABLE
else:
status.status = MessageStatus.SUCCESS
status.fill_legacy_booleans()
await intent.send_message_event(
room_id=self.mxid,
+1 -1
View File
@@ -3,7 +3,7 @@ python-magic>=0.4,<0.5
commonmark>=0.8,<0.10
aiohttp>=3,<4
yarl>=1,<2
mautrix>=0.17.2,<0.18
mautrix>=0.17.3,<0.18
#telethon>=1.24,<1.25
tulir-telethon==1.25.0a19
asyncpg>=0.20,<0.27