nolaurence / miHoYoSign

基于SpringBoot 和 OneBot Mirai(CQHTTP Mirai) 的 原神自动签到机器人,支持用qq发信息登录米游社

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

米游社签到(miHoYoSign)

基于SpringBoot 和 CQHTTP 的 米游社自动签到机器人,支持原神和崩坏3

  • 此软件仅供学习参考,不得用于非法盈利
  • 本来只是为了自己用的,不是重大问题,大概率不会继续更新
  • 写的很烂,有很多地方不符合规范,还望海涵

一. 功能

  • 支持多用户,一个QQ号可以绑定一个米游社账号,让你的小伙伴可以一起享受自动签到的乐趣
  • 管理员模式(管理员QQ 可以以某个QQ号的身份 向本机器人发送消息)
  • 能发送通知,签到是否成功,领了个啥(默认关,且需要加为好友)

二. 使用

1. 准备

  • java运行环境
  • MySQL (SQlite数据库会自动创建)
  • OneBot Mirai (CQHTTP Mirai) 或 go-cqhttp 等 OneBot标准环境
  • 注意:OneBot Mirai 的群临时消息类型不为private,而为group,不符合OneBot标准,所以必须加为好友才能使用除帮助外的命令

2. 编译配置文件

1.新建application.yml,放到mihoyosign.jar的同级目录

application.yml

debug: true
logging:
  level:
    org:
      springframework:
        boot:
          autoconfigure:
            logging: info
server:
  # 签到服务器端口
  port: 4404

##[sqlite]删除下面的注释
#spring:
#  datasource:
#    # 数据库驱动
#    driver-class-name: org.sqlite.JDBC
#    # 数据库地址
#    url: jdbc:sqlite:mihoyo_sign.sqlite
#  jpa:
#    database-platform: org.sqlite.hibernate.dialect.SQLiteDialect
#    hibernate:
#      ddl-auto: update
#    open-in-view: true

#[mysql]删除下面的注释并修改参数
spring:
  datasource:
    # 数据库驱动
    driver-class-name: com.mysql.cj.jdbc.Driver
    # 数据库地址
    url: jdbc:mysql://192.168.1.123:3306/mihoyo_sign_test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
    # 数据库用户名
    username: root
    # 数据库密码
    password: "123456"
  jpa:
    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
    hibernate:
      ddl-auto: update
    open-in-view: true

app-config:
  # 帮助的回复
  help: |
    命令:
        绑定 [*cookie]
        解绑
        修改api延迟 [延迟(单位:秒 例:0~10)]
        修改签到延迟 [延迟]
        开启签到 [游戏名] [游戏角色UID]
        关闭签到 [游戏名] [游戏角色UID]
        签到 [游戏名] [游戏角色UID]
        开启通知 [游戏名] [游戏角色UID]
        关闭通知 [游戏名] [游戏角色UID]
        所有角色
        已开启角色
    注意:
        带*的为必填参数
    例如:
        开启签到 原神 100000000
          开启指定角色的自动签到
        开启签到 原神
          开启指定游戏的所有角色
        开启签到 100000000
          开启指定UID的所有角色
        开启签到
          开启所有角色

  # OneBot Mirai地址
  url: http://192.168.1.123:4400
  # 管理员的QQ号
  admin-qq-id: 123456789
  # 日志发送到哪个群 -1:不发送 -2:发送给管理员
  log-group-id: -2
  # 默认是否发签到结果通知
  is-notice: false
  # 默认发送miHoYoApi随机延迟范围(单位:秒)
  api-delay: '[2,10]'
  # 自定义api延迟必须所在范围
  api-delay-max: '[0,120]'
  # 默认自动签到随机延迟范围(单位:秒)
  sign-delay: '[0,1200]'
  # 自定义自动签到随机延迟必须所在范围
  sign-delay-max: '[0,7200]'
  # 签到计划执行时间(每天00:30:00)
  sign-cron: 0 30 0 * * ?
  # 奖励列表更新频率(每月1日00:00:00,程序启动时会自动执行一次)
  sign-reward-cron: 0 0 0 1 * ?

  # 命令
  #   收到以左列关键字开头的消息,执行对应右列功能
  #   左列不能重复,右列可以重复
  #   记得结尾打英文逗号,最后一行不要打逗号
  commands: "{
    '帮助' : '帮助',
    '绑定' : '绑定',
    '解绑' : '解绑',
    '修改api延迟' : '修改api延迟',
    '修改签到延迟' : '修改签到延迟',
    '开启签到' : '开启签到',
    '关闭签到' : '关闭签到',
    '签到' : '签到',
    '开启通知' : '开启通知',
    '关闭通知' : '关闭通知',
    '所有角色' : '所有角色',
    '已开启角色' : '已开启角色',
    '所有用户角色' : '所有用户角色',
    '通知' : '通知',
    '全部签到' : '全部签到'
  }"


