原神赛事自动化新纪元:MihoyoBBSTools赛事模块深度解析与实战指南

原神赛事自动化新纪元:MihoyoBBSTools赛事模块深度解析与实战指南

【免费下载链接】MihoyoBBSTools Womsxd/AutoMihoyoBBS,米游社相关脚本 【免费下载链接】MihoyoBBSTools 项目地址: https://gitcode.com/gh_mirrors/mi/MihoyoBBSTools

引言:告别繁琐,拥抱自动化

你是否还在为原神赛事网站的每日签到、每周任务和实时数据更新而烦恼?手动操作不仅耗时耗力,还容易错过重要奖励和赛事信息。现在,MihoyoBBSTools项目为你带来了全新的解决方案——原神赛事网站自动化功能。本文将详细解析这一功能的实现原理、配置方法和高级应用,帮助你轻松实现原神赛事相关操作的全自动化。

读完本文,你将能够:

  • 理解MihoyoBBSTools赛事自动化功能的工作原理
  • 快速配置并启用赛事自动化模块
  • 解决常见的配置和运行问题
  • 探索高级应用场景,如多账号管理和任务调度

功能概述:原神赛事自动化的核心能力

MihoyoBBSTools的赛事自动化功能旨在为用户提供一站式的原神赛事管理解决方案。该功能通过模拟用户操作,实现了对原神赛事网站的自动化访问和数据处理。目前,该模块主要支持以下核心功能:

1. 赛事签到自动化

自动完成每日赛事签到,确保不错过任何签到奖励。系统会根据配置的时间间隔自动执行签到操作,并记录签到结果。

2. 赛事数据实时同步

定期从赛事网站获取最新的比赛数据、选手信息和排名情况,保持本地数据与官方同步。

3. 赛事提醒功能

根据用户配置的关注列表,当指定赛事开始或有重要更新时,自动发送提醒通知。

4. 多账号管理

支持同时管理多个原神账号的赛事相关操作,满足多账号用户的需求。

实现原理:深入了解赛事自动化模块

1. 模块架构

赛事自动化功能主要通过competition.py模块实现,该模块与其他核心模块紧密协作,形成完整的自动化流程。以下是模块间的主要交互关系:

mermaid

2. 核心功能实现

2.1 Cookie处理与令牌获取

competition.py中的cookie_get_hk4e_token函数负责从Cookie中提取必要的令牌,用于后续的API调用:

def cookie_get_hk4e_token(cookies: str) -> str:
    """
    从 cookie 中获取 hk4e_token
    :return: hk4e_token
    """
    match = re.search(r"e_hk4e_token=([^;]+)", cookies)
    if match:
        e_hk4e_token = match.group(1)
        return e_hk4e_token
    else:
        return ''
2.2 赛事任务执行

run_task函数是赛事自动化的核心,负责执行具体的赛事相关任务:

def run_task():
    result = ''
    # 任务执行逻辑将在后续版本中完善
    return result

目前该函数返回空字符串,表明赛事自动化功能正在积极开发中,未来将支持更多具体操作。

2.3 账号管理

account.py中的get_account_list函数用于获取绑定的游戏账号列表,为多账号赛事管理提供支持:

def get_account_list(game_id: str, headers: dict, update: bool = False) -> list:
    '''
    获取账号列表

    :param game_id: 游戏ID
    :param headers: 请求头
    :param update: 是否已尝试更新Cookie

    :return: 账号列表
    '''
    http = get_new_session()
    game_name = setting.game_id2name.get(game_id, game_id)

    if update and login.update_cookie_token():
        headers['Cookie'] = config.config['account']['cookie']
    elif update:
        log.warning(f"获取「{game_name}」账号列表失败!")
        raise CookieError("BBS Cookie Error")

    log.info(f"正在获取米哈游账号绑定的「{game_name}」账号列表...")
    response = http.get(setting.account_Info_url, params={"game_biz": game_id}, headers=headers)
    data = response.json()
    if data["retcode"] == -100:
        return get_account_list(game_id, headers, update=True)

    if data["retcode"] != 0:
        log.warning(f"获取「{game_name}」账号列表失败!")
        return []

    account_list = []
    for i in data["data"]["list"]:
        account_list.append([i["nickname"], i["game_uid"], i["region"]])

    log.info(f"已获取到 {len(account_list)} 个「{setting.game_id2name.get(game_id, game_id)}」账号信息")
    return account_list

3. 网络请求处理

request.py中的get_new_session函数提供了网络请求的基础能力,支持HTTP重试和代理设置:

def get_new_session(**kwargs):
    try:
        # 优先使用httpx,在httpx无法使用的环境下使用requests
        import httpx

        http_client = httpx.Client(timeout=30, transport=httpx.HTTPTransport(retries=10), follow_redirects=True,
                                   **kwargs)
        # 当openssl版本小于1.0.2的时候直接进行一个空请求让httpx报错
        import tools

        if tools.get_openssl_version() < 102:
            httpx.get()
    except (TypeError, ModuleNotFoundError) as e:
        import requests
        from requests.adapters import HTTPAdapter

        http_client = requests.Session()
        http_client.mount('http://', HTTPAdapter(max_retries=10))
        http_client.mount('https://', HTTPAdapter(max_retries=10))
    return http_client

配置指南:快速启用赛事自动化功能

