diff --git a/src/matrixeventprocessor.ts b/src/matrixeventprocessor.ts index cf1b0f3b173858609c8495c048e1ccade31ee2e4..629bf86e528df9ebbc49a7cfd3b4c275520456a3 100644 --- a/src/matrixeventprocessor.ts +++ b/src/matrixeventprocessor.ts @@ -120,6 +120,16 @@ export class MatrixEventProcessor { messageEmbed.setDescription(body); await this.SetEmbedAuthor(messageEmbed, event.sender, profile); const replyEmbed = getReply ? (await this.GetEmbedForReply(event, channel)) : undefined; + if (replyEmbed && replyEmbed.fields) { + for (let i = 0; i < replyEmbed.fields.length; i++) { + const f = replyEmbed.fields[i]; + if (f.name === "ping") { + messageEmbed.description += `\n(${f.value})`; + replyEmbed.fields.splice(i, 1); + break; + } + } + } return { messageEmbed, replyEmbed, @@ -193,13 +203,13 @@ export class MatrixEventProcessor { const sourceEvent = await intent.getEvent(event.room_id, eventId); sourceEvent.content.body = sourceEvent.content.body || "Reply with unknown content"; const replyEmbed = (await this.EventToEmbed(sourceEvent, channel, false)).messageEmbed; -/* + // if we reply to a discord member, ping them! if (this.bridge.getBot().isRemoteUser(sourceEvent.sender)) { const uid = new MatrixUser(sourceEvent.sender.replace("@", "")).localpart.substring("_discord".length); - replyEmbed.description += ` <@${uid}>`; + replyEmbed.addField("ping", `<@${uid}>`); } -*/ + replyEmbed.timestamp = new Date(sourceEvent.origin_server_ts); return replyEmbed; } catch (ex) {