nek0us / nonebot_plugin_steam_game_status

在群内播报steam游戏状态的Nonebot插件
GNU General Public License v3.0
48 stars 6 forks source link
NoneBotPluginLogo

NoneBotPluginText

# nonebot-plugin-steam-game-status _✨ 在群内播报 Steam 游戏状态的 Nonebot 插件 ✨_ license pypi python

📖 介绍

在群内播报群友的 Steam 游戏状态

💿 安装

使用 nb-cli 安装 在 nonebot2 项目的根目录下打开命令行, 输入以下指令即可安装 nb plugin install nonebot-plugin-steam-game-status
使用包管理器安装 在 nonebot2 项目的插件目录下, 打开命令行, 根据你使用的包管理器, 输入相应的安装命令
pip pip install nonebot-plugin-steam-game-status
pdm pdm add nonebot-plugin-steam-game-status
poetry poetry add nonebot-plugin-steam-game-status
conda conda install nonebot-plugin-steam-game-status
更新 pip install nonebot-plugin-steam-game-status --upgrade
打开 nonebot2 项目根目录下的 `pyproject.toml` 文件, 在 `[tool.nonebot]` 部分追加写入 plugins = ["nonebot_plugin_steam_game_status"]

⚙️ 配置

获取 steam_web_key

在 nonebot2 项目的.env文件中添加下表中的必填配置

配置项 必填 默认值 类型 说明
steam_web_key str 或 list Steam Api Key
steam_command_priority 5 int 事件处理函数优先级
steam_interval 1 int steam查询间隔,单位分钟
steam_proxy None str 代理
steam_link_enabled true bool 链接识别全局开关

steam_proxy 示例

# .env.xxx
steam_proxy="http://ip:port"

单个 steam key 配置示例

# .env.xxx
steam_web_key=123456789QWERTYUII123456789

# or 引号包裹
steam_web_key="123456789QWERTYUII123456789"

# 若字符串形式key绑定失败,请改写为以下多key配置

多个 steam key 配置示例

# .env.xxx
steam_web_key='[
    "123456789QWERTYUII123456789",
    "123456789",
    "987654321",
]'

# or 无引号包裹
steam_web_key=["123456789QWERTYUII123456789","123456789","987654321"]

🎉 使用

获取SteamID64

Steam 桌面网站或桌面客户端:点开右上角昵称下拉菜单,点击账户明细,即可看到 Steam ID
Steam 应用:点击右上角头像,点击账户明细,即可看到 Steam ID

获取Steam好友代码

Steam 桌面网站或桌面客户端:点开导航栏 好友 选项卡,点击添加好友,即可看到 Steam 好友代码
Steam 应用:点击右上角头像,点击好友,点击添加好友,即可看到 Steam 好友代码

指令表

指令 需要@ 范围 权限 说明
steam绑定/steam添加/steam.add 群聊 群员 后加个人SteamID64或好友代码
steam解绑/steam删除/steam.del 群聊 群员 后加个人SteamID64
steam列表/steam绑定列表 群聊 超管/群管 管理员命令,展示群内播报列表
steam屏蔽 群聊 超管/群管 管理员命令,后加完整游戏名称
steam恢复 群聊 超管/群管 管理员命令,后加完整游戏名称
steam排除列表 群聊 超管/群管 管理员命令,展示屏蔽的游戏列表
steam播报开启/steam播报打开 群聊 超管/群管 管理员命令
steam播报关闭/steam播报停止 群聊 超管/群管 管理员命令
任意steam商店链接 群聊/私聊 群员/好友 获取游戏信息

默认屏蔽游戏/工具名

["Wallpaper Engine:壁纸引擎","虚拟桌宠模拟器","OVR Toolkit","OVR Advanced Settings","OBS Studio","VTube Studio","Live2DViewerEX","Blender","LIV"]

目前建议手动添加 Dead Lock ,待发售完善后再移除,否则容易刷屏

创意来源

群友的 koishi bot 的该效果插件

注意事项

  1. 不支持播报非 Steam 游戏
  2. 不支持播报 Steam 隐身状态下进行的游戏
  3. 在屏蔽游戏间切换的非屏蔽游戏也不会播报
  4. 屏蔽游戏列表以群区分管理

更新记录

2024.10.21

  1. 修复用户id数据异常

2024.09.16

  1. 优化steam链接识别,降低失败可能性
  2. 增加steam列表展示当前游戏
  3. 优化重启后不再播报仍在继续的游戏

2024.06.30

  1. 优化游戏中文名获取

2024.06.27

  1. 修复添加新群时数据未保存的bug

2024.06.26

  1. 优化播报后数据同步优先级
  2. 添加链接识别功能
  3. 优化日志等级

2024.06.23

  1. 添加屏蔽游戏相关功能
  2. 修复steam列表问题

2024.04.28

  1. steam列表 合并消息优化

2024.02.29

  1. 新增游戏中文名播报,感谢 6DDUU6PR
  2. 顺应 Nonebot 规范,缓存文件迁移至用户目录下,详见 plugin-localstore
  3. 调整数据结构,节省 key
  4. 变更原缓存记录从 每次读取文件 更改为 持续在内存中