mirror of
https://github.com/Shu-Ying/main_plugin_farm.git
synced 2026-10-31 15:00:03 +08:00
fixed # 新增开垦指令
This commit is contained in:
@@ -8,6 +8,17 @@
|
||||
使用 scripts/build_zhenxun.py 生成ZIP,详见 docs/11-zhenxun-preview.md。
|
||||
本轮没有拉取、推送或操作真实机器人。
|
||||
|
||||
## 开垦与旧用户土地
|
||||
|
||||
发送“开垦 条件”查看下一块地的等级和农场币费用,“开垦”每次新增
|
||||
1块普通空地。目前配置覆盖7~24号地,表外拒绝开垦且不扣币。
|
||||
扣款、新增地块及流水在同一事务完成,重复消息不重复扣款。
|
||||
|
||||
有可靠旧库迁移记录,或首次成功注册记录证明初始3块的账号,首次
|
||||
业务访问时一次性补3块,保留付费成果、作物及土地加成。新版初始6块
|
||||
账号不额外发地。来源不明、编号/数量异常或补后超出当前30位置的账号
|
||||
保留原状并提示管理员处理,不自动截断或折现。
|
||||
|
||||
## 图片质量
|
||||
|
||||
真寻网页插件配置新增“农场图片质量”,整数1~95,默认75。
|
||||
|
||||
@@ -31,11 +31,13 @@ COMMANDS = {
|
||||
"作物加锁":"lock", "作物解锁":"unlock", "出售作物":"sell",
|
||||
"农场除虫":"clear_pests", "除虫":"clear_pests", "地块编号":"plot_ids",
|
||||
"偷菜":"steal",
|
||||
"开垦":"reclaim",
|
||||
}
|
||||
HELP = (
|
||||
"开通农场 [名称]|我的农场 [高清]|农场详述 [页码]\n"
|
||||
"地块编号|查看当前土地编号及开垦位置\n"
|
||||
"偷菜 @目标|每日最多5次成功偷取\n"
|
||||
"开垦|每次增加1块普通空地;开垦 条件|查看等级和费用\n"
|
||||
"我的种子/我的作物 [页码] [文字],默认图片。\n"
|
||||
"全部图片使用农场图片质量配置;仅我的农场支持高清。\n"
|
||||
"种子商店 [页码]|购买种子 作物 数量|播种 作物 [数量]\n"
|
||||
@@ -51,6 +53,13 @@ HELP = (
|
||||
"旧版农场数据在首次使用时迁移,绑定当前机器人和平台。"
|
||||
)
|
||||
ERRORS = {
|
||||
'land_origin_unknown': '农场初始土地来源无法确认,未补地或扣币,'
|
||||
'请联系管理员核查注册或迁移记录。',
|
||||
'land_compensation_capacity': '旧用户补3块后将超出当前30个绘图位置,'
|
||||
'已保留原状,请联系管理员单独处理补偿。',
|
||||
'land_layout_invalid': '地块编号或数量异常,未补地或扣币,请联系管理员核查。',
|
||||
'land_rules_invalid': '开垦配置异常,未扣币,请联系管理员检查。',
|
||||
'land_rule_unavailable': '下一块地的开垦规则尚未配置,未扣币。',
|
||||
'cannot_steal_self': '不能偷自己的农场。',
|
||||
'different_farm_scope': '只能偷取当前机器人、平台内的农场。',
|
||||
'target_not_registered': '目标尚未开通当前农场。',
|
||||
@@ -204,6 +213,16 @@ class Runtime:
|
||||
)
|
||||
if action == "help":
|
||||
return HELP
|
||||
if action == 'reclaim' and args == ['条件']:
|
||||
conditions = await self.service.reclaim_conditions(who)
|
||||
return (
|
||||
f"下一块:{conditions['slot']}号普通空地\n"
|
||||
f"所需等级:{conditions['required_level']}"
|
||||
f"(当前{conditions['level']})\n"
|
||||
f"所需农场币:{conditions['coin_cost']}"
|
||||
f"(当前{conditions['point']})\n"
|
||||
'满足条件后发送:开垦'
|
||||
)
|
||||
image_actions = ('farm', 'plot_ids', 'details', 'shop',
|
||||
'seeds', 'crops')
|
||||
if action in image_actions and action != 'farm' and '高清' in args:
|
||||
@@ -347,7 +366,7 @@ class Runtime:
|
||||
receipt = await self.service.lock(
|
||||
who, args[0], action == "lock", op,
|
||||
)
|
||||
elif action in ("harvest", "eradicate", "clear_pests"):
|
||||
elif action in ("harvest", "eradicate", "clear_pests", "reclaim"):
|
||||
if args:
|
||||
raise ValueError()
|
||||
receipt = await getattr(self.service, action)(who, op)
|
||||
|
||||
Reference in New Issue
Block a user