GithubHelp home page GithubHelp logo

hoyolab-auto-login's Introduction

Hoyolab Auto Login

Static Badge Static Badge

OverviewRequirementsInstallationCommon QuestionsUpdatingContributing

Overview

A simple program to always claim Hoyolab's daily login system for Hoyoverse games. Script was originally made by vermaysha/Hoyolab-Auto-Daily-Checkin, but since the original repository is archived I decided to fork and maintain it myself, along with some improvements and installation guide.

Features:

  • Supports multiple Hoyolab accounts
  • Supports multiple game accounts
  • Supports Geetest solving service (2captcha / Capsolver)
  • Send Discord notification
  • Configurable schedule

Requirements

Hoyolab account cookie (COOKIE)

Obtain your cookie in the code redemption page of any Hoyolab-supported games. Refer to the image below for guide.

obtain_cookie

(Optional) Discord Webhook URL (DISCORD_WEBHOOK)

You can have the script notify on a Discord channel via webhook. On any channel where you have webhook permissions in, go into:

Channel Settings > Integrations > Webhooks > New Webhook

You can also choose to use existing one by clicking on Copy Webhook URL.

You can also configure the script to notify (ping) your Discord ID in case of a login failure. To do this, append DISCORD_ID=1234567890; rest_of_cookie=; ... at the start your cookie.

5

(Optional) Whether the script should (RUN_ONCE) or continuously

This should either be left unset, or a value of True. Set it to True if you have an external scheduler (like CRON) to automatically start the script at a certain time. The script will run continuously as a process when this is unset.

(Optional) SCHEDULE on what time of the day the script will run at

This should either be left unset, or a valid time format (00:00 to 23:59). You can also additionally specify the timezone in your env or leave the default as UTC, ex: TIMEZONE=Asia/Kuala_Lumpur. Refer to List of tz database time zones.

Installation

Running the script on Northflank

In addition to hosting your applications, Northflank also lets you schedule jobs to run in CRON format, and their free tier does not have an hourly limit unlike Railway. But in a free project, you are limited to 2 jobs at any time.

  1. Sign Up on Northflank if you haven't and create a free project. It should look like this:
    image
  2. Create a new job and select 'Cron job' as the job type.
    image
  3. Enter the time at which you want the script to run, in CRON format. Refer to crontab.guru for an explanation of cron formatting.
    image
  4. Select 'External Image' under 'Job source' and use this URL for 'Image path':
    ghcr.io/raidensakura/hoyolab-auto-login:master
    image
  5. Fill in your credentials under 'Environmental Variables'. Make sure to set RUN_ONCE to True in the env.
    image
  6. Save your script. Now, execute it manually by clicking the 'Run job' button, as shown:
    image
  7. You should see a new entry under 'Recent job runs', as follows:
    image
  8. Click on it, and then click on its entry under 'Containers'. If your script is working correctly, it should show a log as follows:
    Untitled

Common Questions

  • If I play multiple Hoyoverse games, does it log into all of them?
    The supported games for now are:

    • Honkai Impact 3rd
    • Genshin Impact
    • Honkai: Star Rail

    If you've bound those game accounts to your Hoyolab account, it will claim the daily login in all of them.

  • How do I log in with multiple Hoyolab accounts?
    Add a # between your cookies.

    Example:
    COOKIE1#COOKIE2#COOKIE3

  • My cookie_token is missing!
    Try logging out and logging back into your Hoyolab account. If it still doesn't work, try getting it from the code redemption or daily sign-in webpage instead:

  • Why aren't you using GitHub Actions?
    Using GitHub Actions may violate GitHub's Terms of Service and lead to this repository being taken down.

  • If you have any other questions
    Feel free to join my Discord server and post your question there. I'll try to reply as soon as I can.

Updating

If you're on a fork and want to keep it automatically updated, install and configure the Pull App for your repository.

Contributing

When suggesting changes, please format your code with black and ruff.

Install Poetry using pipx. Install project dependencies with:

poetry install --no-root --with dev

Install the pre-commit hooks with:

poetry run pre-commit install

Launch the script with:

poetry run python hoyolab.py

hoyolab-auto-login's People

Contributors

raidensakura avatar vermaysha avatar golumpa avatar

Forkers

arufan

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.