Skip to main content

Automatically get Genshin Impact daily check-in rewards from miHoYo bbs and HoYoLAB Community.

Project description

English | 简体中文

genshinhelper

Automatically get Genshin Impact daily check-in rewards.

GitHub stars GitHub forks GitHub issues Docker stars Docker pulls PyPI version PyPI downloads QQ Group Discord Telegram


░█▀▀▀░█▀▀░█▀▀▄░█▀▀░█░░░░░▀░░█▀▀▄░█░░░░█▀▀░█░░▄▀▀▄░█▀▀░█▀▀▄
░█░▀▄░█▀▀░█░▒█░▀▀▄░█▀▀█░░█▀░█░▒█░█▀▀█░█▀▀░█░░█▄▄█░█▀▀░█▄▄▀
░▀▀▀▀░▀▀▀░▀░░▀░▀▀▀░▀░░▀░▀▀▀░▀░░▀░▀░░▀░▀▀▀░▀▀░█░░░░▀▀▀░▀░▀▀

Table of Contents

If this project is helpful to you, please give us a ⭐️Star QAQ ♥

Features

  • miHoYo BBS Genshin Impact daily check-in
  • HoYoLAB Community Genshin Impact daily check-in
  • Weibo super topic daily check-in
  • Support subscription push
  • Support multiple accounts
  • Support multiple roles (CN Server)

Installation

This project uses Docker or Python3. Go check it out if you don't have one of them locally installed.

  • Docker

You can use the following command to pull the image:

$ docker pull yindan/genshinhelper

This pulls the latest release of genshinhelper.

It can be found at Docker Hub.

  • PyPI Package

You can also use the pypi package:

$ pip install genshinhelper

Usage

Docker

In the following commands, COOKIE_MIHOYOBBS is the variable name and <COOKIE_MIHOYOBBS> is your COOKIE_MIHOYOBBS value. The same goes for DISCORD_WEBHOOK and so on.

You can find all the environment variables used in this project in the Configuration section.

  • Basic usage
$ docker run -d --name=genshinhelper \
-e COOKIE_MIHOYOBBS="<COOKIE_MIHOYOBBS>" \
-e DISCORD_WEBHOOK="<DISCORD_WEBHOOK>" \
--restart always \
yindan/genshinhelper:latest
  • Advanced usage

Docker triggers tasks at 6:00 (UTC+8) every day by default. Use the CRON_SIGNIN variable to customize the trigger time.

Tips: Trigger time according to UTC+8

$ docker run -d --name=genshinhelper \
-e COOKIE_MIHOYOBBS="<COOKIE_MIHOYOBBS>" \
-e DISCORD_WEBHOOK="<DISCORD_WEBHOOK>" \
-e CRON_SIGNIN="0 7 * * *" \
--restart always \
yindan/genshinhelper:latest

If you want to use the config.json configuration file, use the following command to map the relevant folder.

Assuming your configuration file is located at /etc/genshin/config.json.

$ docker run -d --name=genshinhelper \
-e COOKIE_MIHOYOBBS="<COOKIE_MIHOYOBBS>" \
-e DISCORD_WEBHOOK="<DISCORD_WEBHOOK>" \
-e CRON_SIGNIN="0 7 * * *" \
-v /etc/genshin:/app/genshinhelper/config \
--restart always \
yindan/genshinhelper:latest
  • Useful commands
# Logs
$ docker logs -f genshinhelper --tail 100

# Restart
$ docker restart genshinhelper

# Update
$ docker pull yindan/genshinhelper
$ docker rm -f genshinhelper
# Re-create the container with the latest image according to basic usage or Advanced usage.

# Uninstall
$ docker rm -f genshinhelper
$ docker image rm genshinhelper

PyPI Package

You must add environment variables in host at first. See Configuration for more details.

The following command assume that you have already added the environment variables.

$ python -m genshinhelper

Serverless

If you don't have a host, you can try using serverless deployment. It can help you to automatically check-in every day.

