Coder Social home page Coder Social logo

thenetsky / microsoft-rewards-script Goto Github PK

View Code? Open in Web Editor NEW
131.0 131.0 30.0 103 KB

Automated Microsoft Rewards script, using TypeScript, Cheerio and Playwright.

JavaScript 3.90% TypeScript 94.02% Dockerfile 1.27% Shell 0.81%
bot microsoft-rewards microsoft-rewards-bot microsoft-rewards-farmer playwright script typescript

microsoft-rewards-script's People

Contributors

jordyamc avatar mgrimace avatar omniphantasm avatar thenetsky avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

microsoft-rewards-script's Issues

"Clear cache on exit" configuration parameter

I would really appreciate it if you could add an argument to the config to remove the cache after farming, since Chrome uses up too much session storage space after a few days. I'm attaching a photo of the options to clean

image

search Points

Points are not counted when searches take place. and I see that the script returns a warning likely bad User-Agent
why?

[17/1/2024, 23:50:14] [PID: 25788] [LOG] [SEARCH-BING] 87 Points Remaining | Query: milf | Mobile: false
[17/1/2024, 23:50:37] [PID: 25788] [LOG] [SEARCH-BING] 87 Points Remaining | Query: sonego | Mobile: false
[17/1/2024, 23:51:06] [PID: 25788] [LOG] [SEARCH-BING] 87 Points Remaining | Query: carlos alcaraz | Mobile: false
[17/1/2024, 23:51:30] [PID: 25788] [LOG] [SEARCH-BING] 87 Points Remaining | Query: zeppieri | Mobile: false
[17/1/2024, 23:52:01] [PID: 25788] [LOG] [SEARCH-BING] 87 Points Remaining | Query: sonego oggi | Mobile: false
[17/1/2024, 23:52:31] [PID: 25788] [LOG] [SEARCH-BING] 87 Points Remaining | Query: bundesliga | Mobile: false
[17/1/2024, 23:53:00] [PID: 25788] [LOG] [SEARCH-BING] 87 Points Remaining | Query: monza-inter | Mobile: false
[17/1/2024, 23:53:27] [PID: 25788] [LOG] [SEARCH-BING] 87 Points Remaining | Query: peppino de filippo | Mobile: false
[17/1/2024, 23:53:57] [PID: 25788] [LOG] [SEARCH-BING] 87 Points Remaining | Query: yemen | Mobile: false
[17/1/2024, 23:54:24] [PID: 25788] [WARN] [SEARCH-BING] Search didn't gain point for 10 iterations aborting searches
[17/1/2024, 23:54:24] [PID: 25788] [LOG] [SEARCH-BING] Search completed but we're missing 87 points, generating extra searches
[17/1/2024, 23:54:25] [PID: 25788] [LOG] [SEARCH-BING-EXTRA] 87 Points Remaining | Query: venezia sampdoria biglietti | Mobile: false
[17/1/2024, 23:54:54] [PID: 25788] [LOG] [SEARCH-BING-EXTRA] 87 Points Remaining | Query: sampdoria venezia highlights | Mobile: false
[17/1/2024, 23:55:20] [PID: 25788] [LOG] [SEARCH-BING-EXTRA] 87 Points Remaining | Query: milford sound | Mobile: false
[17/1/2024, 23:55:50] [PID: 25788] [LOG] [SEARCH-BING-EXTRA] 87 Points Remaining | Query: milf meaning philippines | Mobile: false
[17/1/2024, 23:56:19] [PID: 25788] [LOG] [SEARCH-BING-EXTRA] 87 Points Remaining | Query: sonego live | Mobile: false
[17/1/2024, 23:56:41] [PID: 25788] [LOG] [SEARCH-BING-EXTRA] 87 Points Remaining | Query: sonego berrettini | Mobile: false

It almost feels like a block. I've tried to start random searches from my browser very fast too and it seems to count them

Discord Telegram Message

Hi, could be possible to send only a message for say the result for each account ? and not all log ?

browser stuck

sometimes browser stuck and please add skip suspended acc and continue other account
and maybe if possible add log file so completed acc dont launch again

Script random Stop

I don't know why but when the script is run on windows it doesn't give any problems. But when run on linux in headless mode, I often find the log stopped without any errors but it didn't move forward.

[26/1/2024, 17:03:38] [PID: 29708] [LOG] [BROWSER] Created browser with User-Agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0"
[26/1/2024, 17:03:38] [PID: 29708] [LOG] [MAIN] Starting DESKTOP browser
[26/1/2024, 17:03:59] [PID: 29708] [LOG] [LOGIN] Email entered successfully
[26/1/2024, 17:04:02] [PID: 29708] [LOG] [LOGIN] Password entered successfully

AND STOP

Solving "This or That" Quiz

Since this item is not available in my region, I have a hard time finding solving logic for this.
I've made some accounts in other regions and got this quiz a handful of times, however I am unable to find a proper solution method besides randomly guessing and thus missing out on some points. (But it will complete your daily tasks and keep the streak)

