Skip to main content

Get hoyo daily login rewards automatically!

Project description

hoyo-daily-login-helper

Get hoyo daily login rewards automatically!

Usage

  1. Get your cookie string, open the daily check in page
  2. Open a development console (F12) and insert the following code:
    document.cookie
    
  3. Copy the returned string should be something like "ltoken=....; account_id=....;" this is your cookie string
  4. Open a terminal with the command prepared and enter:
    $ hoyo-daily-logins-helper --cookie="your cookie string" --genshin
    
    (or --starrail for Honkai Star Rail)
  5. Done!

Installation

Docker

The command line options are also available via environment variables which allows you to easily run this script in Docker/Podman!

$ docker run --rm --env HOYO_GAME=starrail --env HOYO_COOKIE="your cookie string" quay.io/atomicptr/hoyo-daily-logins-helper

pip

$ pipx install hoyo-daily-logins-helper

Note: While regular pip should work, it's highly recommended installing this tool via pipx instead!

PyPi: https://pypi.org/project/hoyo-daily-logins-helper/

Configuration

Cookie

You can provide the cookie information either via the HOYO_COOKIE environment variable or using the --cookie CLI flag.

Game

You can provide the cookie information either via the HOYO_GAME environment variable or using the --game NAME/--genshin/--starrail CLI flags.

Supported Games:

  • Genshin Impact (genshin)
  • Honkai: Star Rail (starrail)
  • Honkai Impact 3rd (honkai)
  • Tears of Themis (themis)

Debug mode

If something doesn't work properly and/or you want to report an issue try running the tool with the HOYO_DEBUG environment variable set to 1! Or provide the --debug flag!

$ HOYO_DEBUG=1 hoyo-daily-logins-helper --starrail --cookie="..."

Language

If you want to see the results in other languages than English you can change it via the HOYO_LANGUAGE environment variable or the --language CLI flag

$ HOYO_LANGUAGE=ja-jp hoyo-daily-logins-helper --genshin --cookie="..."

Multiple accounts

You can run this tool for multiple accounts at once:

$ hoyo-daily-logins-helper --game genshin --cookie "cookie for acc 1" --game starrail --cookie "cookie for acc 2"

If you want to do this with environment variables it works basically the same, you just have to separate the values by a ","

$ HOYO_GAME=genshin,starrail HOYO_COOKIE="cookie 1 data...,cookie 2 data..." hoyo-daily-logins-helper

Although I'd recommend you to use a configuration file for this (see the next point)

Configuration file

If there is a file called "hoyo-daily-logins-helper.toml" in the current working directory (or you provided one via --config-file) the tool will read data from there.

$ hoyo-daily-logins-helper --config-file ~/path/to/custom-config-file.toml

Content:

# you can configurate some things here like the language or the user agent
# keep in mind that config and every key in there is optional and you can omit it
[config]
# i'd recommend against changing this value unless you know what you are doing
# not setting this will make it look to the developer like we are using a normal
# web browser while this is very suspicious
user_agent = "My fancy user agent"
# the language of the rewards and presumably return messages from the API
language = "en-us"

# every account starts with this index/key 
[[accounts]]
# accounts can have identifiers for you to differentiate them in the logs
# you could for instance add your account name or UID here
identifier = "My Genshin Account Name"
# the game identifier which has to be genshin or starrail
game = "genshin"
# and the cookie value
cookie = "My Genshin Cookie..."

# repeat this for every other account you might have
[[accounts]]
identifier = "My Starrail Account #1"
game = "starrail"
cookie = "My Starrail Cookie..."

[[accounts]]
identifier = "My Starrail Account #2"
game = "starrail"
cookie = "My Starrail Cookie..."

Scheduler mode

Scheduler mode can only be used if you are working with a configuration file. To enable the scheduler mode, set enable_scheduler = true in the config section.

[config]
# ...
enable_scheduler = true

[[accounts]]
# ....

Discord notifications

If you want to ping a Discord channel, create a webhook and add it to the configuration:

[config]
# ...
notifications = [
    {type = "discord", webhook_url = "https://...."}
]

[[accounts]]
# ....

You can globally disable failure or success reports by adding the on property to the webhook

[config]
# ...
notifications = [
    {type = "discord", webhook_url = "https://....", on = ["failure"]}
]

[[accounts]]
# ....

You can also set accounts to only report on failure if you set the report_on property.

[conifg]
# ...

[[accounts]]
game = "genshin"
report_on = ["failure"]

Adjusting schedule times

The daily logins reset is globally the same at 00:00 Asia/Shanghai, but for various reasons you might want to delay this, so we added an option for this in the accounts section.

[config]
# ...

[[accounts]]
game = "genshin"
# example for configuring everything
checkin_time = {hour = 17, minute = 0, timezone = "Europe/Berlin"}

[[accounts]]
game = "starrail"
# example for only configurating this partially, in this case we want to have the script run at 00:42
checkin_time = {minute = 42}

License

GNU General Public License v3

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hoyo_daily_logins_helper-2.8.2.tar.gz (23.8 kB view hashes)

Uploaded Source

Built Distribution

hoyo_daily_logins_helper-2.8.2-py3-none-any.whl (24.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page