Bridge the shortcode as part of reactions
This commit is contained in:
parent
4f807159ba
commit
a396e6f596
3 changed files with 13 additions and 8 deletions
|
@ -50,7 +50,8 @@ async function addReaction(data) {
|
|||
rel_type: "m.annotation",
|
||||
event_id: parentID,
|
||||
key
|
||||
}
|
||||
},
|
||||
shortcode: `:${data.emoji.name}:`
|
||||
}, senderMxid)
|
||||
return eventID
|
||||
}
|
||||
|
|
|
@ -21,16 +21,19 @@ async function addReaction(event) {
|
|||
let discordPreferredEncoding
|
||||
if (emoji.startsWith("mxc://")) {
|
||||
// Custom emoji
|
||||
const row = select("emoji", ["id", "name"], "WHERE mxc_url = ?").get(emoji)
|
||||
if (row) {
|
||||
// Great, we know exactly what this emoji is!
|
||||
discordPreferredEncoding = encodeURIComponent(`${row.name}:${row.id}`)
|
||||
} else {
|
||||
let row = select("emoji", ["id", "name"], "WHERE mxc_url = ?").get(emoji)
|
||||
if (!row && event.content.shortcode) {
|
||||
// Use the name to try to find a known emoji with the same name.
|
||||
const name = event.content.shortcode.replace(/^:|:$/g, "")
|
||||
row = select("emoji", ["id", "name"], "WHERE name = ?").get(name)
|
||||
}
|
||||
if (!row) {
|
||||
// We don't have this emoji and there's no realistic way to just-in-time upload a new emoji somewhere.
|
||||
// We can't try using a known emoji with the same name because we don't even know what the name is. We only have the mxc url.
|
||||
// Sucks!
|
||||
return
|
||||
}
|
||||
// Cool, we got an exact or a candidate emoji.
|
||||
discordPreferredEncoding = encodeURIComponent(`${row.name}:${row.id}`)
|
||||
} else {
|
||||
// Default emoji
|
||||
// https://github.com/discord/discord-api-docs/issues/2723#issuecomment-807022205 ????????????
|
||||
|
|
3
types.d.ts
vendored
3
types.d.ts
vendored
|
@ -171,7 +171,8 @@ export namespace Event {
|
|||
rel_type: "m.annotation"
|
||||
event_id: string // the event that was reacted to
|
||||
key: string // the unicode emoji, mxc uri, or reaction text
|
||||
}
|
||||
},
|
||||
"shortcode"?: string // starts and ends with colons
|
||||
}
|
||||
|
||||
export type Outer_M_Room_Redaction = Outer<{
|
||||
|
|
Loading…
Reference in a new issue