AstrBot Steam Status Plugin
一个用于 AstrBot 的 Steam 服务状态监控插件。支持手动指令查询和后台自动监控推送。
🚨 特别声明
本插件的核心代码逻辑与文档说明均由 Google Gemini 生成。
请自行审查代码的安全性与稳定性。
✨ 功能特性
- 手动查询:使用
/steamstatus指令实时查看 Steam 商店、社区和 API 的连通性状态。 - 自动监控:后台定时检测服务状态,当状态发生变化(如从正常变故障,或故障恢复)时自动通知。
- 智能检测:区分网络故障与 HTTP 异常,支持本地断网检测(所有服务不可达时不报警)和失败重试机制。
- 灵活权限:支持白名单(仅允许)和黑名单(仅禁止)两种权限模式。
- 定向推送:支持配置自动推送的目标群组,不打扰无关群组。
⚙️ 配置说明
在 AstrBot 管理面板的插件配置中,你可以修改以下选项:
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
auto_check |
bool | false |
自动监控开关。 开启后将后台定期检测 Steam 状态。 |
check_interval |
int | 1 |
检测频率(分钟)。 每隔多少分钟执行一次自动检测。 |
retry_count |
int | 2 |
失败重试次数。 网络请求失败时的重试次数,建议 2-3 次。设置为 0 则不重试。 |
retry_delay |
int | 5 |
重试等待间隔(秒)。 每次重试前的等待时间。 |
permission_mode |
string | whitelist |
指令权限模式。 可选值: whitelist (白名单), blacklist (黑名单)。 |
allowed_groups |
list | [] |
权限群组列表。 配合 permission_mode 使用:⚪ 白名单模式:仅列表内的群组可以使用指令。 ⚫ 黑名单模式:列表内的群组禁止使用指令,其他群组可用。 |
auto_push_groups |
list | [] |
自动推送目标名单。 当 Steam 连接状态发生变更时,会自动推送到这些群组。 |
📝 关于统一标识符 (Unified ID)
在配置 allowed_groups 和 auto_push_groups 时,需要填写 AstrBot 的统一标识符。格式通常为 平台:类型:ID。
示例:
- NapCat (QQ):
napcat:GroupMessage:123456789
🎮 使用指令
- /steamstatus
- 发送此指令,机器人将立即检测并回复当前 Steam 各大服务的连接状态。
⚠️ 注意事项
- 自动监控依赖于网络请求,请确保你的服务器网络能够正常访问 Steam 相关域名。
- 如果所有 Steam 服务同时报网络错误,将被判定为本地网络故障,不会触发状态变更通知。