diff --git a/gallery_dl/extractor/twitter.py b/gallery_dl/extractor/twitter.py index 2c06bb0a..22aa78e6 100644 --- a/gallery_dl/extractor/twitter.py +++ b/gallery_dl/extractor/twitter.py @@ -1216,15 +1216,16 @@ class TwitterAPI(): original_retweets = (self.extractor.retweets == "original") while True: - cursor = tweet = None data = self._call(endpoint, params) instr = data["timeline"]["instructions"] if not instr: return - tweet_ids = [] + tweets = data["globalObjects"]["tweets"] users = data["globalObjects"]["users"] + tweet_id = cursor = None + tweet_ids = [] # collect tweet IDs and cursor value for entry in instr[0]["addEntries"]["entries"]: @@ -1243,7 +1244,7 @@ class TwitterAPI(): cursor = entry["content"]["operation"]["cursor"] if not cursor.get("stopOnEmptyResponse", True): # keep going even if there are no tweets - tweet = True + tweet_id = True cursor = cursor["value"] elif entry_startswith("conversationThread-"): @@ -1292,7 +1293,7 @@ class TwitterAPI(): cursor = (instr[-1]["replaceEntry"]["entry"] ["content"]["operation"]["cursor"]["value"]) - if not cursor or not tweet: + if not cursor or (not tweets and not tweet_id): return params["cursor"] = cursor