使用 ASFRequest 轻松扩展 ArchiSteamFarm

后端·脚本 · 2024-07-03

前言

ArchiSteamFarm (ASF) 是一款强大的 Steam 挂卡工具,可以让用户通过机器人自动化完成 Steam 相关的任务。但 ASF 本身是基于 .NET 生态的,对于不熟悉 .NET 开发的用户来说,开发插件可能有一定的门槛。

幸运的是,ASFRequest 这个插件提供了一种更简单的方式,它可以通过 HTTP API 让你远程控制 ASF 的功能,无需深入 .NET 代码,就能快速扩展功能。

本文将介绍 ASFRequest 的功能、安装方法及一些实际的应用场景。

GitHub 仓库地址:ASFRequest


ASFRequest 简介

ASFRequest 是一个 ASF 的扩展插件,它的主要作用是转发所有请求到 ASF,并通过 API 方式进行控制。这意味着你可以通过 HTTP 请求来完成 ASF 机器人管理、Steam 交互等任务。

适用场景

ASFRequest 适用于以下情况:

  • 你不熟悉 .NET 开发,但希望通过 ASF 扩展功能。
  • 你临时需要某些功能,不想开发 .NET 插件,也不想重启 ASF。
  • 你需要批量管理多个 ASF 机器人。
  • 其他需要远程控制 ASF 的场景。

ASFRequest 安装方法

  1. 从 GitHub Releases 页面下载插件。
  2. ASFRequest.dll 解压至 ASF 的 plugins 文件夹。
  3. 重新启动 ArchiSteamFarm。

安装完成后,你就可以通过 HTTP API 控制 ASF 了。


API 介绍

ASFRequest 提供了一系列 HTTP API,允许用户通过简单的请求来控制 ASF。

主要 API 列表

接口类型作用
/Api/ASFRequest/AddBotPOST批量添加机器人
/Api/ASFRequest/GetState/{botNames}POST发送 GET 请求,返回状态
/Api/ASFRequest/GetHtml/{botNames}POST发送 GET 请求,返回 HTML 数据
/Api/ASFRequest/GetJson/{botNames}POST发送 GET 请求,返回 JSON 数据
/Api/ASFRequest/PostHtml/{botNames}POST发送 POST 请求,返回 HTML 数据
/Api/ASFRequest/PostJson/{botNames}POST发送 POST 请求,返回 JSON 数据

所有接口都可以通过 Swagger 进行测试,访问地址: http://{host}:{port}/swagger


使用示例

下面是两个实际的 API 调用示例,帮助你理解 ASFRequest 的使用方式。

示例 1:获取游戏评测信息

假设我们想获取游戏 PUBG: BATTLEGROUNDS 的评测情况,我们可以使用 GetHtml 接口。

请求方式

curl -X 'POST' \
  'http://localhost:1242/Api/ASFRequest/GetHtml/asf' \
  -H 'accept: application/json' \
  -H 'Authentication: password' \
  -H 'Content-Type: application/json' \
  -d '{
    "Url": "https://store.steampowered.com/app/578080/PUBG_BATTLEGROUNDS/",
    "WithSession": true,
    "Referer": "https://store.steampowered.com",
    "Xpath": "//*[@id='userReviews']"
  }'

返回内容

{
  "Result": {
    "robotName1": {
      "Result": "最近评测:褒贬不一(19,583)- 过去 30 天内的 19,583 篇用户评测中有 69% 为好评。全部评测:褒贬不一(2,342,656)- 此游戏的 2,342,656 篇用户评测中有 58% 为好评。",
      "Message": "OK",
      "Success": true
    }
  },
  "Message": "OK",
  "Success": true
}

这个 API 通过 ASF 机器人访问 Steam 商店页面,并提取评测信息。


示例 2:添加游戏到愿望单

如果你想通过 ASF 机器人给自己的 Steam 账户添加愿望单,可以使用 PostJson 接口。

请求方式

curl -X 'POST' \
  'http://localhost:1242/Api/ASFRequest/PostJson/asf' \
  -H 'accept: application/json' \
  -H 'Authentication: password' \
  -H 'Content-Type: application/json' \
  -d '{
    "Url": "https://store.steampowered.com/api/addtowishlist",
    "WithSession": true,
    "Referer": "https://store.steampowered.com",
    "BodyData": {
      "appid": "578080"
    }
  }'

返回内容

{
  "Result": {
    "robotName1": {
      "Result": {
        "success": true,
        "wishlistCount": 10
      },
      "Message": "OK",
      "Success": true
    }
  },
  "Message": "OK",
  "Success": true
}

这个 API 让 ASF 机器人代替你操作 Steam 页面,将游戏添加到愿望单。


总结

ASFRequest 是一个非常实用的 ASF 扩展插件,它通过 HTTP API 让你可以更加灵活地控制 ASF 机器人。无论是批量管理机器人,还是执行 Steam 相关的自动化操作,都能大大提升效率。

如果你正在使用 ASF,希望让它变得更加易用,不妨尝试 ASFRequest,享受更加便捷的自动化体验!

ArchiSteamFarm 插件
Theme Jasmine by Kent Liao