I added some sleeps to the code with random waiting time values. In this case, for each action of deleting/unlike tweets, and for each time it searches for new tweets to check which actions to perform, I put a longer time in this wait, 30 seconds plus 0-30 randomized seconds, and for each cleaning action I put 3 seconds plus 0 - 10 random seconds.
In my case, which had almost 50k likes to clear (2009 until today), this prevented rate limit warnings which, after about 10, meant I spent around 24 hours without being able to clear any, or even perform actions without the bot.
The process takes longer, but it prevents you from getting any warning, so in the end, it ends up being much less time without the stops.
Additionally, I added an option to like some tweets. What was happening, before discovering this repo, I used services, when they were free, tweetdelet and so on, it turns out that, despite disappearing for me, the likes were still there, result, I had 50k likes as if they had no likes , heart deleted, but when another user opened my account, the like existed. In these cases, I changed the dislike function to first like the tweet, move on and, 3 waves after searching, remove the like. It worked ok.
And, because I'm a boring person, I also ended up adding a counter of how many actions he's already performed. I would also add an ETA, since it is possible to know in advance how many are theoretically left and, with the counter, know how many were made and the time elapsed.
Despite the randomness introduced, for large numbers of actions, there is a probabilistic average of expected times to complete.
Could you add these features to the repository? I believe that your code can be much more usable because it is free and with practically no real problems compared to existing services