diff --git a/discord/interactions/matrix-info.js b/discord/interactions/matrix-info.js index 9f0e9e15..fac38043 100644 --- a/discord/interactions/matrix-info.js +++ b/discord/interactions/matrix-info.js @@ -7,7 +7,8 @@ const {discord, sync, db, select, from} = require("../../passthrough") const api = sync.require("../../matrix/api") /** @param {DiscordTypes.APIContextMenuGuildInteraction} interaction */ -async function interact({id, token, data}) { +/** @param {DiscordTypes.APIMessageApplicationCommandGuildInteraction} interaction */ +async function interact({id, token, guild_id, channel, data}) { const message = from("event_message").join("message_channel", "message_id").join("channel_room", "channel_id") .select("name", "nick", "source", "room_id", "event_id").where({message_id: data.target_id}).get() @@ -21,12 +22,15 @@ async function interact({id, token, data}) { }) } + const idInfo = `\n-# Room ID: \`${message.room_id}\`\n-# Event ID: \`${message.event_id}\`` + if (message.source === 1) { // from Discord + const userID = data.resolved.messages[data.target_id].author.id return discord.snow.interaction.createInteractionResponse(id, token, { type: DiscordTypes.InteractionResponseType.ChannelMessageWithSource, data: { - content: `This message was bridged to [${message.nick || message.name}]() on Matrix.` - + `\n-# Room ID: \`${message.room_id}\`\n-# Event ID: \`${message.event_id}\``, + content: `Bridged <@${userID}> https://discord.com/channels/${guild_id}/${channel.id}/${data.target_id} on Discord to [${message.nick || message.name}]() on Matrix.` + + idInfo, flags: DiscordTypes.MessageFlags.Ephemeral } }) @@ -37,9 +41,8 @@ async function interact({id, token, data}) { return discord.snow.interaction.createInteractionResponse(id, token, { type: DiscordTypes.InteractionResponseType.ChannelMessageWithSource, data: { - content: `This message was bridged from [${message.nick || message.name}]() on Matrix.` - + `\nIt was originally sent by [${event.sender}]().` - + `\n-# Room ID: \`${message.room_id}\`\n-# Event ID: \`${message.event_id}\``, + content: `Bridged [${event.sender}]()'s message in [${message.nick || message.name}]() on Matrix to https://discord.com/channels/${guild_id}/${channel.id}/${data.target_id} on Discord.` + + idInfo, flags: DiscordTypes.MessageFlags.Ephemeral } })