โ ๏ธ DISCLAIMER: Using third-party software with Genshin Impact is against the game's Terms of Service. Use this tool at your own risk. The developers of this script are not responsible for any consequences, including potential account bans.
- Overview
- Features
- Requirements
- Installation
- Usage
- Configuration
- Controls
- How It Works
- Troubleshooting
- Gamepad Support
- Contributing
- License
An automated dialogue skipper for Genshin Impact that intelligently detects and advances through story dialogue. This version uses keyboard and mouse control to simulate the F key press, automatically selecting the bottom dialogue option when choices appear.
The script includes human-like behavior patterns with randomized timing and occasional breaks to appear more natural.
- Automatic Dialogue Detection: Uses pixel detection to identify when dialogue is active
- Smart Option Selection: Automatically chooses the bottom dialogue option
- Multi-Resolution Support: Auto-detects and adapts to your screen resolution (HD to 4K+)
- Human-like Behavior:
- Randomized key press intervals (0.12-0.2 seconds)
- Occasional breaks (3-8 seconds) for natural behavior
- Intelligent timing variations
- Easy Controls: Simple F-key controls for starting, pausing, and stopping
- Safe Operation: Only activates when Genshin Impact is the active window
- Loading Screen Detection: Prevents actions during loading screens
- One-Click Setup: Automated installation script with dependency management
- OS: Windows (with win32api support)
- Python: 3.11 or higher
- Display: Primary monitor (multi-monitor setups should have game on primary display)
- Privileges: Administrator rights (required for key emulation)
- Python 3.11+
- uv package manager (auto-installed by run.bat)
- Genshin Impact installed and running
IMPORTANT: Navigate to Settings > Other and set Auto-Play Story to Off
-
Download this repository or clone it:
git clone https://github.com/1hubert/genshin-dialogue-autoskip.git cd genshin-dialogue-autoskip -
Right-click
run.batand select "Run as administrator"- The script will automatically:
- Check for Administrator privileges
- Verify Python installation
- Install
uvpackage manager if needed - Install all dependencies
- Launch the application
- The script will automatically:
-
Install Python 3.11+ from python.org
- โ Make sure to check "Add Python to PATH" during installation
-
Install uv package manager:
pip install uv
-
Install dependencies:
uv sync
-
Run the script with Admin privileges:
uv run autoskip_dialogue.py
-
Launch Genshin Impact and ensure it's running on your primary display
-
Run the script:
- Right-click
run.batโ "Run as administrator", or - Run
autoskip_dialogue.pywith admin privileges
- Right-click
-
Verify Resolution:
- On first run, the script will auto-detect your screen resolution
- Confirm the displayed resolution is correct
- Resolution is saved to
.envfor future runs
-
Start Auto-Skip:
- Press F8 to activate auto-skip
- The script will now automatically advance dialogue when detected
-
Play the Game:
- Continue playing normally
- Dialogue will be automatically skipped when Genshin Impact is the active window
| Key | Action | Description |
|---|---|---|
| F8 | Start | Activates auto-skip functionality |
| F9 | Pause | Temporarily pauses auto-skip |
| F12 | Exit | Closes the application |
The console will display the current status:
- RUNNING: Auto-skip is active
- PAUSED: Auto-skip is temporarily disabled
- Taking a break: Simulating natural pause (3-8 seconds)
The script creates a .env file to store configuration:
WIDTH=1920
HEIGHT=1080- WIDTH: Screen width in pixels (auto-detected)
- HEIGHT: Screen height in pixels (auto-detected)
You can manually edit .env if the auto-detection is incorrect.
The script automatically adapts to various resolutions including:
- 1920x1080 (Full HD)
- 2560x1440 (2K)
- 3840x2160 (4K)
- Custom resolutions and ultrawide monitors
The script uses pixel-based detection to identify dialogue states:
- Autoplay Button Detection: Monitors a specific pixel for the characteristic color of the autoplay indicator
- Dialogue Option Detection: Checks for the white speech bubble indicator in dialogue options
- Loading Screen Protection: Verifies the game isn't loading before taking action
To mimic human interaction:
- Randomized Timing: Each F key press has a variable interval (0.12-0.2 seconds)
- Occasional Breaks: 4% chance every 30 seconds to take a 3-8 second break
- Window Checking: Only acts when Genshin Impact is the active window
- Admin Check: Verifies administrator privileges before running
- Python Check: Confirms Python installation and version
- Error Handling: Gracefully handles errors with informative messages
- Retry Logic: Offers retry option if execution fails
- Solution: Ensure you're running as Administrator
- Right-click
run.batโ "Run as administrator"
- Solution: Install Python 3.11+ from python.org
- Make sure to check "Add Python to PATH" during installation
- Verify:
- Genshin Impact is the active window
- Auto-skip is enabled (press F8)
- In-game "Auto-Play Story" is set to Off
- Game is running on primary monitor
- Solution: Manually edit
.envfile with correct dimensions:WIDTH=your_width HEIGHT=your_height
- Check:
- Script is running with Administrator privileges
- No other programs are intercepting keyboard input
- Genshin Impact has focus
| Error | Meaning | Solution |
|---|---|---|
| "This script requires Administrator privileges" | Not running as admin | Run as administrator |
| "Python is not installed or not in PATH" | Python not found | Install Python and add to PATH |
| "Failed to install uv" | Network or permission issue | Check internet connection, try manual install |
| "Script exited with error code: X" | Runtime error | Check console for details, retry with F8 |
If you encounter issues:
- Check the console output for error messages
- Verify all requirements are met
- Try running with
--verboseflag (if available) - Open an issue on GitHub with:
- Error message
- Python version
- Screen resolution
- Windows version
This branch (main) is optimized for keyboard and mouse controls.
If you play Genshin Impact with a gamepad/controller, switch to the gamepad_only branch for gamepad-optimized detection and controls.
Contributions are welcome! Here's how you can help:
-
Fork and clone the repository
-
Install development dependencies:
uv sync
-
Run linters and type checkers:
uvx ruff check . uvx ruff format . uvx mypy autoskip_dialogue.py
- Write clear, descriptive commit messages
- Follow the existing code style (enforced by ruff)
- Add type hints for new functions
- Test on multiple resolutions if possible
- Update documentation for new features
This project is provided as-is for educational purposes.
Remember: Using automation tools with Genshin Impact violates the game's Terms of Service and may result in account penalties including permanent bans. Use at your own risk.
Made with โค๏ธ by the community | Not affiliated with HoYoverse/miHoYo