Initially by looking around I've seen people use the quiz data, which has the "correctAnswer" property, however in my experience this is always null. So not sure if this is a regional thing. Besides that I've yet to find a way to correctly guess the answers to this quiz.

Lmk if you know a way or if you'd rather have my guess the quiz instead. Since once gain this quiz type does not exist in my region, I personally don't have a rush to add this type.

Unable to complete searches

Hi,
i'm using latest version (just reinstalled from scratch) and i'm experiencing errors while doing searches:

"[16/1/2024, 16:52:30] [PID: 12712] [ERROR] [SEARCH-BING] Search failed, An error occurred:Error: page.waitForSelector: Timeout 10000ms exceeded.
Call log:

  • waiting for locator('#sb_form_q')"

I'm having this problem only in one account while other 2 are not experiencing errors

2FA Issue

On one of my accounts i have 2FA active. The app asks me to enter a 2FA code but the 2FA for that requires to tab the displayed number on my phone. If i do and enter nothing (or some randome stuff) the app crashes with the message that an element cannot be found.

In my opinion there should be a fallback where the app checks if the user is logged in after the 2FA stuff (e.g. logged in manualy) and than just continue with the usual workflow.

Resume Unfarmed Accounts

I kindly request a feature to resume unfarmed accounts, rather than starting from the first account each time. This would significantly enhance efficiency.

headless depracation warning, FYI, non-urgent

I receive the following warning when running the script headless on a ubuntu server:

  Puppeteer old Headless deprecation warning:
    In the near future `headless: true` will default to the new Headless mode
    for Chrome instead of the old Headless implementation. For more
    information, please see https://developer.chrome.com/articles/new-headless/.
    Consider opting in early by passing `headless: "new"` to `puppeteer.launch()`
    If you encounter any bugs, please report them to https://github.com/puppeteer/puppeteer/issues/new/choose.

This appears to be a non-urgent issue, and posting just in case since I think you mentioned you don't use headless mode in another thread.

Requesting main frame too early issues

Hello

i've been trying to run this script on my pc (i5-8600k, 16gb ram, 1070ti) and im getting pretty much the same error over and over, shouldnt be a performance issue cause by a slow pc

Here is the log

npm run start

> [email protected] start
> node ./dist/index.js

[2023-10-30T10:02:52.698Z] [PID: 6504] [LOG] [MAIN] Bot started with 1 clusters
[2023-10-30T10:02:52.744Z] [PID: 6504] [LOG] [MAIN-WORKER] Started tasks for account ...
[2023-10-30T10:02:53.361Z] [PID: 6504] [LOG] [MAIN] Starting DESKTOP browser
[2023-10-30T10:02:57.539Z] [PID: 6504] [LOG] [LOGIN] Already logged in
[2023-10-30T10:02:57.541Z] [PID: 6504] [LOG] [LOGIN-BING] Verifying Bing login
[2023-10-30T10:03:01.898Z] [PID: 6504] [LOG] [LOGIN-BING] Bing login verification passed!
[2023-10-30T10:03:01.900Z] [PID: 6504] [LOG] [LOGIN] Logged in successfully
[2023-10-30T10:03:12.250Z] [PID: 6504] [LOG] [MAIN-POINTS] Current point count: 223
[2023-10-30T10:03:12.253Z] [PID: 6504] [LOG] [MAIN-POINTS] You can earn 70 points today
[2023-10-30T10:03:12.255Z] [PID: 6504] [LOG] [DAILY-SET] Started solving "Daily Set" items
[2023-10-30T10:03:12.818Z] [PID: 6504] [LOG] [ACTIVITY] Found activity type: "Quiz" title: "Quiz bonus"
[2023-10-30T10:03:12.821Z] [PID: 6504] [LOG] [QUIZ] Trying to complete quiz
[2023-10-30T10:03:17.842Z] [PID: 6504] [ERROR] [QUIZ] An error occurred:TimeoutError: Timed out after waiting 5000ms
[2023-10-30T10:03:19.345Z] [PID: 6504] [ERROR] [ACTIVITY] An error occurred:Error: Requesting main frame too early!
[2023-10-30T10:03:19.347Z] [PID: 6504] [LOG] [DAILY-SET] All "Daily Set" items have been completed
[2023-10-30T10:03:19.348Z] [PID: 6504] [LOG] [MORE-PROMOTIONS] Started solving "More Promotions" item
[2023-10-30T10:03:19.350Z] [PID: 6504] [ERROR] [ACTIVITY] An error occurred:Error: Requesting main frame too early!
[2023-10-30T10:03:19.351Z] [PID: 6504] [ERROR] [ACTIVITY] An error occurred:Error: Requesting main frame too early!
[2023-10-30T10:03:19.353Z] [PID: 6504] [ERROR] [ACTIVITY] An error occurred:Error: Requesting main frame too early!
[2023-10-30T10:03:19.354Z] [PID: 6504] [ERROR] [ACTIVITY] An error occurred:Error: Requesting main frame too early!
[2023-10-30T10:03:19.355Z] [PID: 6504] [ERROR] [ACTIVITY] An error occurred:Error: Requesting main frame too early!
[2023-10-30T10:03:19.356Z] [PID: 6504] [ERROR] [ACTIVITY] An error occurred:Error: Requesting main frame too early!
[2023-10-30T10:03:19.358Z] [PID: 6504] [ERROR] [ACTIVITY] An error occurred:Error: Requesting main frame too early!
[2023-10-30T10:03:19.359Z] [PID: 6504] [ERROR] [ACTIVITY] An error occurred:Error: Requesting main frame too early!
[2023-10-30T10:03:19.360Z] [PID: 6504] [ERROR] [ACTIVITY] An error occurred:Error: Requesting main frame too early!
[2023-10-30T10:03:19.361Z] [PID: 6504] [ERROR] [ACTIVITY] An error occurred:Error: Requesting main frame too early!
[2023-10-30T10:03:19.363Z] [PID: 6504] [ERROR] [ACTIVITY] An error occurred:Error: Requesting main frame too early!
[2023-10-30T10:03:19.364Z] [PID: 6504] [ERROR] [ACTIVITY] An error occurred:Error: Requesting main frame too early!
[2023-10-30T10:03:19.366Z] [PID: 6504] [LOG] [MORE-PROMOTIONS] All "More Promotion" items have been completed
[2023-10-30T10:03:19.367Z] [PID: 6504] [LOG] [PUNCH-CARD] All "Punch Cards" have already been completed
[2023-10-30T10:03:19.368Z] [PID: 6504] [LOG] [SEARCH-BING] Starting bing searches
[2023-10-30T10:03:19.370Z] [PID: 6504] [LOG] [SEARCH-GOOGLE-TRENDS] Generating search queries, can take a while! | GeoLocale: US
[2023-10-30T10:03:20.197Z] [PID: 6504] [LOG] [SEARCH-BING] 30 Points Remaining | Query: titans | Mobile: false
[2023-10-30T10:03:48.716Z] [PID: 6504] [ERROR] [SEARCH-BING] Search failed, An error occurred:Error: Requesting main frame too early!
[2023-10-30T10:03:48.719Z] [PID: 6504] [WARN] [SEARCH-BING] Retrying search, attempt 0/5
[2023-10-30T10:04:22.403Z] [PID: 6504] [ERROR] [SEARCH-BING] Search failed, An error occurred:Error: Requesting main frame too early!
[2023-10-30T10:04:22.404Z] [PID: 6504] [WARN] [SEARCH-BING] Retrying search, attempt 1/5
[2023-10-30T10:04:49.753Z] [PID: 6504] [ERROR] [SEARCH-BING] Search failed, An error occurred:Error: Requesting main frame too early!
[2023-10-30T10:04:49.755Z] [PID: 6504] [WARN] [SEARCH-BING] Retrying search, attempt 2/5
[2023-10-30T10:05:14.806Z] [PID: 6504] [ERROR] [SEARCH-BING] Search failed, An error occurred:Error: Requesting main frame too early!
[2023-10-30T10:05:14.808Z] [PID: 6504] [WARN] [SEARCH-BING] Retrying search, attempt 3/5
[2023-10-30T10:05:39.378Z] [PID: 6504] [ERROR] [SEARCH-BING] Search failed, An error occurred:Error: Requesting main frame too early!
[2023-10-30T10:05:39.380Z] [PID: 6504] [WARN] [SEARCH-BING] Retrying search, attempt 4/5
[2023-10-30T10:05:43.396Z] [PID: 6504] [ERROR] [SEARCH-BING] Search failed after 5 retries, ending
C:\Users\...\Documents\Repositories\Microsoft-Rewards-Script\node_modules\puppeteer-core\lib\cjs\puppeteer\util\assert.js:28
        throw new Error(message);
              ^

Error: Requesting main frame too early!
    at assert (C:\Users\...\Documents\Repositories\Microsoft-Rewards-Script\node_modules\puppeteer-core\lib\cjs\puppeteer\util\assert.js:28:15)
    at FrameManager.mainFrame (C:\Users\...\Documents\Repositories\Microsoft-Rewards-Script\node_modules\puppeteer-core\lib\cjs\puppeteer\cdp\FrameManager.js:223:32)
    at CdpPage.mainFrame (C:\Users\...\Documents\Repositories\Microsoft-Rewards-Script\node_modules\puppeteer-core\lib\cjs\puppeteer\cdp\Page.js:415:35)
    at CdpPage.url (C:\Users\...\Documents\Repositories\Microsoft-Rewards-Script\node_modules\puppeteer-core\lib\cjs\puppeteer\api\Page.js:650:25)
    at getDashboardData (C:\Users\...\Documents\Repositories\Microsoft-Rewards-Script\dist\browser\BrowserFunc.js:55:37)
    at getSearchPoints (C:\Users\...\Documents\Repositories\Microsoft-Rewards-Script\dist\browser\BrowserFunc.js:116:33)
    at bingSearch (C:\Users\...\Documents\Repositories\Microsoft-Rewards-Script\dist\functions\activities\Search.js:146:52)
    at async doSearch (C:\Users\...\Documents\Repositories\Microsoft-Rewards-Script\dist\functions\activities\Search.js:42:25)
    at async MicrosoftRewardsBot.Desktop (C:\Users\...\Documents\Repositories\Microsoft-Rewards-Script\dist\index.js:128:13)
    at async MicrosoftRewardsBot.runTasks (C:\Users\...\Documents\Repositories\Microsoft-Rewards-Script\dist\index.js:71:13)

Node.js v18.17.0

I also faced another issue, i was getting this error Failed to launch the browser process! undefined which is a puppeteer error, i fixed it by adding the following lines to puppeteer.launch

executablePath: 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe',
ignoreDefaultArgs: ['--disable-extensions'],

But headless still doesnt seem to work, i understand it might be a puppeteer issue and not this script, or could it be that microsoft doesnt allow headless when connecting to their address?

Thanks

Crash on browser error

OS: Windows 10 19045
Node: 18.18.2 (LTS)

The script doesn't like when bing returns an error 500.
With headless disabled I can see the error screen flash before it crashes.
Microsoft also gives me a 500 after signing in which i can just refresh manually then the script keeps going.

[21/01/2024, 13:16:33] [PID: 12944] [LOG] [MAIN] Starting DESKTOP browser
[21/01/2024, 13:16:54] [PID: 12944] [LOG] [LOGIN] Email entered successfully
[21/01/2024, 13:16:56] [PID: 12944] [LOG] [LOGIN] Password entered successfully
[21/01/2024, 13:17:38] [PID: 12944] [LOG] [LOGIN] Logged into Microsoft successfully
[21/01/2024, 13:17:38] [PID: 12944] [LOG] [LOGIN-BING] Verifying Bing login
[21/01/2024, 13:17:41] [PID: 12944] [LOG] [LOGIN-BING] Bing login verification passed!
[21/01/2024, 13:17:41] [PID: 12944] [LOG] [LOGIN] Logged in successfully
[21/01/2024, 13:17:51] [PID: 12944] [LOG] [GO-HOME] Visited homepage successfully
[21/01/2024, 13:17:53] [PID: 12944] [LOG] [MAIN-POINTS] Current point count: 1285
[21/01/2024, 13:17:54] [PID: 12944] [ERROR] [GET-EARNABLE-POINTS] An error occurred:Error: page.evaluate: Execution context was destroyed, most likely because of a navigation
node:internal/process/promises:288
            triggerUncaughtException(err, true /* fromPromise */);
            ^

[UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason "undefined".] {
  code: 'ERR_UNHANDLED_REJECTION'
}

Node.js v18.18.2

not complete login

As of today, you can no longer complete your login. Stays on the password screen after which it times out



[16/1/2024, 19:12:32] [PID: 78241] [LOG] [BROWSER] Created browser with User-Agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.0"
[16/1/2024, 19:12:32] [PID: 78241] [LOG] [MAIN] Starting DESKTOP browser
[16/1/2024, 19:13:23] [PID: 78241] [ERROR] [LOGIN] An error occurred:Error: page.type: Timeout 30000ms exceeded.
Call log:
  - waiting for locator('#i0116')

node:internal/process/promises:288
            triggerUncaughtException(err, true /* fromPromise */);
            ^

[UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason "undefined".] {
  code: 'ERR_UNHANDLED_REJECTION'
}

Take The Tour

"Take the tour". This promotion is causing urlReward to be stuck.

punchcard

did npm i already

got this error after "More Promotions"

C:\Users\Curtis\Downloads\Microsoft-Rewards-Script-main\Microsoft-Rewards-Script-main\dist\functions\Workers.js:26
const punchCardsUncompleted = data.punchCards?.filter(x => !x.parentPromotion.complete) ?? []; // Only return uncompleted punch cards
^

TypeError: Cannot read properties of null (reading 'complete')
at C:\Users\Curtis\Downloads\Microsoft-Rewards-Script-main\Microsoft-Rewards-Script-main\dist\functions\Workers.js:26:87
at Array.filter ()
at Workers.doPunchCard (C:\Users\Curtis\Downloads\Microsoft-Rewards-Script-main\Microsoft-Rewards-Script-main\dist\functions\Workers.js:26:56)
at MicrosoftRewardsBot.Desktop (C:\Users\Curtis\Downloads\Microsoft-Rewards-Script-main\Microsoft-Rewards-Script-main\dist\index.js:129:32)
at async MicrosoftRewardsBot.runTasks (C:\Users\Curtis\Downloads\Microsoft-Rewards-Script-main\Microsoft-Rewards-Script-main\dist\index.js:83:13)

Docker file aint building

=> ERROR [5/9] RUN HEADLESS=$(cat src/config.json | jq -r .headless) && if [ "$HEADLESS" != "true" ]; then echo "Error: 'headless' in src/config.json is not true."; exit 1; fi 1.5s

