prevent rapid api calls when running into post rate limit
This commit is contained in:
+2
-2
@@ -93,7 +93,7 @@ class TwAPI:
|
|||||||
tweet = self.client.create_tweet(text=text, media_ids=media_ids, in_reply_to_tweet_id=reply_to_tweet, quote_tweet_id=quote_tweet_id)
|
tweet = self.client.create_tweet(text=text, media_ids=media_ids, in_reply_to_tweet_id=reply_to_tweet, quote_tweet_id=quote_tweet_id)
|
||||||
return tweet
|
return tweet
|
||||||
except tweepy.TooManyRequests as e:
|
except tweepy.TooManyRequests as e:
|
||||||
wait_for = float(e.response.headers["x-rate-limit-reset"]) - datetime.datetime.now().timestamp() + 1
|
wait_for = abs(float(e.response.headers["x-rate-limit-reset"]) - datetime.datetime.now().timestamp()) + 1
|
||||||
print(f'\thit rate limit -- attempting to create Tweet again in {wait_for} seconds...')
|
print(f'\thit rate limit -- attempting to create Tweet again in {wait_for} seconds...')
|
||||||
await asyncio.sleep(wait_for)
|
await asyncio.sleep(wait_for)
|
||||||
return await self.post_tweet(text=text, media_ids=media_ids, reply_to_tweet=reply_to_tweet)
|
return await self.post_tweet(text=text, media_ids=media_ids, reply_to_tweet=reply_to_tweet)
|
||||||
@@ -164,4 +164,4 @@ class TwAPI:
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
print(f'Posting {ttweet.username}/{ttweet.tweet_id}...')
|
print(f'Posting {ttweet.username}/{ttweet.tweet_id}...')
|
||||||
return await self.post_ttweet(ttweet)
|
return await self.post_ttweet(ttweet)
|
||||||
|
|||||||
Reference in New Issue
Block a user