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}
This discord bot will help you to control your target through PickleC2

PickleC2-Bot This discord bot will help you to control your target through PickleC2 WHAT's a PickleC2? PickleC2 is a simple C2 framework written in py

4 Jun 25, 2022
A Discord token grabber executing in a Microsoft Document.

๐ŸฆŠ Rage ๐ŸฆŠ Rage is a tool written in Python3 allowing you to inject a Python3 complete Discord token grabber (Riot) script in a Microsoft Document usi

Billy 73 Nov 03, 2022
โ€œ Hey there ๐Ÿ‘‹ I'm Daisy โ€ž AI based Advanced Group Management Bot Suit For All Your Needs โค๏ธ.. Source Code of @Daisyxbot

Project still under heavy development Everything will be changed in the release โ€œ Hey there ๐Ÿ‘‹ I'm Daisy โ€ž AI based Advanced telegram Group Management

TeamDaisyX 43 Nov 12, 2022
TFT Bot that automatically surrenders and allows finishing TFT Passes easily.

Image Based TFT Bot TFT Bot that automatically surrenders and allows finishing TFT Passes easily. Please read full file! You can check new releases he

1 Feb 06, 2022
Download nitro generator that generates free nitro code that you can use for Discord

Download nitro generator that generates free nitro code that you can use for Discord, run it and wait for free nitro to come

Umut Bayraktar 154 Jan 05, 2023
A client library for the REST API of DocuWare's DMS

docuware-client This is a client library for the REST API of DocuWare DMS. Since DocuWare's documentation regarding the REST API is very sparse (at th

Stefan Schรถnberger 1 Feb 23, 2022
Source code from thenewboston Discord Bot with Python tutorial series.

Project Setup Follow the steps below to set up the project on your environment. Local Development Create a virtual environment with Python 3.7 or high

Bucky Roberts 24 Aug 19, 2022
LEC_Ditto is a bot that tracks the follows and unfollows of Twitter accounts

โœจ LEC_Ditto โœจ I'm Ditto, and I'm a bot ๐Ÿค– . Getting Started | Installation | Usage Getting Started LEC_Ditto is a bot that tracks the follows and unfo

2 Mar 30, 2022
AWS DeepRacer Free Student Workshop: Run faster by using your custom waypoints

AWS DeepRacer Free Student Workshop: Run faster by using your custom waypoints Reward Function Template for waypoints def reward_function(params):

Yuen Cheuk Lam 88 Nov 27, 2022
Example code for interacting with solana anchor programs - candymachine

candypy example code for interacting with solana anchor programs - candymachine THIS IS PURELY SAMPLE CODE TO FORK, MODIFY, UNDERSTAND AND INTERACT WI

dubbelosix 3 Sep 18, 2022
A discord http interactions framework built on top of Sanic

snowfin An async discord http interactions framework built on top of Sanic Installing for now just install the package through pip via github # Unix b

kaj 13 Dec 15, 2022
A powerful Lavalink library for Discord.py.

A robust and powerful Lavalink wrapper for Discord.py! Documentation Official Documentation. Support For support using WaveLink, please join the offic

Pythonista 254 Dec 29, 2022
Super simple anti-spam Discord bot

AutoAntiRaidBot Super simple anti-spam Discord bot. Will automatically kick any member with an account made under 1 day ago, and will ban any member w

Kainoa Kanter 6 Jun 27, 2022
A discord bot written in python

arch-bot A discord bot written in python prefix: . help: .help Installation Requirements A discord bot token Your user id Python installed. For window

3 Jan 10, 2022
Simple Telegram Bot To Get Feedback from users & Some Other Features

FeedbackBot Simple Telegram Bot To Get Feedback from users & Some Other Features. Features Get Feedback from users Reply to user's feedback Customisab

Arun 18 Dec 29, 2022
The official Python library for Shodan

shodan: The official Python library and CLI for Shodan Shodan is a search engine for Internet-connected devices. Google lets you search for websites,

John Matherly 2.1k Dec 31, 2022
It is automated instagram follower bot.

Instagram-Follower-Bot It is automated instagram follower bot. In This project I've used Selenium and Python. Work-Flow When I run my code. It's gonna

Falak Shair 3 Sep 28, 2022
Telegram Reporter

[Telegram Reporter v.3 ] ๐Ÿ‡ฎ๐Ÿ‡ท AliCybeRR ๐Ÿ‡ฎ๐Ÿ‡ท [ AliCybeRR.Reporter feature ] Login Your Telegram account ๐Ÿ‘ฝ support Termux โ• No Limits โšก Secure ๐Ÿ” Free

AliCybeRR 1 Jun 08, 2022
Unofficial Meteor Client wiki

Welcome to the Unofficial Meteor Client wiki! Meteor FAQs | A rewritten and better FAQ page. Installation Guide | A guide on how to install Meteor Cli

Anti Cope 0 Feb 21, 2022
This bot plays the most recent video from the Daily Silksong News Youtube Channel whenever a specific user enters voice chat once a day.

Do you have that one friend that really likes Hollow Knight. Are they waiting for Silksong to come out? Heckle them with this Discord bot.

Tommy Rousey 2 Feb 09, 2022