base on grass-mining # Grass Auto Reger&Farm š¹
Discover the latest `<crypto/>` moves in my Telegram Channel:
[![My Channel š„°](https://img.shields.io/badge/Web3_Enjoyer_|_Subscribe_š„°-0A66C2?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/web3_enjoyer_club)
Cheapest [proxies and servers](https://teletype.in/@web3enjoyer/4a2G9NuHssy) which fits for on [grass.io](https://app.getgrass.io/register/?referralCode=erxggzon61FWrJ9).
![image](https://github.com/MsLolita/grass/assets/58307006/610b95b4-369f-4a71-ac24-f45e8dee6380)
### What is bot for?
- Create Accounts
- Farm Points
- Check Points
- Approve Emails without access to it (no need imap, etc)
> You can put as many proxies as u can, bot uses database and will load up proxies from extra ones
š¹**To say thanks for work: 0x000007c73a94f8582ef95396918dcd04f806cdd8**
## Quick Start š
1. To install libraries on Windows click on `INSTALL.bat` (or in console: `pip install -r requirements.txt`).
2. To start bot use `START.bat` (or in console: `python main.py`).
### Options š§
1. CREATE ACCOUNTS:
- In `data/config.py` put `REGISTER_ACCOUNT_ONLY = True`
- Throw the api key into `data/config.py`. Since there is a captcha there, you need a service for solving captchas - [AntiCaptcha](http://getcaptchasolution.com/t8yfysqmh3) or [Twocaptcha](https://2captcha.com/?from=12939391).
- Provide emails and passwords (OPTIONAL) and proxies to register accounts as below!
![image](https://github.com/MsLolita/grass/assets/58307006/67740c9b-07d6-4f78-a87d-27b09c0303e8)
2. FARM POINTS:
- in `data/config.py` put `REGISTER_ACCOUNT_ONLY = False`
- Provide emails and passwords and proxies to register accounts as shown below!
3. APPROVE EMAILS:
- in `data/config.py`:
- `APPROVE_EMAIL = True` approve email (NEEDED IMAP AND ACCESS TO EMAIL)
- `CONNECT_WALLET = True` connect wallet (put private keys in wallets.txt)
- `SEND_WALLET_APPROVE_LINK_TO_EMAIL = True` # send approve link to email
- `APPROVE_WALLET_ON_EMAIL = True` # get approve link from email (NEEDED IMAP AND ACCESS TO EMAIL)
- Provide emails and passwords and imap password (access to email) in format email:password:imap_password!
- Need IMAP access to email
- `SEMI_AUTOMATIC_APPROVE_LINK = False ` # If True, allows manual pasting of the approval link from the email to the CLI. All flags above need to be set to True. If you use this flag, you do not need to provide IMAP access
- `SINGLE_IMAP_ACCOUNT = False ` # if you have possibility to forward all approve mails to single IMAP address. Usage: change False to "
[email protected]:password" of your main IMAP address
- `EMAIL_FOLDER = "" ` # skip for auto, folder where mails comes
- `IMAP_DOMAIN = "" ` # skip for auto domain, not always works
![image](https://github.com/MsLolita/grass/assets/58307006/e28fba4c-1809-48f9-9475-d881a26beab5)
![image](https://github.com/opensolmap/solmap/assets/58307006/edf3ad67-37b4-434c-acfb-98cf58801c61)
### Configuration š§
1. Accounts Setup š
Put in `data/accounts.txt` accounts in format email:password (
[email protected]:my_password123)
![image](https://github.com/MsLolita/grass/assets/58307006/2f8bacaa-0212-49fe-b362-fe764230f47c)
2. Proxy Setup š
Configure your proxies with the *ANY* (socks, http/s, ...) format in `data/proxies.txt` š
![Proxy Configuration](https://github.com/MsLolita/VeloData/assets/58307006/a2c95484-52b6-497a-b89e-73b89d953d8c)
## Quick Start By Docker
1. Install Docker-CE: `curl -sSL -k https://get.docker.com | sh`
2. Install Docker Compose: `curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose`
3. Clone Source Code: `git clone https://github.com/MsLolita/grass.git`
4. Configuration: Modify `data/accounts.txt` and `data/proxies.txt`
5. Start Container: `docker-compose up -d`
PS: Could see more configuration in `docker-compose.yml`
", Assign "at most 3 tags" to the expected json: {"id":"8975","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"