add some more message parses
This commit is contained in:
parent
690d2549bc
commit
c784094a4c
1 changed files with 21 additions and 25 deletions
|
|
@ -91,6 +91,14 @@ class MessageController extends AsyncNotifier<Message?> {
|
||||||
)
|
)
|
||||||
as TextMessage;
|
as TextMessage;
|
||||||
|
|
||||||
|
Message toSystemMessage(String content) => Message.system(
|
||||||
|
metadata: {...metadata, "body": content},
|
||||||
|
id: config.event.eventId,
|
||||||
|
authorId: event.authorId,
|
||||||
|
deliveredAt: config.event.timestamp,
|
||||||
|
text: content,
|
||||||
|
);
|
||||||
|
|
||||||
return switch (type) {
|
return switch (type) {
|
||||||
"m.room.encrypted" => asText.copyWith(
|
"m.room.encrypted" => asText.copyWith(
|
||||||
text: "Unable to decrypt message.",
|
text: "Unable to decrypt message.",
|
||||||
|
|
@ -132,33 +140,21 @@ class MessageController extends AsyncNotifier<Message?> {
|
||||||
"m.room.member" =>
|
"m.room.member" =>
|
||||||
content["membership"] == event.unsigned["prev_content"]?["membership"]
|
content["membership"] == event.unsigned["prev_content"]?["membership"]
|
||||||
? null
|
? null
|
||||||
: Message.system(
|
: toSystemMessage(
|
||||||
metadata: {
|
"${content["displayname"] ?? event.stateKey} ${switch (content["membership"]) {
|
||||||
...metadata,
|
"invite" => "was invited to",
|
||||||
"body":
|
"join" => "joined",
|
||||||
"${content["displayname"] ?? event.stateKey} ${switch (content["membership"]) {
|
"leave" => event.authorId == event.stateKey ? "was kicked" : "left",
|
||||||
"invite" => "was invited to",
|
"ban" => "was banned from",
|
||||||
"join" => "joined",
|
"knock" => "asked to join",
|
||||||
"leave" => "left",
|
_ => "did something relating to",
|
||||||
"knock" => "asked to join",
|
}} the room.",
|
||||||
"ban" => "was banned from",
|
|
||||||
_ => "did something relating to",
|
|
||||||
}} the room.",
|
|
||||||
},
|
|
||||||
id: config.event.eventId,
|
|
||||||
authorId: event.authorId,
|
|
||||||
deliveredAt: config.event.timestamp,
|
|
||||||
text:
|
|
||||||
"${content["displayname"] ?? event.stateKey} ${switch (content["membership"]) {
|
|
||||||
"invite" => "was invited to",
|
|
||||||
"join" => "joined",
|
|
||||||
"leave" => "left",
|
|
||||||
"knock" => "asked to join",
|
|
||||||
"ban" => "was banned from",
|
|
||||||
_ => "did something relating to",
|
|
||||||
}} the room.",
|
|
||||||
),
|
),
|
||||||
|
|
||||||
|
"m.room.server_acl" => toSystemMessage(
|
||||||
|
"${event.authorId} updated the server ban list.",
|
||||||
|
),
|
||||||
|
|
||||||
"m.room.redaction" =>
|
"m.room.redaction" =>
|
||||||
config.alwaysReturn
|
config.alwaysReturn
|
||||||
? asText.copyWith(
|
? asText.copyWith(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue