Skip to content

πŸ“° Automatically solve all daily questions on eureka.co.il

Notifications You must be signed in to change notification settings

VerifyBot/eureka-solver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🐲 Eureka Bumper

Automatically get points for solveing all Eureka questions. This will reward you with ~5120 points (336 questions solved).

This is possible since you can answer all questions at once via API requests, and all of them were collected in this repo (read more).


https://i.imgur.com/fiQBK2a.png

https://i.imgur.com/tGsraKf.png

πŸ›– Background

Eureka (eureka.org.il) provides daily questions that people can answer, based on their knowledge that can be expanded by reading articles on their website.

Each daily question you answer provides you with points, and when you reach a certain amount you climb to a new level:

https://i.imgur.com/viUggem.png

The number of questions is limited (336), and therefore you can climb just so much before reaching the barrier (5120 points for me), but that's still good!

πŸ€” How is it possible?

There are 3 things that allow this to be possible:

  1. The solution for yesterday's question is available the next day, this allows the bot to collect all questions and their answers.
  2. Every account gets a different question, so if you have multiple accounts, you can collect questions fast.
  3. There are only a few hundred questions, so it's not a problem to collect all of them.

🎸 Usage

There is another loophole in the website, and it is that when you solve a question, you provide the challenge_id and the answer, so you can basically just send multiple requests for all the different challenges (questions) and get all the possible points at once!

Here is how to do it:

pip install -r requirements.txt
cd app
python answer.py <email> <password> 

This repo contains all website questions, so no need to collect them. If desired, cronjobs can be set up to automate daily script runs:

# (Assuming the repository is in ~/dev/eureka)

# Daily :: Fetch today's and yesterday's challenge and save
10 8 * * * cd ~/dev/eureka/app && python store.py

# Daily :: Generate a new account
0 8 * * * cd ~/dev/eureka/tools && python generate_accounts.py 1

# Daily :: Update stats file
30 8 * * * cd ~/dev/eureka/data && python stats.py

# Daily :: Update stats sheets
35 8 * * * cd ~/dev/eureka/app && python sheets.py

πŸ“‚ Scripts

Getting points

🎁 answer.py

Probably the highlight of this repository. Takes all questions and answers from database.json and answers them on your main account.

python answer.py <email> <password>


Scraping related scripts

🐍 generate_accounts.py

Generates random accounts and adds them to data/accounts.json.

python generate_accounts.py <amount>

🐍 store.py

Stores today's question, and yesterday's answer from all accounts in data/database.json.

python store.py

🐍 stats.py

Stores how many questions, answers and accounts are in the database, this is used for logging in a spreadsheet (see sheets.py).

python stats.py

🐍 sheets.py

Logs stats about the collection process to a spreadsheet. This includes info from stats.json, database.json and could_do_ration.json.

python sheets.py

About

πŸ“° Automatically solve all daily questions on eureka.co.il

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages