mirror of
https://github.com/Shu-Ying/main_plugin_farm.git
synced 2026-10-29 13:40:00 +08:00
fixed # 适配AstrBot
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
# 各平台发布说明
|
||||
|
||||
各平台发布包的 README 统一在此维护:
|
||||
|
||||
- `nonebot.md`:NoneBot。
|
||||
- `zhenxun.md`:真寻。
|
||||
- `astrbot.md`:AstrBot。
|
||||
|
||||
对应工作流通过 `scripts/build_<平台>.py` 读取上述文件,
|
||||
在生成的发布仓库和安装包中写为根目录 `README.md`。
|
||||
文中的相对资源路径以生成的发布仓库根目录为准。
|
||||
|
||||
后续发布文案请修改本目录;原位置的文档保留供历史参考。
|
||||
@@ -0,0 +1,90 @@
|
||||
<p align="center">
|
||||
<img src="https://raw.githubusercontent.com/Shu-Ying/astrbot_plugin_farm/main/logo-readme.png" width="400" alt="真寻农场 Logo">
|
||||
</p>
|
||||
|
||||
# 农场 · AstrBot
|
||||
|
||||
开通自己的农场,购买种子、播种、收获、管理仓库,与群友一起偷菜、开垦土地。
|
||||
农场图片、商店、仓库和帮助菜单均可在聊天中查看,存档保存在本地。
|
||||
|
||||

|
||||
|
||||
## 安装与快速开始
|
||||
|
||||
在 AstrBot 插件市场搜索 `astrbot_plugin_farm`,或在插件管理中选择
|
||||
「从文件安装」,上传作者提供的完整插件 ZIP。不要只上传 `main.py`。
|
||||
|
||||
安装依赖后重载插件。按你配置的唤醒前缀发送指令,下面以 `/` 为例:
|
||||
|
||||
1. `/开通农场`:创建农场,获得初始6块土地。
|
||||
2. `/种子商店`:查看种子名称、编号与价格。
|
||||
3. `/购买种子 白萝卜 1`,然后 `/播种 白萝卜 1`。
|
||||
4. `/我的农场` 查看状态,生长期间用 `/农场除虫` 清除虫害。
|
||||
5. 成熟后 `/收获`,用 `/我的作物` 查看库存,或 `/出售作物` 出售。
|
||||
|
||||
发送 `/农场帮助` 查看当前版本自动生成的图片菜单;
|
||||
发送 `/农场帮助 文字` 查看文字版。仅 `/我的农场 高清` 支持高清。
|
||||
|
||||
## 指令
|
||||
|
||||
`[参数]` 表示可选。作物支持名称或 `#编号`;同名作物请使用编号。
|
||||
仓库默认图片,例如 `/我的种子 2 文字`。偷菜目标必须通过消息中的 @ 指定。
|
||||
|
||||
<!-- FARM_COMMANDS -->
|
||||
|
||||
## 配置
|
||||
|
||||
| 配置项 | 默认值 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `font_path` | 空 | 中文字体路径;留空尝试系统字体,无可用字体时退回文字 |
|
||||
| `data_dir` | 空 | 留空使用 `data/plugin_data/astrbot_plugin_farm`;更改不会自动搬迁存档 |
|
||||
| `image_format` | `AUTO` | `AUTO` 为 JPEG;也可选 `JPEG` 或 `PNG` |
|
||||
| `image_quality` | `75` | 整数1~95,下一次图片请求生效;PNG不受影响 |
|
||||
|
||||
除图片质量外,配置变更后请重载插件。高清农场的图片质量不低于85。
|
||||
依赖 Pillow 和 aiohttp,由插件依赖声明安装;插件不捆绑中文字体。
|
||||
当前重点适配 QQ/OneBot(`aiocqhttp`),其他平台尚未完成真实环境验证。
|
||||
|
||||
## 玩法与旧账号兼容
|
||||
|
||||
- 新账号初始6块土地。`/开垦 条件` 查询下一块地的等级和费用,
|
||||
`/开垦` 每次购买1块普通空地;未配置的地块不会扣款或放行。
|
||||
- 可靠识别为初始3块地的旧账号,一次性追加3块普通空地,保留已有开垦成果、
|
||||
作物、加成与资产。来源不明、编号异常或补后超过当前30个显示位置时,
|
||||
保留原状并提示管理员处理,不截断、不折现。
|
||||
- 新播种及下一季每半个基础生长周期生虫一次,间隔至少2小时。
|
||||
已排定的旧生虫事件仍按原计划执行一次。
|
||||
- 每只虫降低生长速度5%;成熟时每只虫使本季减产5%。成熟后除虫无法恢复
|
||||
本季减产,请在生长期间及时除虫。
|
||||
- 每日最多5次成功偷菜,北京时间零点重置;无可偷作物不消耗成功次数。
|
||||
- 出售时自动跳过已锁定作物。仓库可使用作物编号操作。
|
||||
|
||||
## 升级与数据备份
|
||||
|
||||
升级前备份 `data/plugin_data/astrbot_plugin_farm`;若自定义 `data_dir`,
|
||||
请备份实际目录。数据库为 `farm.sqlite3`,日志为 `farm-preview.log`。
|
||||
旧库迁移前建议先在副本中验证。更换机器人、平台实例或部署不会自动合并账号。
|
||||
|
||||
新版当前没有签到、改名、土地升级、点券商店、外部金币兑换及旧远程服务功能。
|
||||
请以当前帮助菜单为准,不要套用旧1.x版本指令。缺少稳定消息ID时,
|
||||
插件会拒绝写操作以避免重复扣款。离线包校验及模拟宿主测试不代表线上验证。
|
||||
|
||||
QQ/OneBot 图片查询会请求发送者的腾讯头像用于农场及详情图片;
|
||||
请求失败使用默认头像,成功缓存5分钟、失败缓存30秒,最多缓存16项。
|
||||
其他平台使用默认头像。存档按部署、平台实例、机器人及用户隔离。
|
||||
|
||||
## 更新日志与反馈
|
||||
|
||||
- [更新日志](https://github.com/Shu-Ying/astrbot_plugin_farm/blob/main/CHANGELOG.md)
|
||||
- [反馈问题](https://github.com/Shu-Ying/astrbot_plugin_farm/issues)
|
||||
- [插件商店](https://cloud.astrbot.app/plugin/Shu-Ying/astrbot_plugin_farm)
|
||||
|
||||
代码许可见插件所附 LICENSE。角色图标为非官方二次创作,不表示获得官方授权;
|
||||
角色与原作相关权利不因代码许可证而转移。
|
||||
|
||||
## 开发者本地构建
|
||||
|
||||
开发源为 Farm 主仓库。Windows 双击 `build_astrbot.cmd`,或运行
|
||||
`python scripts/build_plugin.py astrbot`,构建后生成完整 ZIP 和校验文件。
|
||||
每次使用独立输出目录,不安装或启动机器人、不自动推送远端。
|
||||
版本来自 `version.txt`;命令表、元数据与展示文件由构建生成。
|
||||
@@ -0,0 +1,67 @@
|
||||
# NoneBot 农场
|
||||
|
||||
<p align="center"><img src="./logo.png" width="400" alt="真寻农场 Logo"></p>
|
||||
|
||||
从 `main_plugin_farm` 自动生成的普通 NoneBot 插件,与真寻版使用相同的
|
||||
业务核心、命令和渲染资源,不依赖真寻或 zhenxun-utils。
|
||||
|
||||

|
||||
|
||||
## 安装与配置
|
||||
|
||||
需要 Python 3.10 及以上。生成仓库中执行 `pip install .`,或安装经过
|
||||
标签发布的 `nonebot_plugin_farm` 包,然后在 NoneBot 启动脚本中加入:
|
||||
|
||||
```python
|
||||
nonebot.load_plugin("nonebot_plugin_farm")
|
||||
```
|
||||
|
||||
可在 `.env` 中设置:
|
||||
|
||||
```dotenv
|
||||
FARM_FONT=C:/Windows/Fonts/msyh.ttc
|
||||
FARM_IMAGE_FORMAT=AUTO
|
||||
FARM_IMAGE_QUALITY=75
|
||||
FARM_DEPLOYMENT=nonebot
|
||||
```
|
||||
|
||||
`FARM_DATA_DIR` 可显式指定数据目录,默认沿用旧版插件 localstore 下的
|
||||
`nonebot_plugin_farm/farm_db` 子目录。旧 `farm.db` 保留,首次使用按当前
|
||||
机器人和平台迁入 `farm.sqlite3`;遇到账号或平台冲突会拒绝覆盖。
|
||||
日志写入该目录的 `farm-preview.log`。字体不可用时提供文字响应。
|
||||
|
||||
`FARM_IMAGE_QUALITY` 为整数1~95,默认75,统一控制全部农场图片
|
||||
的编码质量;越高通常越清晰、文件越大,PNG无损格式不受此值影响。
|
||||
启动时校验配置。只有“我的农场 高清”允许高清,使用1536宽,质量
|
||||
取配置值与85的较大值;其他命令不接受高清。种子/作物仓库保留
|
||||
分页和“文字”选项,例如“我的种子 2 文字”。
|
||||
部署标识一旦使用,不应随意变更,否则会切换到不同的存档身份。
|
||||
|
||||
## 当前命令
|
||||
|
||||
开通农场、我的农场、农场详述、地块编号、我的农场币、我的点券、
|
||||
我的种子、我的作物、种子商店、购买种子、播种、收获、铲除、
|
||||
作物加锁、作物解锁、出售作物、农场除虫、除虫、偷菜、农场帮助。
|
||||
发送「农场帮助」查看参数。图片与提及由 Alconna 统一消息适配。
|
||||
开垦每次增加1块普通空地;开垦 条件查询下一块地的等级与费用。
|
||||
初始3块的旧账号按可靠注册或旧库迁移记录一次性补3块,保留已开垦成果;
|
||||
来源不明、编号异常或补后超出30位置则保留原状并明确提示。
|
||||
范围与当前真寻生成版一致;旧版签到、改名、土地升级等命令
|
||||
尚未在共享核心中实现,此版本不提供这些命令。
|
||||
|
||||
## 生成与发布
|
||||
|
||||
主仓库 `version.txt` 是版本的唯一来源,生成 ZIP、包版本和清单。
|
||||
`nonebot-preview.yml` 在 PR 中测试和构建,在主仓库 `main` 推送后
|
||||
使用 `FARM_RELEASE_TOKEN` 同步到 `Shu-Ying/nonebot_plugin_farm/main`。
|
||||
同步任务沿用真寻的 `zhenxun-preview` environment,兼容其中已有密钥。
|
||||
|
||||
目标仓库保留 `v*` 标签发布 PyPI 的方式和 `PYPI_TOKEN` 密钥。
|
||||
普通同步只校验、构建,不发布 PyPI。手动推送标签前应确认版本未在
|
||||
PyPI 使用,且标签去掉 `v` 后与 `version.txt` 完全一致。
|
||||
接入时远端旧版为 1.5.7,主仓库为 1.5.4;用户计划后续统一改为
|
||||
2.0.0,本次未提前修改。统一后发布标签应为 `v2.0.0`。
|
||||
|
||||
生成仓库的 `verify_package.py --directory .` 校验文件完整性;
|
||||
`python -m build` 生成 wheel/sdist。远端 CI 和实际机器人消息行为
|
||||
需要在部署环境进一步验证。
|
||||
@@ -0,0 +1,142 @@
|
||||
<div align="center">
|
||||
|
||||
# 真寻农场(zhenxun_plugin_farm)
|
||||
|
||||
<img src="./logo.png" width="400" alt="真寻农场 Logo">
|
||||
<p align="center">
|
||||
<a href="./LICENSE">
|
||||
<img src="https://img.shields.io/badge/license-GPL3.0-FE7D37" alt="license">
|
||||
</a>
|
||||
<a href="https://www.python.org">
|
||||
<img src="https://img.shields.io/badge/Python-3.10%2B-blue" alt="Python">
|
||||
</a>
|
||||
<a href="https://github.com/astral-sh/ruff">
|
||||
<img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json" alt="ruff">
|
||||
</a>
|
||||
<a href="https://nonebot.dev/">
|
||||
<img src="https://img.shields.io/badge/Nonebot-2.0.0%2B-black" alt="Nonebot">
|
||||
</a>
|
||||
<a href="https://github.com/zhenxun-org/zhenxun_bot">
|
||||
<img src="https://img.shields.io/badge/zhenxun-0.2.4%2B-%23ECD9D3" alt="Python">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
|
||||
[](https://qm.qq.com/q/7hsOD4rOw2)
|
||||
|
||||
</p>
|
||||
|
||||
你是说可以种地对吧🤔?
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
## 目录
|
||||
- [真寻农场(zhenxun\_plugin\_farm)](#真寻农场zhenxun_plugin_farm)
|
||||
- [目录](#目录)
|
||||
- [农场界面](#农场界面)
|
||||
- [如何安装](#如何安装)
|
||||
- [使用指令](#使用指令)
|
||||
- [更新日志(详细):](#更新日志详细)
|
||||
- [用户方面](#用户方面)
|
||||
- [代码方面](#代码方面)
|
||||
- [待办事宜 `Todo` 列表](#待办事宜-todo-列表)
|
||||
- [关于](#关于)
|
||||
- [致谢](#致谢)
|
||||
- [许可证](#许可证)
|
||||
- [上游仓库](#上游仓库)
|
||||
|
||||
---
|
||||
|
||||
## 农场界面
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
## 如何安装
|
||||
|
||||
方法一(推荐):在小真寻后台的插件商店下载即可<br>
|
||||
方法二:下载源码放在小真寻`plugin`目录下
|
||||
|
||||
---
|
||||
|
||||
## 使用指令
|
||||
|
||||
| 指令 | 描述 | Tip |
|
||||
| --- | --- | --- |
|
||||
| @小真寻 开通农场 | 首次开通农场 | |
|
||||
| 我的农场 | 你的农场 | |
|
||||
| 农场详述 | 农场详细信息 | |
|
||||
| 我的农场币 | 查询农场币 | |
|
||||
| 种子商店 [筛选关键字] [页数] or [页数] | 查看种子商店 | 当第一个参数为非整数时,会默认进入筛选状态。页数不填默认为1 |
|
||||
| 购买种子 [种子名称] [数量] | 购买种子 | 数量不填默认为1 |
|
||||
| 我的种子 | 查询仓库种子 | |
|
||||
| 播种 [种子名称] [数量] | 播种种子 | 数量不填默认将最大可能播种 |
|
||||
| 收获 | 收获成熟作物 | |
|
||||
| 铲除 | 铲除荒废作物 | |
|
||||
| 我的作物 | 你的作物 | |
|
||||
| 出售作物 [作物名称] [数量] | 从仓库里向系统售卖作物 | 不填写作物名将售卖仓库种全部作物 填作物名不填数量将指定作物全部出售 |
|
||||
| 偷菜 @美波理 | 偷别人的菜 | 每人每天只能偷5次 |
|
||||
| 购买农场币 | 将真寻金币兑换成农场币 | 兑换比例默认为1:2 手续费默认20% |
|
||||
| 更改农场名 [新的农场名] | 改名 | 农场名称无法存储特殊字符 |
|
||||
| 农场签到 | 签到 | 需要注意,该项会从服务器拉取签到数据 |
|
||||
| 土地升级 [地块ID] | 将土地升级,带来收益提升 | 如果土地升级时,土地有播种作物,那么将直接成熟 |
|
||||
|
||||
---
|
||||
|
||||
## 更新日志[(详细)](./log/log.md):
|
||||
用户方面
|
||||
---
|
||||
- 新增土地升级指令,快来将土地升级至红土地、黑土地、金土地吧
|
||||
- 新增查漏补缺作物资源功能,自动更新最新作物和作物资源文件
|
||||
- 定时更新签到文件、作物资源从00:30调整至04:30
|
||||
- 修正了部分土地资源错误的情况
|
||||
- 修正了部分文本信息错误的情况
|
||||
|
||||
代码方面
|
||||
---
|
||||
- 修正部分事件连接机制
|
||||
- 修正网络请求端口
|
||||
|
||||
## 待办事宜 `Todo` 列表
|
||||
|
||||
- [x] 完善我的农场图片,例如左上角显示用户数据
|
||||
- [ ] 完善升级数据、作物数据、作物图片
|
||||
- [x] 签到功能
|
||||
- [x] 在线更新作物信息
|
||||
- [ ] 添加渔场功能
|
||||
- [ ] 增加活动、交易行功能
|
||||
- [ ] 增加交易行总行功能
|
||||
- [ ] 添加其他游戏种子素材
|
||||
- [ ] 想不到了,想到再说
|
||||
|
||||
---
|
||||
|
||||
## 关于
|
||||
|
||||
本人毫无任何Python经验,也从未正式的、系统的、完整的去学习Python。如有看到写的不对的地方,欢迎指出,也欢迎任何人一起来开发、完善农场。
|
||||
|
||||
素材来均源于互联网,侵权请联系我删除
|
||||
|
||||
---
|
||||
|
||||
## 致谢
|
||||
|
||||
最后感谢以下框架/作者的提供的技术支持(排名不分先后):
|
||||
|
||||
- [QQ农场](https://qqnc.qq.com/) * 绝大多数的素材来源 *
|
||||
- [Nonebot2](https://github.com/nonebot/nonebot2) *✨ 跨平台 Python 异步机器人框架 ✨*
|
||||
- [zhenxun_bot](https://github.com/zhenxun-org/zhenxun_bot) *最爱真寻的一集*
|
||||
- [HibiKier](https://github.com/HibiKier) *阿咪为什么是神*
|
||||
- [ATTomato](https://github.com/ATTomatoo) *流泪偷码头.jpg*
|
||||
|
||||
## 许可证
|
||||
|
||||
`真寻农场(zhenxun_plugin_farm)`将采用的是`GPLv3`许可证进行开源
|
||||
|
||||
## 上游仓库
|
||||
|
||||
- [Client](https://github.com/Shu-Ying/main_plugin_farm)
|
||||
Reference in New Issue
Block a user