Automatically scrape all of your artifacts in Genshin Impact.

Overview

Genshin Artifact Scraper

Automatically scrape all of your artifacts in Genshin Impact. Features:

  • Simple recalibration (2 steps).
  • GUI to select OCR regions.
  • Regions reinitialization (7 steps).
  • Macro to iterate through artifacts.
  • File handling (using pickle).
  • Manual mode (no macro).

While I've made the program to be very user-friendly and versatile, ultimately the scope is too big for something that's originally started as a personal project.

Please play around with the parameters and calibration to get the best result. I've made sure to properly comment and tidy up the programs as best as I could so that you can easily modify it.

Originally forked from Genshin Artifact Rater by shrubin. My program uses their parsing and rating subroutines.

Some features I feel as necessary in the future:

  • .json export.
  • Full process example video.
  • Visual guide during region selection.

Setup

python -m pip install -r requirements.txt
conda install -c conda-forge tesserocr

Usage

As Genshin Impact runs on Admin, you need to run this with admin privileges. Otherwise, input events (mouse click) won't be recognized. But, you can try the manual mode (no admin required) by replacing main.py in this guide to manual.py (any item containing * symbol doesn't exist on manual mode).

Make sure to run this while in the inventory menu, not in the character selection menu.

Try to run once to calibrate:

python main.py -o

Recalibrate the coordinates by selecting regions in these order:

  1. Colored box area of the artifact.
  2. First 2x2 artifact tiles*.

About the selection GUI:

  • You can preview your selection right away.
  • Keep selecting region to continue zooming in.
  • Right click to zoom out a bit, then reselect again.
  • Close the window to finalize your selection.

Once you're done, you'll be given this output if successful:

+20 Plume
 - ATK 311
 - ATK% 5.8
 - CRIT DMG% 14.8
 - DEF 39
 - Energy Recharge% 16.2
Gladiator's Finale
Total: 8.14 (65.15%)
  Main: 4.00 (100.00%)
  Sub: 4.14 (48.75%)

If recalibration isn't successful, initialize the regions by selecting in these order (these instruction can be seen on the window title):

  1. Artifact type.
  2. Mainstat type.
  3. Mainstat value.
  4. Artifact level.
  5. All substats & set name.
  6. Artifact colored area.
  7. First 2x2 artifact tiles*.

Then start scraping:

python main.py

Parameters

You may play around with these simple parameters in the main.py file.

# Configs
LANG = tr.en()  # Language setting, placeholder
DIR = "./data/" # Output directory

MENU = [7,5,2]  # Menu dimension, x,y,page
SCROLL = 10*MENU[1]-1  # Scroll multiplier for page switch

To run debugging mode, use -d argument:

python main.py -d       # Full run + debug
python main.py -o -d    # Single run + debug

Also, you may change the stat weight in the rate.py file.

weights = {lang.hp: 0, lang.atk: 0.5, f'{lang.atk}%': 1, f'{lang.er}%': 0.5, lang.em: 0.5,
               f'{lang.phys}%': 1, f'{lang.cr}%': 1, f'{lang.cd}%': 1, f'{lang.elem}%': 1,
               f'{lang.hp}%': 0, f'{lang.df}%': 0, lang.df: 0, f'{lang.heal}%': 0}
python3.5+ hubspot client based on hapipy, but modified to use the newer endpoints and non-legacy python

A python wrapper around HubSpot's APIs, for python 3.5+. Built initially around hapipy, but heavily modified. Check out the documentation here! (thank

Jacobi Petrucciani 140 Dec 21, 2022
CloudFormation Drift Remediation - Use Cloud Control API to remediate drift that was detected on a CloudFormation stack

CloudFormation Drift Remediation - Use Cloud Control API to remediate drift that was detected on a CloudFormation stack

Cloudar 36 Dec 11, 2022
A replacement for Reddit /r/copypasta CummyBot2000 with extra measures to avoid it being banned.

CummyBot1984 A replacement for Reddit /r/copypasta's CummyBot2000 with extra measures to respect Reddit's API rules. Features Copies and replies to ev

