mirror Discord replies as replies on X and bluesky
Replying to a message on the watched channel now posts the reply as a reply to the posts that message produced, instead of as a standalone post. Discord tells us the parent through MessageReference, and the store maps it back to the Ref each output returned; that Ref rides along on the new Post.ReplyTo. X takes it as in_reply_to_tweet_id. Bluesky needs the thread root as well as the parent, so a Ref now carries the root it was posted under and a post that is not itself a reply acts as its own root. Replying to something we never distributed, an error notice from the bot for instance, still posts normally. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -63,6 +63,12 @@ func (to *twitteroutput) Write(post Post) (Ref, error) {
|
||||
MediaIDs: mediaIDs,
|
||||
}
|
||||
}
|
||||
if post.ReplyTo != nil && post.ReplyTo.ID != "" {
|
||||
p.Reply = &types.CreateInputReply{
|
||||
InReplyToTweetID: post.ReplyTo.ID,
|
||||
}
|
||||
}
|
||||
|
||||
out, err := managetweet.Create(context.Background(), to.client, p)
|
||||
if err != nil {
|
||||
return Ref{}, err
|
||||
|
||||
Reference in New Issue
Block a user