28 lines
665 B
Go
28 lines
665 B
Go
package poster
|
|
|
|
import (
|
|
"log/slog"
|
|
"time"
|
|
|
|
"pete/internal/storage"
|
|
|
|
"maunium.net/go/mautrix/id"
|
|
)
|
|
|
|
// HandleReaction processes a reaction event by mapping it back to the story GUID.
|
|
func HandleReaction(roomID id.RoomID, eventID id.EventID, targetEventID id.EventID, emoji string, userID id.UserID) {
|
|
guid, channel, found := storage.LookupPostGUID(string(targetEventID))
|
|
if !found {
|
|
// Reaction on a message we didn't post — ignore
|
|
return
|
|
}
|
|
|
|
storage.InsertReaction(guid, channel, string(eventID), emoji, string(userID), time.Now().Unix())
|
|
slog.Debug("reaction recorded",
|
|
"guid", guid,
|
|
"channel", channel,
|
|
"emoji", emoji,
|
|
"user", userID,
|
|
)
|
|
}
|