Skip to content

Commit a11ba29

Browse files
committed
cmd/bsky-webhook: check the correct timestamp
1 parent 3b39b37 commit a11ba29

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

cmd/bsky-webhook/main.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,18 @@ func readJetstreamMessage(ctx context.Context, jetstreamMessageEncoded []byte, b
231231
}
232232

233233
// we can ignore these messages
234-
if bskyMessage.Time < (time.Now().UnixMicro()-86400000000) || bskyMessage.Kind != "commit" || bskyMessage.Commit == nil || bskyMessage.Commit.Operation != "create" || bskyMessage.Commit.Record == nil || bskyMessage.Commit.Rkey == "" {
234+
if bskyMessage.Kind != "commit" || bskyMessage.Commit == nil || bskyMessage.Commit.Operation != "create" || bskyMessage.Commit.Record == nil || bskyMessage.Commit.Rkey == "" {
235+
return nil
236+
}
237+
238+
// parse timestamp user provided when posting
239+
postTime, err := time.Parse(time.RFC3339, bskyMessage.Commit.Record.CreatedAtString)
240+
if err != nil {
241+
return err
242+
}
243+
244+
// if too old, ignore
245+
if time.Since(postTime) > time.Hour*24 {
235246
return nil
236247
}
237248

cmd/bsky-webhook/types.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,9 @@ type BskyCommit struct {
2929
}
3030

3131
type BskyRecord struct {
32-
Text string `json:"text"`
33-
Embed BskyEmbed `json:"embed"`
32+
Text string `json:"text"`
33+
Embed BskyEmbed `json:"embed"`
34+
CreatedAtString string `json:"createdAt"`
3435
}
3536

3637
type BskyEmbed struct {

0 commit comments

Comments
 (0)