diff --git a/internal/reddit/types.go b/internal/reddit/types.go index 4a170ee..64dad0a 100644 --- a/internal/reddit/types.go +++ b/internal/reddit/types.go @@ -79,6 +79,7 @@ type Thing struct { Title string `json:"title"` URL string `json:"url"` Flair string `json:"flair"` + Thumbnail string `json:"thumbnail"` } func (t *Thing) FullName() string { @@ -114,6 +115,7 @@ func NewThing(val *fastjson.Value) *Thing { t.SelfText = string(data.GetStringBytes("selftext")) t.URL = string(data.GetStringBytes("url")) t.Flair = string(data.GetStringBytes("link_flair_text")) + t.Thumbnail = string(data.GetStringBytes("thumbnail")) return t } diff --git a/internal/worker/subreddits.go b/internal/worker/subreddits.go index da742b5..0c141e9 100644 --- a/internal/worker/subreddits.go +++ b/internal/worker/subreddits.go @@ -447,5 +447,9 @@ func payloadFromPost(post *reddit.Thing) *payload.Payload { MutableContent(). Sound("traloop.wav") + if post.Thumbnail != "" { + payload.Custom("thumbnail", post.Thumbnail) + } + return payload } diff --git a/internal/worker/trending.go b/internal/worker/trending.go index 09af392..f1cde16 100644 --- a/internal/worker/trending.go +++ b/internal/worker/trending.go @@ -318,7 +318,7 @@ func (tc *trendingConsumer) Consume(delivery rmq.Delivery) { func payloadFromTrendingPost(post *reddit.Thing) *payload.Payload { title := fmt.Sprintf(trendingNotificationTitleFormat, post.Subreddit) - return payload. + payload := payload. NewPayload(). AlertTitle(title). AlertBody(post.Title). @@ -331,4 +331,10 @@ func payloadFromTrendingPost(post *reddit.Thing) *payload.Payload { Custom("post_age", post.CreatedAt). MutableContent(). Sound("traloop.wav") + + if post.Thumbnail != "" { + payload.Custom("thumbnail", post.Thumbnail) + } + + return payload }