You need to download the latest genshinhelper-xxx-serverless.zip serverless zip file at first. The entry point of the zip file is index.main_handler.

Tencent Cloud SCF

Tips: Cron expressions are 7 digits

International | 中国站

  • Go to 云函数 SCF 管理控制台函数服务新建自定义创建基础配置本地上传zip包上传本地上传zip包 → Select the downloaded file genshinhelper-xxx-serverless.zip完成

SCF_upload

  • Go to genshinhelper函数管理函数配置编辑

SCF_edit

  • Modify 执行超时时间 to 300 seconds and add environment variables in 环境变量. The list of environment variables can be found in the Configuration section.

SCF_add_environment_variables

  • Go to genshinhelper触发管理新建触发器 → Configure as shown below:

SCF_Triggers

Alibaba Cloud FC

Tips: Cron expressions are 6 digits

International | 中国站

  • Go to 函数计算 FC 管理控制台新建函数事件函数代码包上传上传代码 → Select the downloaded file genshinhelper-xxx-serverless.zip → Configure as shown below. Note that the entry point is index.main_handler新建

FC_upload

  • Go to genshinhelper概览修改配置

FC_edit

  • Scroll down and find 环境变量 to add environment variables. The list of environment variables can be found in the Configuration section.

FC_add_environment_variables

  • Go to genshinhelper触发器创建触发器 → Configure as shown below:

FC_Triggers

Configuration

The project has two ways of using custom configurations.

Environment Variables

You can write your configuration directly into the environment variables.

The following table lists all the environment variables used in this project:

Click here
Variable Name Required The name in the config.json Default Website Description
LANGUAGE language en-us Rewards language for HoYoLAB daily check-in.
COOKIE_MIHOYOBBS cookie_mihoyobbs https://bbs.mihoyo.com/ys/ Cookie from miHoYo bbs.
COOKIE_MIYOUBI cookie_miyoubi https://bbs.mihoyo.com/ys/ Cookie from miHoYo bbs.
COOKIE_HOYOLAB cookie_hoyolab https://www.hoyolab.com/genshin/ Cookie from HoYoLAB community.
COOKIE_WEIBO cookie_weibo https://m.weibo.cn/ Cookie from Weibo intl app. Cookie from https://m.weibo.cn might work.
WEIBO_INTL_AID weibo_intl_aid Weibo intl app's aid-parameters.
WEIBO_INTL_S weibo_intl_s Weibo intl app's s-parameters.
COOKIE_KA cookie_ka https://ka.sina.com.cn/ Cookie from https://ka.sina.com.cn/
BARK_KEY bark_key iOS Bark app's IP or device code. For example: https://api.day.app/xxxxxx
BARK_SOUND bark_sound healthnotification iOS Bark app's notification sound. Default: healthnotification
COOL_PUSH_SKEY cool_push_skey https://cp.xuthus.cc/ SKEY for Cool Push.
COOL_PUSH_MODE cool_push_mode send Push method for Cool Push. Choose from send(私聊),group(群组),wx(微信). Default: send
CRON_SIGNIN 0 6 * * * Docker custom runtime
CUSTOM_NOTIFIER custom_notifier Custom notifier configuration
DD_BOT_TOKEN dingtalk_bot_token 钉钉机器人WebHook地址中access_token后的字段.
DD_BOT_SECRET dingtalk_bot_secret 钉钉加签密钥.在机器人安全设置页面,加签一栏下面显示的以SEC开头的字符串.
DISCORD_WEBHOOK discord_webhook Webhook of Discord.
IGOT_KEY igot_key KEY for iGot. For example: https://push.hellyw.com/xxxxxx
PUSH_PLUS_TOKEN push_plus_token 一对一推送 https://www.pushplus.plus/doc/ pushplus 一对一推送或一对多推送的token.不配置push_plus_user则默认为一对一推送.
PUSH_PLUS_USER push_plus_user pushplus 一对多推送的群组编码.在'一对多推送'->'您的群组'(如无则新建)->'群组编码'里查看,如果是创建群组人,也需点击'查看二维码'扫描绑定,否则不能接收群组消息.
SCKEY server_chan_key https://sc.ftqq.com/3.version/ SCKEY for ServerChan.
SCTKEY server_chan_turbo_key https://sct.ftqq.com/ SENDKEY for ServerChanTurbo.
TG_BOT_API telegram_bot_api api.telegram.org Telegram robot api address. Default: api.telegram.org
TG_BOT_TOKEN telegram_bot_token Telegram robot token. Generated when requesting a bot from @botfather
TG_USER_ID telegram_user_id User ID of the Telegram push target.
WW_ID wechat_work_id https://work.weixin.qq.com/api/doc/90000/90135/90236 企业微信的企业ID(corpid).在'管理后台'->'我的企业'->'企业信息'里查看.
WW_APP_SECRET wechat_work_app_secret 企业微信应用的secret.在'管理后台'->'应用与小程序'->'应用'->'自建',点进某应用里查看.
WW_APP_USERID wechat_work_app_userid @all 企业微信应用推送对象的用户ID.在'管理后台'->' 通讯录',点进某用户的详情页里查看.默认: @all
WW_APP_AGENTID wechat_work_app_agentid 企业微信应用的agentid.在'管理后台'->'应用与小程序'->'应用',点进某应用里查看.
WW_BOT_KEY wechat_work_bot_key https://work.weixin.qq.com/api/doc/90000/90136/91770 企业微信机器人WebHook地址中key后的字段.

