Sign inSign up

yindan/genshinhelper

By yindan

Updated about 4 years ago

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

Image
37

100K+

yindan/genshinhelper repository overview

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 \
-v /etc/genshin:/app/genshincheckinhelper/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

AWS Lambda

Tips: About AWS cron expressions, check out here.

  • Go to AWS Lambda → Sign In to the Console → Choose a region (Singapore for example)

AWS_console

  • Click All servicesLambda
  • In the left, FunctionsCreate function
  • Choose Author from scratch / Function name: yourAwesomeFunctionName / Runtime: Python 3.8Create function

Lambda_Create_Function

  • In function dashboard, CodeUpload from.zip file → Select the downloaded file genshinhelper-xxx-serverless.zipSave

Upload_Function

  • Scroll down, edit runtime settings. Change the original lambda_function.lambda_handler in Handler section to index.main_handlerSave

RuntimeSettings

  • Back to Function overview, click Add trigger → search / choose EventBridge → Configue as shown below

EventBridge_Conifg

  • Function dashboard → ConfigurationGeneral configurationEdit → Timeout change to 5 min 0 sec

GeneralSettings

  • ConfigurationEnvironment variablesEditAdd environment variable

EnvironmentVariables

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 NameRequiredDefaultDescription
LANGUAGEen-usRewards language for HoYoLAB daily check-in.
COOKIE_MIHOYOBBSCookie from miHoYo bbs. https://bbs.mihoyo.com/ys/
COOKIE_MIYOUBICookie from miHoYo bbs. https://bbs.mihoyo.com/ys/
COOKIE_HOYOLABCookie from HoYoLAB community. https://webstatic-sea.mihoyo.com/ys/event/signin-sea/index.html?act_id=e202102251931481&lang=en-us
COOKIE_WEIBOCookie from Weibo intl app.
COOKIE_KACookie from https://ka.sina.com.cn/
BARK_KEYiOS Bark app's IP or device code. For example: https://api.day.app/xxxxxx
BARK_SOUNDhealthnotificationiOS Bark app's notification sound. Default: healthnotification
COOL_PUSH_SKEYSKEY for Cool Push. https://cp.xuthus.cc/
COOL_PUSH_MODEsendPush method for Cool Push. Choose from send(私聊),group(群组),wx(微信). Default: send
CRON_SIGNIN0 6 * * *Docker custom runtime
CUSTOM_NOTIFIERCustom notifier configuration
DD_BOT_TOKEN钉钉机器人WebHook地址中access_token后的字段.
DD_BOT_SECRET钉钉加签密钥.在机器人安全设置页面,加签一栏下面显示的以SEC开头的字符串.
DISCORD_WEBHOOKWebhook of Discord.
IGOT_KEYKEY for iGot. For example: https://push.hellyw.com/xxxxxx
PUSH_PLUS_TOKEN一对一推送pushplus 一对一推送或一对多推送的token.不配置push_plus_user则默认为一对一推送. https://www.pushplus.plus/doc/
PUSH_PLUS_USERpushplus 一对多推送的群组编码.在'一对多推送'->'您的群组'(如无则新建)->'群组编码'里查看,如果是创建群组人,也需点击'查看二维码'扫描绑定,否则不能接收群组消息.
SCKEYSCKEY for ServerChan. https://sc.ftqq.com/3.version/
SCTKEYSENDKEY for ServerChanTurbo. https://sct.ftqq.com/
TG_BOT_APIapi.telegram.orgTelegram robot api address. Default: api.telegram.org
TG_BOT_TOKENTelegram robot token. Generated when requesting a bot from @botfather
TG_USER_IDUser ID of the Telegram push target.
WW_ID企业微信的企业ID(corpid).在'管理后台'->'我的企业'->'企业信息'里查看. https://work.weixin.qq.com/api/doc/90000/90135/90236
WW_APP_SECRET企业微信应用的secret.在'管理后台'->'应用与小程序'->'应用'->'自建',点进某应用里查看.
WW_APP_USERID@all企业微信应用推送对象的用户ID.在'管理后台'->' 通讯录',点进某用户的详情页里查看.默认: @all
WW_APP_AGENTID企业微信应用的agentid.在'管理后台'->'应用与小程序'->'应用',点进某应用里查看.
WW_BOT_KEY企业微信机器人WebHook地址中key后的字段. https://work.weixin.qq.com/api/doc/90000/90136/91770
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",
  "COOKIE_MIHOYOBBS": "",
  "COOKIE_MIYOUBI": "",
  "COOKIE_HOYOLAB": "",
  "COOKIE_WEIBO": "",
  "COOKIE_KA": "",
  "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": ""
  },
  "DD_BOT_TOKEN": "",
  "DD_BOT_SECRET": "",
  "DISCORD_WEBHOOK": "",
  "IGOT_KEY": "",
  "PUSH_PLUS_TOKEN": "",
  "PUSH_PLUS_USER": "",
  "SCKEY": "",
  "SCTKEY": "",
  "TG_BOT_API": "api.telegram.org",
  "TG_BOT_TOKEN": "",
  "TG_USER_ID": "",
  "WW_ID": "",
  "WW_APP_SECRET": "",
  "WW_APP_USERID": "@all",
  "WW_APP_AGENTID": "",
  "WW_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

Tag summary

Content type

Image

Digest

sha256:838608266

Size

21.8 MB

Last updated

about 4 years ago

docker pull yindan/genshinhelper