[5/9] RUN HEADLESS=$(cat src/config.json | jq -r .headless) && if [ "$HEADLESS" != "true" ]; then echo "Error: 'headless' in src/config.json is not true."; exit 1; fi:
#0 0.967 Error: 'headless' in src/config.json is not true.


Dockerfile:15

14 | # Check if "headless" is set to "true" in the config.json file
15 | >>> RUN HEADLESS=$(cat src/config.json | jq -r .headless)
16 | >>> && if [ "$HEADLESS" != "true" ]; then
17 | >>> echo "Error: 'headless' in src/config.json is not true.";
18 | >>> exit 1;
19 | >>> fi
20 |

ERROR: failed to solve: process "/bin/sh -c HEADLESS=$(cat src/config.json | jq -r .headless) && if [ "$HEADLESS" != "true" ]; then echo "Error: 'headless' in src/config.json is not true."; exit 1; fi" did not complete successfully: exit code: 1

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

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
    },

browser

only first account open in desktop mode then after every account launch with mobile mode because its only do mobile searches
but in cmd shows created desktop browser

**- `[18/1/2024, 4:38:54 pm] [PID: 17952] [LOG] [MAIN] Starting DESKTOP browser

  • [18/1/2024, 4:39:13 pm] [PID: 17952] [LOG] [LOGIN] Already logged in
  • [18/1/2024, 4:39:13 pm] [PID: 17952] [LOG] [LOGIN-BING] Verifying Bing login
  • [18/1/2024, 4:39:21 pm] [PID: 17952] [LOG] [LOGIN-BING] Bing login verification passed!
  • [18/1/2024, 4:39:21 pm] [PID: 17952] [LOG] [LOGIN] Logged in successfully
  • [18/1/2024, 4:39:31 pm] [PID: 17952] [LOG] [GO-HOME] Visited homepage successfully
  • [18/1/2024, 4:39:33 pm] [PID: 17952] [LOG] [MAIN-POINTS] Current point count: 996
  • [18/1/2024, 4:39:34 pm] [PID: 17952] [LOG] [MAIN-POINTS] You can earn 150 points today
  • [18/1/2024, 4:39:41 pm] [PID: 17952] [LOG] [GO-HOME] Visited homepage successfully
  • [18/1/2024, 4:39:41 pm] [PID: 17952] [LOG] [DAILY-SET] All Daily Set" items have already been completed
  • [18/1/2024, 4:39:41 pm] [PID: 17952] [LOG] [SEARCH-BING] Starting bing searches
  • [18/1/2024, 4:39:43 pm] [PID: 17952] [LOG] [SEARCH-GOOGLE-TRENDS] Generating search queries, can take a while! | GeoLocale: IN
  • [18/1/2024, 4:39:48 pm] [PID: 17952] [LOG] [SEARCH-BING] 60 Points Remaining | Query: ms dhoni | Mobile: true
  • [18/1/2024, 4:39:55 pm] [PID: 17952] [LOG] [SEARCH-BING] 60 Points Remaining | Query: davos | Mobile: true
  • [18/1/2024, 4:40:03 pm] [PID: 17952] [LOG] [SEARCH-BING] 60 Points Remaining | Query: samsung s24 | Mobile: true
  • [18/1/2024, 4:40:13 pm] [PID: 17952] [LOG] [SEARCH-BING] 51 Points Remaining | Query: nz vs pak | Mobile: true`**

Chrome version 119

It's wanted to use old chrome version and not the last one ?

image

Also do you have telegram or discord for talk more easily ? :)

Feature Request - Browser Compatibility

I would like to request the integration of alternative browsers like Brave in addition to Chrome. This enhancement would offer users flexibility and privacy options. Please consider this feature to enhance our browsing experience.

Bot wont start

Every time i try to open the bot, with or without proxy, it crashes.
the error (all i have in console after start):
npm run start

[email protected] start
node ./dist/index.js

[12/9/2023, 2:27:22 PM] [PID: 94468] [LOG] [MAIN] Bot started with 1 clusters
[12/9/2023, 2:27:22 PM] [PID: 94468] [LOG] [MAIN-WORKER] Started tasks for account [email protected]
[12/9/2023, 2:27:23 PM] [PID: 94468] [LOG] [MAIN] Starting DESKTOP browser
[12/9/2023, 2:27:30 PM] [PID: 94468] [ERROR] [LOGIN] An error occurred:Error: net::ERR_TUNNEL_CONNECTION_FAILED at https://rewards.bing.com/signin
node:internal/process/promises:288
triggerUncaughtException(err, true /* fromPromise */);
^

[UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason "undefined".] {
code: 'ERR_UNHANDLED_REJECTION'
}

Node.js v18.16.0

Increased or Remove Timeout

I'm keep getting error for timeout because my internet slow when load the page, can i increased the timeout or better remove it? maybe add to config.json should be good to custom timeout.

Unable to run script past login

Below is my terminal output after running. It crashes after successfully logging in and refreshing the page

PS C:\Users\Enzemo\Downloads\Microsoft-Rewards-Script-main> npm run start