Configuration file

It is recommended to copy and rename config.example.json to config.json before use the configuration file.

A config.example.json in JSON like below:

Click here
{
    "language":"en-us",
    "cookies":{
        "cookie_mihoyobbs":"",
        "cookie_miyoubi":"",
        "cookie_hoyolab":"",
        "cookie_weibo":"",
        "weibo_intl_aid":"",
        "weibo_intl_s":"",
        "cookie_ka":""
    },
    "notifiers":{
        "bark_key":"",
        "bark_sound":"healthnotification",
        "cool_push_skey":"",
        "cool_push_mode":"send",
        "custom_notifier":{
            "method":"post",
            "url":"",
            "data":{

            },
            "retcode_key":"",
            "retcode_value":200,
            "data_type":"data",
            "merge_title_and_desp":false,
            "set_data_title":"",
            "set_data_sub_title":"",
            "set_data_desp":""
        },
        "dingtalk_bot_token":"",
        "dingtalk_bot_secret":"",
        "discord_webhook":"",
        "igot_key":"",
        "push_plus_token":"",
        "push_plus_user":"",
        "server_chan_key":"",
        "server_chan_turbo_key":"",
        "telegram_bot_api":"api.telegram.org",
        "telegram_bot_token":"",
        "telegram_user_id":"",
        "wechat_work_id":"",
        "wechat_work_app_secret":"",
        "wechat_work_app_userid":"@all",
        "wechat_work_app_agentid":"",
        "wechat_work_bot_key":""
    }
}

Multiple accounts

Multiple account cookies need to be separated by "#" symbol. e.g. COOKIE_MIHOYOBBS="<cookie1>#<cookie2>#<cookie3>"

Contributing

Feel free to dive in! Open an issue or submit PRs.

Help and Support

Please join our chat groups for help and support.

QQ Group | Discord | Telegram

Acknowledgements

The idea for the miyoubi feature is inspired by XiaoMiku01's project miyoubiAuto.

Huge thanks to the contributors of the y1ndan/genshin-impact-helper project:

  • PomeloWang
  • Celeter
  • Arondight
  • chenkid999
  • xe5700
  • Renari
  • journey-ad
  • aflyhorse
  • thesadru
  • PeterPanZH
  • cainiaowu
  • alwaysmiddle
  • qianxu2001

License

License

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

genshinhelper-1.1.1.tar.gz (40.6 kB view hashes)

Uploaded Source

Built Distribution

genshinhelper-1.1.1-py3-none-any.whl (43.3 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