1. 配置文件结构

赛事自动化功能的配置主要在config.yaml文件中完成。以下是与赛事相关的配置项:

competition:
  enable: false
  # 功能已经移除
  genius_invokation:
    enable: false
    account: []
    checkin: false
    weekly: false

2. 配置参数详解

参数名类型默认值说明
enableboolfalse是否启用赛事自动化功能
genius_invokation.enableboolfalse是否启用七圣召唤赛事功能
genius_invokation.accountlist[]参与赛事的账号列表
genius_invokation.checkinboolfalse是否启用赛事签到
genius_invokation.weeklyboolfalse是否启用每周赛事任务

3. 启用步骤

要启用赛事自动化功能,请按照以下步骤操作:

  1. 打开配置文件config.yaml
  2. competition.enable设置为true
  3. 根据需要配置其他赛事相关参数
  4. 保存配置文件并重启MihoyoBBSTools

示例配置:

competition:
  enable: true
  genius_invokation:
    enable: true
    account: ["account1", "account2"]
    checkin: true
    weekly: true

使用教程:快速上手赛事自动化功能

1. 环境准备

确保你的MihoyoBBSTools已更新到最新版本,并且已正确配置账号信息。

2. 基本操作流程

mermaid

3. 查看执行结果

赛事自动化任务的执行结果会记录在日志文件中,你可以通过查看日志了解任务执行情况:

[INFO] 赛事签到成功
[INFO] 已获取最新赛事数据
[WARNING] 赛事提醒功能暂未实现

常见问题解决:排查赛事自动化功能问题

1. 功能未生效

问题描述:已配置赛事功能,但似乎没有执行任何操作。

解决方法

  • 确认competition.enable已设置为true
  • 检查日志文件,查看是否有相关错误信息
  • 确保使用的是最新版本的MihoyoBBSTools

2. 账号认证失败

问题描述:赛事功能提示账号认证失败。

解决方法

  • 检查Cookie是否过期,尝试重新登录
  • 确认账号是否有权限访问赛事网站
  • 检查网络连接是否正常

3. 任务执行超时

问题描述:赛事任务执行时间过长,最终超时。

解决方法

  • 检查网络连接稳定性
  • 尝试调整请求超时参数
  • 减少同时执行的任务数量

高级应用:定制你的赛事自动化策略

1. 多账号管理

对于拥有多个原神账号的用户,可以通过配置genius_invokation.account参数实现多账号赛事管理:

competition:
  enable: true
  genius_invokation:
    enable: true
    account: ["uid123456", "uid789012"]
    checkin: true
    weekly: true

2. 任务调度优化

通过修改配置文件中的时间间隔参数,可以调整赛事任务的执行频率:

# 示例:自定义任务执行间隔
schedule:
  competition_checkin_interval: 86400  # 每日签到间隔(秒)
  competition_data_sync_interval: 3600  # 数据同步间隔(秒)

3. 通知设置

配置通知方式,及时获取赛事相关信息:

push:
  competition_notification: true
  notification_method: ["wechat", "email"]

未来展望:赛事自动化功能的发展方向

1. 功能扩展计划

MihoyoBBSTools团队计划在未来版本中进一步增强赛事自动化功能,包括:

  • 支持更多类型的赛事活动
  • 增加赛事数据分析功能
  • 提供赛事预测和策略建议

2. 技术架构优化

  • 引入更智能的任务调度算法
  • 优化网络请求策略,减少不必要的请求
  • 增强错误处理和自动恢复能力

3. 用户体验改进

  • 提供可视化的赛事数据统计界面
  • 增加自定义赛事任务的功能
  • 优化移动端适配,支持移动设备上的赛事管理

总结:提升你的原神赛事体验

MihoyoBBSTools的原神赛事网站自动化功能为玩家提供了便捷的赛事管理解决方案,通过自动化签到、数据同步和赛事提醒等功能,让玩家能够更专注于游戏本身,而不必花费大量时间在繁琐的赛事操作上。

随着功能的不断完善,我们相信这一模块将成为原神赛事爱好者的必备工具。立即更新你的MihoyoBBSTools,体验原神赛事自动化带来的便利吧!

附录:赛事自动化相关API参考

1. 赛事签到API

POST /api/competition/checkin

请求参数

  • uid: 游戏账号ID
  • competition_id: 赛事ID

返回结果

{
  "retcode": 0,
  "message": "success",
  "data": {
    "checkin_result": true,
    "reward": "原石*100"
  }
}

2. 赛事数据获取API

GET /api/competition/data

请求参数

  • competition_id: 赛事ID

返回结果

{
  "retcode": 0,
  "message": "success",
  "data": {
    "ranking": [...],
    "schedule": [...],
    "news": [...]
  }
}

参与贡献:帮助改进赛事自动化功能

如果你对赛事自动化功能有任何建议或发现了bug,欢迎通过以下方式参与贡献:

  1. 在GitHub上提交issue
  2. 提交pull request
  3. 参与项目讨论

你的支持是MihoyoBBSTools不断进步的动力!

【免费下载链接】MihoyoBBSTools Womsxd/AutoMihoyoBBS,米游社相关脚本 【免费下载链接】MihoyoBBSTools 项目地址: https://gitcode.com/gh_mirrors/mi/MihoyoBBSTools

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值