> [email protected] start
> node ./dist/index.js

[2023-10-01T15:53:58.461Z] [LOG] [MAIN] Bot started
[2023-10-01T15:53:58.462Z] [LOG] [MAIN] Started tasks for account [email protected]
[2023-10-01T15:53:59.163Z] [LOG] [MAIN] Starting DESKTOP browser
[2023-10-01T15:54:00.978Z] [LOG] [LOGIN] Already logged in
[2023-10-01T15:54:00.978Z] [LOG] [LOGIN-BING] Verifying Bing login
[2023-10-01T15:54:05.333Z] [LOG] [LOGIN-BING] Bing login verification passed!
[2023-10-01T15:54:05.333Z] [LOG] [LOGIN] Logged in successfully
[2023-10-01T15:54:16.591Z] [LOG] [MAIN-POINTS] Current point count: 0
C:\Users\Enzemo\Downloads\Microsoft-Rewards-Script-main\dist\BrowserFunc.js:127
    data.userStatus.counters.mobileSearch.forEach(x => totalEarnablePoints += (x.pointProgressMax - x.pointProgress));
                                          ^

TypeError: Cannot read properties of undefined (reading 'forEach')
    at getEarnablePoints (C:\Users\Enzemo\Downloads\Microsoft-Rewards-Script-main\dist\BrowserFunc.js:127:43)
    at Desktop (C:\Users\Enzemo\Downloads\Microsoft-Rewards-Script-main\dist\index.js:48:70)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async main (C:\Users\Enzemo\Downloads\Microsoft-Rewards-Script-main\dist\index.js:21:9)

Node.js v18.18.0
PS C:\Users\Enzemo\Downloads\Microsoft-Rewards-Script-main>

Accounts getting banned, possible suggestion

Hello

Today one of my accounts that i specifically made to use with this script has been banned, so far its the third time and never got to redeem, it seems that when getting closer to 4k-6k points the accounts get banned.

My suggestion would be to add a lot more randomization in the timings and order of actions, for example, instead of always doing daily set -> promotional items -> searches, it should randomly do once of each type every time, with a random delay between each action, also when solving daily set quizes, there should be a random timer between each click on a quiz item, seems static right now.

Are you (dev) also facing the ban issues with accounts farmed with this script?

Thanks :)

how to bypass google in certain country

can you just give an alternative file which we can choose containing different words but not get the words for searching task from google, you know sometimes, some countries' internet is not very well, they can not get to the google.

Additionly, at this picture, what should i do? i confirm the permisson on my phone, then i just wait? or i should put in something on console?
iShot_2024-01-02_01 25 46

pointProgressMax can't be read

\Microsoft-Rewards-Script-main\dist\functions\activities\Search.js:26
            (edgeData.pointProgressMax - edgeData.pointProgress) + (genericData.pointProgressMax - genericData.pointProgress);
                      ^

TypeError: Cannot read properties of undefined (reading 'pointProgressMax')

when trying to calculate the left points the app breaks with the above message. I encapsulated the block with a try catch for the meantime.

        let missingPoints = 0
        try{
        missingPoints = (this.bot.isMobile && mobileData) ?
            (mobileData.pointProgressMax - mobileData.pointProgress) :
            (edgeData.pointProgressMax - edgeData.pointProgress) + (genericData.pointProgressMax - genericData.pointProgress)
        }catch(error){
            this.bot.log('SEARCH-BING', 'Error getting point progress')
            missingPoints = 0
        }
        if (missingPoints == 0) {
            this.bot.log('SEARCH-BING', `Bing searches for ${this.bot.isMobile ? 'MOBILE' : 'DESKTOP'} have already been completed`)
            return
        }

I assume it's because there are not points left to gather.

Protocol error

When I ran the bot after 4-5 search it started runtime.callfunction timeout and after this waiting for a while it still stay stuck to this error

Docker Run Command?

Besides building the Dockerfile, could you provide what other docker settings are needed to get this up and running?

Is there a way to add parallel farming?

I just wanted to know since I operate on 10 accounts(wifi network + paid data plan on phone), is there a way I could make it so that it does like 2 or 3 accounts simultaneously to reduce the time? I Tried modifying it on my own but it wasn't really efficient on mine.

Not getting points from Pc Searches

Hi,
i'm using latest version of reward bot with 3 different accounts (each account with its own bot, separate folders and such). I'm experiencing problems only with one account that is not getting points from pc searches:

[28/1/2024, 12:07:39] [PID: 14756] [WARN] [SEARCH-BING] Search didn't gain point for 10 iterations aborting searches
[28/1/2024, 12:07:39] [PID: 14756] [LOG] [SEARCH-BING] Search completed but we're missing 90 points, generating extra searches
[28/1/2024, 12:07:40] [PID: 14756] [LOG] [SEARCH-BING-EXTRA] 90 Points Remaining | Query: marco maddaloni moglie | Mobile: false
[28/1/2024, 12:08:41] [PID: 14756] [ERROR] [SEARCH-BING] Search failed, An error occurred:TimeoutError: page.reload: Timeout 30000ms exceeded.
Call log:
  - waiting for navigation until "domcontentloaded"
  -   navigated to "https://rewards.bing.com/"

