traewelling
traewelling copied to clipboard
Tweet Chaining
Is your feature request related to a problem? Please describe. As a Long Distance Träweller, I'd like to chain all tweets in a single thread on journeys with multiple legs. This way, it is clearer that I'm on one long trip rather than on multiple short ones.
Describe the solution you'd like During the checkin process, I'd like to have a toggle that enables this option. Träwelling should then find my last checkin and post the new checkin text as a reply to that tweet. If I have already started a thread off the first tweet (i.e. with pictures of the carriage), TRWL should append itself at the end of the chain.
Describe alternatives you've considered As a low-effort alternative, the generated tweet text can be shown so I can copy and paste it at the end of the thread manually.
Additional context / Solution Proposal This idea can contain multiple separate stories:
- Save the tweet id / url next to some
train_checkin
information. - Implement logic to traverse to the end of the chain.
- Allow the post logic to be a reply.
- Deal with problems if the original tweet is deleted.
- Create a checkbox on the checkin flow.
NOTE: For the first iteration, this should only happen for Tweets, not Mastodon posts. Once the feature landed, we can recreate it in Mastodon later.
I'm happy to hear your thoughts about this!
That sounds good and I would use that feature as well. 👍🏼
Good Idea. Maybe this overlaps a bit with #769.
I just spend my evening with the Twitter API. Because $things, the api doesn't give a great way to traverse a thread, but rather wants you to look through the answers individually. Given how all of this works, I'd like to mark this feature as beta
, try it out but no warranty
and make all wordings as cautious as possible.
That's how I believe the checkin flow could look like (you can download the PNG and upload it to draw.io:
And here's to a list of longer code snippets from the image:
-
$post_in_tweetchain && user()->statuses()->where("tweet_id", "!=", null)->exists()
-
/tweets?ids= --- $status_origin->tweet_id --- &tweet.fields=conversation_id
-
/tweets/search/recent
mitquery: 'conversation_id:$resp->conversation_id from:$twitter_acc_id to:$twitter_acc_id'
undsort_order: 'recency'
-
$params = [ status="@$username " . $socialText, "in_reply_to_status_id" => $reply_id, "auto_populate_reply_metadata" => true ]
. Please consult the Twitter API for any information.
If I find the time, I can implement this wizardary by myself, but I'm also happy if anyone else runs with it.
Toot Chaining is implemented, Tweets from Träwelling have been deprecated. Closing for good.