diff --git a/lib/v2/twitter/web-api/twitter-api.js b/lib/v2/twitter/web-api/twitter-api.js index 9c912adef0..c0b86bca53 100644 --- a/lib/v2/twitter/web-api/twitter-api.js +++ b/lib/v2/twitter/web-api/twitter-api.js @@ -151,6 +151,7 @@ function gatherLegacyFromData(entries, filterNested, userId) { continue; } t.legacy.user = t.core?.user_result?.result?.legacy || t.core?.user_results?.result?.legacy; + t.legacy.id_str = t.rest_id; // avoid falling back to conversation_id_str elsewhere const quote = t.quoted_status_result?.result; if (quote) { t.legacy.quoted_status = quote.legacy; @@ -257,7 +258,11 @@ const getUserTweets = async (cache, id, params = {}) => { } const idSet = new Set(); tweets = tweets - .filter((tweet) => !tweet.in_reply_to_screen_name) // exclude replies + .filter( + (tweet) => + !tweet.in_reply_to_user_id_str || // exclude replies + tweet.in_reply_to_user_id_str === rest_id // but include replies to self (threads) + ) .map((tweet) => { const id_str = tweet.id_str || tweet.conversation_id_str; return !idSet.has(id_str) && idSet.add(id_str) && tweet;