[28/1/2024, 12:08:41] [PID: 14756] [WARN] [SEARCH-BING] Retrying search, attempt 0/5
[28/1/2024, 12:09:53] [PID: 14756] [ERROR] [SEARCH-BING] Search failed, An error occurred:TimeoutError: page.reload: Timeout 30000ms exceeded.
Call log:
  - waiting for navigation until "domcontentloaded"
  -   navigated to "https://rewards.bing.com/"

(I'm using default config, i've tried with saveFingerprint true/false, searchSettings.useGeoLocaleQueries true/false but nothing helped)

User agent issue

Generating same user agent for most of the accounts like 99% of the time

`

[7/1/2024, 10:30:17 pm] [PID: 22676] [LOG] [MAIN] Bot started with 1 clusters
[7/1/2024, 10:30:17 pm] [PID: 22676] [LOG] [MAIN-WORKER] Started tasks for account [email protected]
[7/1/2024, 10:30:17 pm] [PID: 22676] [LOG] [BROWSER] Created browser with User-Agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0"
[7/1/2024, 10:30:17 pm] [PID: 22676] [LOG] [MAIN] Starting DESKTOP browser
[7/1/2024, 10:30:35 pm] [PID: 22676] [LOG] [LOGIN] Already logged in
[7/1/2024, 10:30:35 pm] [PID: 22676] [LOG] [LOGIN-BING] Verifying Bing login
[7/1/2024, 10:30:38 pm] [PID: 22676] [LOG] [LOGIN-BING] Bing login verification passed!
[7/1/2024, 10:30:38 pm] [PID: 22676] [LOG] [LOGIN] Logged in successfully
[7/1/2024, 10:30:47 pm] [PID: 22676] [LOG] [GO-HOME] Visited homepage successfully
[7/1/2024, 10:30:48 pm] [PID: 22676] [LOG] [MAIN-POINTS] Current point count: 650
[7/1/2024, 10:30:49 pm] [PID: 22676] [LOG] [MAIN-POINTS] You can earn 0 points today
[7/1/2024, 10:30:49 pm] [PID: 22676] [LOG] [MAIN] No points to earn and "runOnZeroPoints" is set to "false", stopping!
[7/1/2024, 10:30:49 pm] [PID: 22676] [LOG] [MAIN-WORKER] Started tasks for account [email protected]
[7/1/2024, 10:30:49 pm] [PID: 22676] [LOG] [BROWSER] Created browser with User-Agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0"
[7/1/2024, 10:30:49 pm] [PID: 22676] [LOG] [MAIN] Starting DESKTOP browser
[7/1/2024, 10:31:07 pm] [PID: 22676] [LOG] [LOGIN] Already logged in
[7/1/2024, 10:31:07 pm] [PID: 22676] [LOG] [LOGIN-BING] Verifying Bing login
[7/1/2024, 10:31:09 pm] [PID: 22676] [LOG] [LOGIN-BING] Bing login verification passed!
[7/1/2024, 10:31:09 pm] [PID: 22676] [LOG] [LOGIN] Logged in successfully
[7/1/2024, 10:31:16 pm] [PID: 22676] [LOG] [GO-HOME] Visited homepage successfully
[7/1/2024, 10:31:18 pm] [PID: 22676] [LOG] [MAIN-POINTS] Current point count: 3468
[7/1/2024, 10:31:19 pm] [PID: 22676] [LOG] [MAIN-POINTS] You can earn 0 points today
[7/1/2024, 10:31:19 pm] [PID: 22676] [LOG] [MAIN] No points to earn and "runOnZeroPoints" is set to "false", stopping!
[7/1/2024, 10:31:19 pm] [PID: 22676] [LOG] [MAIN-WORKER] Started tasks for account [email protected]
[7/1/2024, 10:31:19 pm] [PID: 22676] [LOG] [BROWSER] Created browser with User-Agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0"
[7/1/2024, 10:31:19 pm] [PID: 22676] [LOG] [MAIN] Starting DESKTOP browser
[7/1/2024, 10:31:37 pm] [PID: 22676] [LOG] [LOGIN] Already logged in
[7/1/2024, 10:31:37 pm] [PID: 22676] [LOG] [LOGIN-BING] Verifying Bing login
[7/1/2024, 10:31:39 pm] [PID: 22676] [LOG] [LOGIN-BING] Bing login verification passed!
[7/1/2024, 10:31:39 pm] [PID: 22676] [LOG] [LOGIN] Logged in successfully
[7/1/2024, 10:31:46 pm] [PID: 22676] [LOG] [GO-HOME] Visited homepage successfully
[7/1/2024, 10:31:47 pm] [PID: 22676] [LOG] [MAIN-POINTS] Current point count: 353
[7/1/2024, 10:31:48 pm] [PID: 22676] [LOG] [MAIN-POINTS] You can earn 0 points today
[7/1/2024, 10:31:48 pm] [PID: 22676] [LOG] [MAIN] No points to earn and "runOnZeroPoints" is set to "false", stopping!
[7/1/2024, 10:31:48 pm] [PID: 22676] [LOG] [MAIN-WORKER] Started tasks for account [email protected]
[7/1/2024, 10:31:49 pm] [PID: 22676] [LOG] [BROWSER] Created browser with User-Agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0"
[7/1/2024, 10:31:49 pm] [PID: 22676] [LOG] [MAIN] Starting DESKTOP browser

`