# 这些不需要改
ys:
  salt: h8w582wxwgqvahcdkpvdhbh2w9casgfl
  headers: "{
    'User_Agent': 'Mozilla/5.0 (Linux; Android 10; MIX 2 Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.101 Mobile Safari/537.36 miHoYoBBS/2.3.0',
    'Accept': 'application/json, text/plain, */*',
    'Content_Type': 'application/json;charset=UTF-8',
    'Connection': 'keep-alive',
    'Origin': 'https://webstatic.mihoyo.com',
    'X_Requested_With': 'com.mihoyo.hyperion',
    'Sec_Fetch_Site': 'same-site',
    'Sec_Fetch_Mode': 'cors',
    'Sec_Fetch_Dest': 'empty',
    'Accept_Encoding': 'gzip,deflate',
    'Accept_Language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7',

    'Content-Length': '66',
    'x-rpc-client_type': '5',
    'Referer': 'https://webstatic.mihoyo.com/bbs/event/signin-ys/index.html?bbs_auth_required=true&act_id=e202009291139501&utm_source=bbs&utm_medium=mys&utm_campaign=icon',
    'x-rpc-app_version': '2.3.0'
  }"
bh3:
  headers: "{
    'User_Agent': 'Mozilla/5.0 (Linux; Android 10; MIX 2 Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.101 Mobile Safari/537.36 miHoYoBBS/2.7.0',
    'Accept': 'application/json, text/plain, */*',
    'Content_Type': 'application/json;charset=UTF-8',
    'Connection': 'keep-alive',
    'Origin': 'https://webstatic.mihoyo.com',
    'X_Requested_With': 'com.mihoyo.hyperion',
    'Sec_Fetch_Site': 'same-site',
    'Sec_Fetch_Mode': 'cors',
    'Sec_Fetch_Dest': 'empty',
    'Accept_Encoding': 'gzip,deflate',
    'Accept_Language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7',

    'Content-Length': '60',
    'Referer': 'https://webstatic.mihoyo.com/bh3/event/euthenia/index.html?bbs_presentation_style=fullscreen&bbs_game_role_required=bh3_cn&bbs_auth_required=true&act_id=e202104072769&utm_source=bbs&utm_medium=mys&utm_campaign=icon'
  }"

2.编辑OneBot Mirai 的 sitting.yml

debug: false
proxy: ""
#机器人QQ号
'123456789':
  cacheImage: false
  cacheRecord: false
  heartbeat:
    enable: false
    interval: 15000
  http:
    #需要开启
    enable: true
    host: 0.0.0.0
    #HTTP API服务器监听端口
    port: 4400
    accessToken: ""
    postUrl: ""
    postMessageFormat: string
    secret: ""
  ws_reverse:
    # 开启反向代理
    - enable: true
      postMessageFormat: string
      # 签到服务器ip
      reverseHost: 0.0.0.0
      # 签到服务器端口
      reversePort: 4440
      accessToken: ''
      # 反向Websocket路径
      reversePath: /mihoyosign
      # 反向Websocket Api路径
      reverseApiPath: /api
      # 反向Websocket Event路径
      reverseEventPath: /event
      useUniversal: true
      useTLS: false
      # 反向 WebSocket 客户端断线重连间隔,单位毫秒
      reconnectInterval: 3000

    #其他反向代理设置
    - enable: false
      postMessageFormat: string
      ...
      ...

具体参数参考OneBot Mirai

3. 运行jar包

命令:

java -jar miHoYoSign.jar

4.运行mirai

三. 命令格式

用户命令:
    帮助
    绑定 [*cookie]
    解绑
    开启签到 [游戏名] [游戏角色UID]
    关闭签到 [游戏名] [游戏角色UID]
    签到 [游戏名] [游戏角色UID]
    开启通知 [游戏名] [游戏角色UID]
    关闭通知 [游戏名] [游戏角色UID]
    修改api延迟 [延迟]
    修改签到延迟 [延迟]
    所有角色
    已开启角色

管理员命令:
    所有用户角色
    通知 [通知内容] [QQ号]
    全部签到

例如:
    开启签到 原神 100000000
    开启指定角色的签到
		
    开启签到 原神
    开启指定游戏的所有角色签到	
	
    开启签到 100000000
    开启指定UID的所有角色签到(如uid重复会都开启)
		
    开启签到
    开启所有角色签到
注意:
    带*的为必填参数,不带*的参数可以不写,但不能调换参数的顺序

四. 预览图

登录 签到

五. 注意事项

  • 注意服务器时间要为**时间

直接或间接引用到的其他开源项目

About

基于SpringBoot 和 OneBot Mirai(CQHTTP Mirai) 的 原神自动签到机器人,支持用qq发信息登录米游社


Languages

Language:Java 99.2%Language:HTML 0.8%