2 Feb 21, 2022
Smilecreator4 - This site is for people who want to hack or want to learn it!

smilecreator4 This site is for people who want to hack or want to learn it! Furthermore, this program does not work without turning off Antivirus or W

1 Jan 04, 2022
itadori webhook spammer fucker

itadori-webhook-spammer-fucker Installation # install the requirements $ python3 -m pip install -r requirements.txt $ python3 main.py Repl.it: https:/

6 Mar 05, 2022
Framework for Telegram users and chats investigating.

telegram_scan Fantastic and full featured framework for Telegram users and chats investigating. Prerequisites: pip3 install pyrogram; get api_id and a

71 Dec 17, 2022
OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)

OpenAPI Generator Master (5.3.1): 5.4.x (5.4.x): 6.0.x (6.0.x): ⭐ ⭐ ⭐ If you would like to contribute, please refer to guidelines and a list of open t

OpenAPI Tools 14.8k Jan 04, 2023
A community made discord bot coded in Python and running on AWS.

Pogbot Project Open Group Discord This is an open source community ran project. Join the discord for more information on how to participate. Coded in

Project Open Group 2 Jul 27, 2022
Bot playing "mathbattle" game from Telegram messenger

mathbattlebot Bot playing mathbattle game from Telegram messenger Installing: run in command line pip3 install -r requirements.txt Running: Example c

Egor 1 May 30, 2022
This is a starter template of discord.py project

Template Discord.py This is a starter template of discord.py project (Supports Slash commands!). 👀 Getting Started First, you need to install Python

1 Dec 22, 2021
Userbot Telegram + Music Voice Chats. Dibuat Untuk Bersenang - Senang , Dan Mempermudah Kegiatan. Created By Rio.

RIO - USERBOT Disclaimer Saya tidak bertanggung jawab atas penyalahgunaan bot ini. Bot ini dimaksudkan untuk bersenang-senang sekaligus membantu Anda

RioProjectX 1 Nov 10, 2021
A file-based quote bot written in Python

Let's Write a Python Quote Bot! This repository will get you started with building a quote bot in Python. It's meant to be used along with the Learnin

1 Dec 07, 2021
Unofficial WebApp for WhatsApp Web created in PyQt6

Unofficial WebApp for WhatsApp Web created in PyQt6 using PyQt6-WebEngine

Rafael Tosta Santos 126 Dec 20, 2022
My attempt to reverse the Discord nitro token generation function.

discord-theory-I PART: I My attempt to reverse the Discord nitro token generation function. The Nitro generation tools thing is common in Discord now,

Jakom 29 Aug 14, 2022
A discord bot providing notifications of player activity on a minecraft server.

tos-alert A discord bot providing notifications of player activity on a minecraft server. Setup By default the app does not launch and will crash with

1 Jul 22, 2022
rewise is an unofficial wrapper for google search's auto-complete feature

rewise is an unofficial wrapper for google search's auto-complete feature

Somdev Sangwan 71 Jul 19, 2022
Aws-lambda-requests-wrapper - Request/Response wrapper for AWS Lambda with API Gateway

AWS Lambda Requests Wrapper Request/Response wrapper for AWS Lambda with API Gat

1 May 20, 2022
Retrieve information from DBLP and update BibTex files automatically

Rebib TLDR: This script retrieves information from DBLP to update your BibTex files. python rebib.py --bibfile xxx.bib It first parses the bib entries

Shangtong Zhang 49 Jan 01, 2023
A multipurpose Telegram Bot written in Python for mirroring files on the Internet to Google Drive

Mirror Leech Bot Mirror Leech Bot is a multipurpose Telegram Bot written in Python for mirroring files on the Internet to our beloved Google Drive. Ba

1 Jan 01, 2022
Скрипт, позволяющий импортировать плейлисты из Spotify, а также обычные треклисты в VK музыку.

vk-music-import Программа для переноса плейлистов из Spotify и текстовых треклистов в VK Музыку. Преимущества: Позволяет быстро импортировать плейлист

Mew Forest 32 Nov 23, 2022