GENERATING MOBILE USER AGENT FOR DESKTOP BROWSER

[7/1/2024, 10:48:29 pm] [PID: 22676] [LOG] [MAIN-WORKER] Started tasks for account [email protected]
[7/1/2024, 10:48:29 pm] [PID: 22676] [LOG] [BROWSER] Created browser with User-Agent: "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Mobile Safari/537.36 EdgA/120.0.0.0"
[7/1/2024, 10:48:30 pm] [PID: 22676] [LOG] [MAIN] Starting DESKTOP browser
[7/1/2024, 10:49:08 pm] [PID: 22676] [LOG] [LOGIN] Email entered successfully
[7/1/2024, 10:49:12 pm] [PID: 22676] [LOG] [LOGIN] Password entered successfully
[7/1/2024, 10:50:12 pm] [PID: 22676] [LOG] [LOGIN] Logged into Microsoft successfully

Automatic acceptance of cookies

I encounter this problem, when the program opens a daily card, if I don't press "Accetta" (Accept cookies) it doesn't proceed and moves on to the next daily card, once accepted the program proceeds regularly until it is reopened. what can I do? Thank you.

bug

Error when doing Daily Sets

the script always threw this error when doing daily set

[12/1/2023, 4:20:35 PM] [PID: 9152] [LOG] [DAILY-SET] Started solving "Daily Set" items
[12/1/2023, 4:20:43 PM] [PID: 9152] [LOG] [ACTIVITY] Found activity type: "ABC" title: "Test your smarts"
[12/1/2023, 4:20:43 PM] [PID: 9152] [LOG] [ABC] Trying to complete poll
[12/1/2023, 4:20:55 PM] [PID: 9152] [ERROR] [ABC] An error occurred:TimeoutError: Waiting for selector .wk_OptionClickClass failed: Waiting failed: 10000ms exceeded
[12/1/2023, 4:21:23 PM] [PID: 9152] [LOG] [POLL] Trying to complete poll
[12/1/2023, 4:21:23 PM] [PID: 9152] [LOG] [ACTIVITY] Found activity type: "Poll" title: "Daily poll"
[12/1/2023, 4:21:34 PM] [PID: 9152] [ERROR] [POLL] An error occurred:TimeoutError: Waiting for selector #btoption0 failed: Waiting failed: 10000ms exceeded
[12/1/2023, 4:21:49 PM] [PID: 9152] [LOG] [DAILY-SET] All "Daily Set" items have been completed

also when doing some quiz it also threw this error

[12/1/2023, 4:22:37 PM] [PID: 9152] [LOG] [ACTIVITY] Found activity type: "Quiz" title: "Turbocharge quiz"
[12/1/2023, 4:22:37 PM] [PID: 9152] [LOG] [QUIZ] Trying to complete quiz
[12/1/2023, 4:22:39 PM] [PID: 9152] [LOG] [QUIZ] Quiz has already been started, trying to finish it
[12/1/2023, 4:22:41 PM] [PID: 9152] [ERROR] [GET-QUIZ-DATA] An error occurred:undefined
[12/1/2023, 4:22:41 PM] [PID: 9152] [ERROR] [GET-QUIZ-DATA] Script containing quiz data not found
[12/1/2023, 4:22:41 PM] [PID: 9152] [ERROR] [QUIZ] An error occurred:undefined

login using login.live.com issue with possible solution

Hello

Apparently microsoft likes to block access to account.microsoft.com, occasionally when using this script my ip gets blocked from accessing that url, after a few days when my dynamic ip changes it works again, i've also tried using a proxy and vpn to confirm wheter or not the domain was actually down and it works, i just get blocked.

So the weird thing is that every other microsoft domain works, so trying to login from rewards.bing.com/Signin works, but since this script uses the login.live.com which redirects to account.microsoft.com it hangs and stops working.

I've modified 2 lines of code to try to login from rewards.bing.com/Signin instead

inside Login.ts at line 23

await page.goto('https://rewards.bing.com/Signin')
const isLoggedIn = await page.waitForSelector('html[data-role-name="RewardsPortal"]', { timeout: 10_000 }).then(() => true).catch(() => false)

the changes are

  1. the url where to login
  2. the selector, from html[data-role-name="MeePortal"] to html[data-role-name="RewardsPortal"]

Now even when restricted the login works when using this script

A chat

Hey , i would like to talk about this bot if you have telegram or something it'd amazing
I've found your telegram (not sure) but it's not active so Instagram, email, anything is fine with me

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.