TheNetsky / Microsoft-Rewards-Script

Automated Microsoft Rewards script, using TypeScript, Cheerio and Playwright.
189 stars 44 forks source link

15min search cooldown between 3 searches for points, new MS restriction #29

Closed mgrimace closed 9 months ago

mgrimace commented 9 months ago

MS has introduced a 15-minute cooldown between every 3 searches, see here

Practically speaking, the script stops earning points after 3 searches, which is showing as [WARN] [SEARCH-BING] Search didn't gain point for 10 iterations aborting searches. This appears to carry-over to mobile so if it stops desktop searches, mobile doesn't earn any points.

edit:

Putting my solution in the top answer here in case folks jump to this issue, changed the search delay in the config.json then re-run npm run build to rebuild the script. The following min/max seems to work best (for me):

    "searchDelay": {
        "min": 180000,
        "max": 270000
    },
TheNetsky commented 9 months ago

Works fine for me this morning, seems to be only in certain countries (as of now). Whenever that is rolled out to my country I will unlikely keep using MS Rewards entirely.

mgrimace commented 9 months ago

Unfortunate but understandable, thanks for your work

TheNetsky commented 9 months ago

Also to counter your issue, maybe increase the search delay to a min of 5min and max of 15min?

mgrimace commented 9 months ago

Also to counter your issue, maybe increase the search delay to a min of 5min and max of 15min?

Thanks so much for that, as a lay-person, how/where would I make those changes? I'll test it out and report back for others just in case.

TheNetsky commented 9 months ago

Should be in the config.json?

mgrimace commented 9 months ago

Should be in the config.json?

Excellent, ok, I changed the search delay in the config.json to min: 5min in miliseconds and max: 15 mins in miliseconds. Then re-ran npm run build to rebuild the script. Here's the change for anyone else affected:

        "searchDelay": {
            "min": 300000,
            "max": 900000
        }           

Re-running the script and it appears to be chugging along (slowly now, of course given the delay) and points are being awarded so far for searches.

I'll report back if there's any further tweaks that need to happen or further issues. Appreciate the help!

mgrimace commented 9 months ago

Ok, reporting back - after a number of hours the desktop searches completed successfully. However, for whatever reason the mobile searches are stuck at 60. I'm not sure what that's all about

CasualPlayer96 commented 9 months ago

Ok, reporting back - after a number of hours the desktop searches completed successfully. However, for whatever reason the mobile searches are stuck at 60. I'm not sure what that's all about

I have the same problem.

TheNetsky commented 9 months ago

I have yet to find a solution for it.

TheNetsky commented 9 months ago

Uhm. 1.4.0 fixed mobile searches. 15min timers are per region and I will not account for those. If you have issues with that you'll have to make your own changes.

mgrimace commented 9 months ago

Uhm. 1.4.0 fixed mobile searches. 15min timers are per region and I will not account for those. If you have issues with that you'll gave to make your own changes.

Completely understandable, I don’t have the scripting skills (just good at copy/paste) but that’s on me, and I appreciate your work. Re. Mobile searches that’s strange, I’ll retry, I was getting 0 even with the 1.4.0 and deleting the session ‘lock’ fixed it for me.

TheNetsky commented 9 months ago

Well as per 1.4.0 you should delete everything when installing 1.4.0.

mgrimace commented 8 months ago

I'm doing some very informal testing on the delay ranges to avoid the cooldown while minimizing the time needed to run the script in full. As far as I can tell, the following works for me:

New

        "searchDelay": {
            "min": 180000,
            "max": 270000
        },

which equates to a range of 3-4.5 minutes per search, which in turn gives a range of 12-18 minutes for every 4 searches. At least one full run of this did not trigger a stop/cooldown/abort. I had previously had it set at 5-15 minutes per search and was able to cut things down:

Old

        "searchDelay": {
            "min": 300000,
            "max": 900000
        },

Posting this here in case any other folks are in a country with a cooldown period timer to hopefully shave some time off.

NevilYT commented 1 month ago

is this limit forever or it is temperory