🐛 修复若干个已知BUG
🐛 修复我的农场会导致报错的BUG 🐛 修复初始等级为1的BUG
This commit is contained in:
@@ -17,6 +17,7 @@ __plugin_meta__ = PluginMetadata(
|
|||||||
usage="""
|
usage="""
|
||||||
你也要种地?
|
你也要种地?
|
||||||
指令:
|
指令:
|
||||||
|
at 开通农场
|
||||||
我的农场
|
我的农场
|
||||||
我的农场币
|
我的农场币
|
||||||
种子商店
|
种子商店
|
||||||
@@ -28,6 +29,7 @@ __plugin_meta__ = PluginMetadata(
|
|||||||
我的作物
|
我的作物
|
||||||
出售作物 [作物/种子名称] [数量]
|
出售作物 [作物/种子名称] [数量]
|
||||||
偷菜 at
|
偷菜 at
|
||||||
|
开垦
|
||||||
购买农场币 [数量] 金币转换农场币比率是 1 : 2
|
购买农场币 [数量] 金币转换农场币比率是 1 : 2
|
||||||
""".strip(),
|
""".strip(),
|
||||||
extra=PluginExtraData(
|
extra=PluginExtraData(
|
||||||
|
|||||||
+61
-40
@@ -43,6 +43,7 @@ diuse_farm = on_alconna(
|
|||||||
Subcommand("harvest", help_text="收获"),
|
Subcommand("harvest", help_text="收获"),
|
||||||
Subcommand("eradicate", help_text="铲除"),
|
Subcommand("eradicate", help_text="铲除"),
|
||||||
Subcommand("my-plant", help_text="我的作物"),
|
Subcommand("my-plant", help_text="我的作物"),
|
||||||
|
# Subcommand("reclamation", help_text="开垦"),
|
||||||
Subcommand("sell-plant", Args["name?", str]["num?", int], help_text="出售作物"),
|
Subcommand("sell-plant", Args["name?", str]["num?", int], help_text="出售作物"),
|
||||||
Subcommand("stealing", Args["target?", At], help_text="偷菜"),
|
Subcommand("stealing", Args["target?", At], help_text="偷菜"),
|
||||||
Subcommand("buy-point", Args["num?", int], help_text="购买农场币"),
|
Subcommand("buy-point", Args["num?", int], help_text="购买农场币"),
|
||||||
@@ -58,7 +59,7 @@ async def _(session: Uninfo):
|
|||||||
point = await g_pSqlManager.getUserPointByUid(uid)
|
point = await g_pSqlManager.getUserPointByUid(uid)
|
||||||
|
|
||||||
if point < 0:
|
if point < 0:
|
||||||
await MessageUtils.build_message("尚未开通农场").send()
|
await MessageUtils.build_message("尚未开通农场,快at我发送 开通农场 开通吧").send()
|
||||||
return None
|
return None
|
||||||
|
|
||||||
image = await g_pFarmManager.drawFarmByUid(uid)
|
image = await g_pFarmManager.drawFarmByUid(uid)
|
||||||
@@ -77,7 +78,7 @@ async def _(session: Uninfo):
|
|||||||
point = await g_pSqlManager.getUserPointByUid(uid)
|
point = await g_pSqlManager.getUserPointByUid(uid)
|
||||||
|
|
||||||
if point < 0:
|
if point < 0:
|
||||||
await MessageUtils.build_message("尚未开通农场").send()
|
await MessageUtils.build_message("尚未开通农场,快at我发送 开通农场 开通吧").send()
|
||||||
return None
|
return None
|
||||||
|
|
||||||
await MessageUtils.build_message(f"你的当前农场币为: {point}").send(reply_to=True)
|
await MessageUtils.build_message(f"你的当前农场币为: {point}").send(reply_to=True)
|
||||||
@@ -95,7 +96,7 @@ async def _(session: Uninfo):
|
|||||||
point = await g_pSqlManager.getUserPointByUid(uid)
|
point = await g_pSqlManager.getUserPointByUid(uid)
|
||||||
|
|
||||||
if point < 0:
|
if point < 0:
|
||||||
await MessageUtils.build_message("尚未开通农场").send()
|
await MessageUtils.build_message("尚未开通农场,快at我发送 开通农场 开通吧").send()
|
||||||
return None
|
return None
|
||||||
|
|
||||||
image = await g_pShopManager.getSeedShopImage()
|
image = await g_pShopManager.getSeedShopImage()
|
||||||
@@ -119,7 +120,7 @@ async def _(session: Uninfo, name: Match[str], num: Query[int] = AlconnaQuery("n
|
|||||||
point = await g_pSqlManager.getUserPointByUid(uid)
|
point = await g_pSqlManager.getUserPointByUid(uid)
|
||||||
|
|
||||||
if point < 0:
|
if point < 0:
|
||||||
await MessageUtils.build_message("尚未开通农场").send()
|
await MessageUtils.build_message("尚未开通农场,快at我发送 开通农场 开通吧").send()
|
||||||
return None
|
return None
|
||||||
|
|
||||||
result = await g_pShopManager.buySeed(uid, name.result, num.result)
|
result = await g_pShopManager.buySeed(uid, name.result, num.result)
|
||||||
@@ -138,7 +139,7 @@ async def _(session: Uninfo):
|
|||||||
point = await g_pSqlManager.getUserPointByUid(uid)
|
point = await g_pSqlManager.getUserPointByUid(uid)
|
||||||
|
|
||||||
if point < 0:
|
if point < 0:
|
||||||
await MessageUtils.build_message("尚未开通农场").send()
|
await MessageUtils.build_message("尚未开通农场,快at我发送 开通农场 开通吧").send()
|
||||||
return None
|
return None
|
||||||
|
|
||||||
result = await g_pFarmManager.getUserSeedByUid(uid)
|
result = await g_pFarmManager.getUserSeedByUid(uid)
|
||||||
@@ -162,7 +163,7 @@ async def _(session: Uninfo, name: Match[str], num: Query[int] = AlconnaQuery("n
|
|||||||
point = await g_pSqlManager.getUserPointByUid(uid)
|
point = await g_pSqlManager.getUserPointByUid(uid)
|
||||||
|
|
||||||
if point < 0:
|
if point < 0:
|
||||||
await MessageUtils.build_message("尚未开通农场").send()
|
await MessageUtils.build_message("尚未开通农场,快at我发送 开通农场 开通吧").send()
|
||||||
return None
|
return None
|
||||||
|
|
||||||
result = await g_pFarmManager.sowing(uid, name.result, num.result)
|
result = await g_pFarmManager.sowing(uid, name.result, num.result)
|
||||||
@@ -182,7 +183,7 @@ async def _(session: Uninfo):
|
|||||||
point = await g_pSqlManager.getUserPointByUid(uid)
|
point = await g_pSqlManager.getUserPointByUid(uid)
|
||||||
|
|
||||||
if point < 0:
|
if point < 0:
|
||||||
await MessageUtils.build_message("尚未开通农场").send()
|
await MessageUtils.build_message("尚未开通农场,快at我发送 开通农场 开通吧").send()
|
||||||
return None
|
return None
|
||||||
|
|
||||||
result = await g_pFarmManager.harvest(uid)
|
result = await g_pFarmManager.harvest(uid)
|
||||||
@@ -201,7 +202,7 @@ async def _(session: Uninfo):
|
|||||||
point = await g_pSqlManager.getUserPointByUid(uid)
|
point = await g_pSqlManager.getUserPointByUid(uid)
|
||||||
|
|
||||||
if point < 0:
|
if point < 0:
|
||||||
await MessageUtils.build_message("尚未开通农场").send()
|
await MessageUtils.build_message("尚未开通农场,快at我发送 开通农场 开通吧").send()
|
||||||
return None
|
return None
|
||||||
|
|
||||||
result = await g_pFarmManager.eradicate(uid)
|
result = await g_pFarmManager.eradicate(uid)
|
||||||
@@ -221,12 +222,32 @@ async def _(session: Uninfo):
|
|||||||
point = await g_pSqlManager.getUserPointByUid(uid)
|
point = await g_pSqlManager.getUserPointByUid(uid)
|
||||||
|
|
||||||
if point < 0:
|
if point < 0:
|
||||||
await MessageUtils.build_message("尚未开通农场").send()
|
await MessageUtils.build_message("尚未开通农场,快at我发送 开通农场 开通吧").send()
|
||||||
return None
|
return None
|
||||||
|
|
||||||
result = await g_pFarmManager.getUserPlantByUid(uid)
|
result = await g_pFarmManager.getUserPlantByUid(uid)
|
||||||
await MessageUtils.build_message(result).send(reply_to=True)
|
await MessageUtils.build_message(result).send(reply_to=True)
|
||||||
|
|
||||||
|
# diuse_farm.shortcut(
|
||||||
|
# "开垦",
|
||||||
|
# command="我的农场",
|
||||||
|
# arguments=["reclamation"],
|
||||||
|
# prefix=True,
|
||||||
|
# )
|
||||||
|
|
||||||
|
# @diuse_farm.assign("reclamation")
|
||||||
|
# async def _(session: Uninfo):
|
||||||
|
# uid = str(session.user.id)
|
||||||
|
# point = await g_pSqlManager.getUserPointByUid(uid)
|
||||||
|
|
||||||
|
# if point < 0:
|
||||||
|
# await MessageUtils.build_message("尚未开通农场,快at我发送 开通农场 开通吧").send()
|
||||||
|
# return None
|
||||||
|
|
||||||
|
# result = await g_pFarmManager.getUserPlantByUid(uid)
|
||||||
|
# await MessageUtils.build_message(result).send(reply_to=True)
|
||||||
|
|
||||||
|
|
||||||
diuse_farm.shortcut(
|
diuse_farm.shortcut(
|
||||||
"出售作物(?P<name>.*?)",
|
"出售作物(?P<name>.*?)",
|
||||||
command="我的农场",
|
command="我的农场",
|
||||||
@@ -245,12 +266,41 @@ async def _(session: Uninfo, name: Match[str], num: Query[int] = AlconnaQuery("n
|
|||||||
point = await g_pSqlManager.getUserPointByUid(uid)
|
point = await g_pSqlManager.getUserPointByUid(uid)
|
||||||
|
|
||||||
if point < 0:
|
if point < 0:
|
||||||
await MessageUtils.build_message("尚未开通农场").send()
|
await MessageUtils.build_message("尚未开通农场,快at我发送 开通农场 开通吧").send()
|
||||||
return None
|
return None
|
||||||
|
|
||||||
result = await g_pShopManager.sellPlantByUid(uid, name.result, num.result)
|
result = await g_pShopManager.sellPlantByUid(uid, name.result, num.result)
|
||||||
await MessageUtils.build_message(result).send(reply_to=True)
|
await MessageUtils.build_message(result).send(reply_to=True)
|
||||||
|
|
||||||
|
diuse_farm.shortcut(
|
||||||
|
"偷菜",
|
||||||
|
command="我的农场",
|
||||||
|
arguments=["stealing"],
|
||||||
|
prefix=True,
|
||||||
|
)
|
||||||
|
|
||||||
|
@diuse_farm.assign("stealing")
|
||||||
|
async def _(session: Uninfo, target: Match[At]):
|
||||||
|
uid = str(session.user.id)
|
||||||
|
point = await g_pSqlManager.getUserPointByUid(uid)
|
||||||
|
|
||||||
|
if point < 0:
|
||||||
|
await MessageUtils.build_message("尚未开通农场,快at我发送 开通农场 开通吧").send()
|
||||||
|
return None
|
||||||
|
|
||||||
|
if not target.available:
|
||||||
|
await MessageUtils.build_message("请在指令后跟需要at的人").finish(reply_to=True)
|
||||||
|
|
||||||
|
tar = target.result
|
||||||
|
point = await g_pSqlManager.getUserPointByUid(tar.target)
|
||||||
|
|
||||||
|
if point < 0:
|
||||||
|
await MessageUtils.build_message("尚未开通农场,快at我发送 开通农场 开通吧").send()
|
||||||
|
return None
|
||||||
|
|
||||||
|
result = await g_pFarmManager.stealing(uid, tar.target)
|
||||||
|
await MessageUtils.build_message(result).send(reply_to=True)
|
||||||
|
|
||||||
diuse_farm.shortcut(
|
diuse_farm.shortcut(
|
||||||
"购买农场币(.*?)",
|
"购买农场币(.*?)",
|
||||||
command="我的农场",
|
command="我的农场",
|
||||||
@@ -269,37 +319,8 @@ async def _(session: Uninfo, num: Query[int] = AlconnaQuery("num", 0)):
|
|||||||
point = await g_pSqlManager.getUserPointByUid(uid)
|
point = await g_pSqlManager.getUserPointByUid(uid)
|
||||||
|
|
||||||
if point < 0:
|
if point < 0:
|
||||||
await MessageUtils.build_message("尚未开通农场").send()
|
await MessageUtils.build_message("尚未开通农场,快at我发送 开通农场 开通吧").send()
|
||||||
return None
|
return None
|
||||||
|
|
||||||
result = await g_pFarmManager.buyPointByUid(uid, num.result)
|
result = await g_pFarmManager.buyPointByUid(uid, num.result)
|
||||||
await MessageUtils.build_message(result).send(reply_to=True)
|
await MessageUtils.build_message(result).send(reply_to=True)
|
||||||
|
|
||||||
diuse_farm.shortcut(
|
|
||||||
"偷菜",
|
|
||||||
command="我的农场",
|
|
||||||
arguments=["stealing"],
|
|
||||||
prefix=True,
|
|
||||||
)
|
|
||||||
|
|
||||||
@diuse_farm.assign("stealing")
|
|
||||||
async def _(session: Uninfo, target: Match[At]):
|
|
||||||
uid = str(session.user.id)
|
|
||||||
point = await g_pSqlManager.getUserPointByUid(uid)
|
|
||||||
|
|
||||||
if point < 0:
|
|
||||||
await MessageUtils.build_message("尚未开通农场").send()
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not target.available:
|
|
||||||
await MessageUtils.build_message("请在指令后跟需要at的人").finish(reply_to=True)
|
|
||||||
|
|
||||||
tar = target.result
|
|
||||||
point = await g_pSqlManager.getUserPointByUid(tar.target)
|
|
||||||
|
|
||||||
if point < 0:
|
|
||||||
await MessageUtils.build_message("尚未开通农场").send()
|
|
||||||
return None
|
|
||||||
|
|
||||||
result = await g_pFarmManager.stealing(uid, tar.target)
|
|
||||||
await MessageUtils.build_message(result).send(reply_to=True)
|
|
||||||
|
|||||||
+7
-6
@@ -1,12 +1,13 @@
|
|||||||
{
|
{
|
||||||
"level":
|
"level":
|
||||||
{
|
{
|
||||||
"1": 0,
|
"0": 0,
|
||||||
"2": 50,
|
"1": 50,
|
||||||
"3": 75,
|
"2": 75,
|
||||||
"4": 125,
|
"3": 125,
|
||||||
"5": 185,
|
"4": 185,
|
||||||
"6": 200,
|
"5": 200,
|
||||||
|
"6": 250,
|
||||||
"7": 275,
|
"7": 275,
|
||||||
"8": 350,
|
"8": 350,
|
||||||
"9": 500,
|
"9": 500,
|
||||||
|
|||||||
+2
-2
@@ -144,7 +144,7 @@ class CSqlManager:
|
|||||||
if not await cls.executeDB(userSoilInfo):
|
if not await cls.executeDB(userSoilInfo):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
return True
|
return "开通农场成功"
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
async def getUserInfoByUid(cls, uid: str) -> dict:
|
async def getUserInfoByUid(cls, uid: str) -> dict:
|
||||||
@@ -324,7 +324,7 @@ class CSqlManager:
|
|||||||
|
|
||||||
async with cls.m_pDB.execute(f"SELECT soil FROM user WHERE uid = '{uid}'") as cursor:
|
async with cls.m_pDB.execute(f"SELECT soil FROM user WHERE uid = '{uid}'") as cursor:
|
||||||
async for row in cursor:
|
async for row in cursor:
|
||||||
if row[0] == None or len(row[0]) <= 0:
|
if not row[0]:
|
||||||
return 0
|
return 0
|
||||||
else:
|
else:
|
||||||
return int(row[0])
|
return int(row[0])
|
||||||
|
|||||||
+13
-5
@@ -4,7 +4,6 @@ from datetime import date, datetime
|
|||||||
from io import StringIO
|
from io import StringIO
|
||||||
from typing import Dict, List, Tuple
|
from typing import Dict, List, Tuple
|
||||||
|
|
||||||
from Python311.Lib.PIL.ImImagePlugin import number
|
|
||||||
from zhenxun.models.user_console import UserConsole
|
from zhenxun.models.user_console import UserConsole
|
||||||
from zhenxun.services.log import logger
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils._build_image import BuildImage
|
from zhenxun.utils._build_image import BuildImage
|
||||||
@@ -72,7 +71,7 @@ class CFarmManager:
|
|||||||
y = soilPos[str(index + 1)]['y']
|
y = soilPos[str(index + 1)]['y']
|
||||||
|
|
||||||
#如果土地已经到达对应等级
|
#如果土地已经到达对应等级
|
||||||
if index > soilUnlock:
|
if index < soilUnlock:
|
||||||
await img.paste(soil, (x, y))
|
await img.paste(soil, (x, y))
|
||||||
|
|
||||||
isPlant, plant, isRipe= await cls.drawSoilPlant(uid, f"soil{str(index + 1)}")
|
isPlant, plant, isRipe= await cls.drawSoilPlant(uid, f"soil{str(index + 1)}")
|
||||||
@@ -273,8 +272,6 @@ class CFarmManager:
|
|||||||
# 更新种子数量
|
# 更新种子数量
|
||||||
num -= 1
|
num -= 1
|
||||||
plantDict[name] -= 1
|
plantDict[name] -= 1
|
||||||
if plantDict[name] == 0:
|
|
||||||
del plantDict[name]
|
|
||||||
|
|
||||||
# 更新数据库
|
# 更新数据库
|
||||||
await g_pSqlManager.updateUserSoilStatusByPlantName(uid, soilName, name)
|
await g_pSqlManager.updateUserSoilStatusByPlantName(uid, soilName, name)
|
||||||
@@ -443,7 +440,7 @@ class CFarmManager:
|
|||||||
else:
|
else:
|
||||||
sell = "不可以"
|
sell = "不可以"
|
||||||
|
|
||||||
number = count * int(plantInfo['price'])
|
number = int(count) * plantInfo['price']
|
||||||
|
|
||||||
data_list.append(
|
data_list.append(
|
||||||
[
|
[
|
||||||
@@ -570,5 +567,16 @@ class CFarmManager:
|
|||||||
|
|
||||||
return "\n".join(harvestRecords)
|
return "\n".join(harvestRecords)
|
||||||
|
|
||||||
|
# @classmethod
|
||||||
|
# async def reclamation(cls, uid: str) -> str:
|
||||||
|
|
||||||
|
# userInfo = await g_pSqlManager.getUserInfoByUid(uid)
|
||||||
|
# level = await g_pSqlManager.getUserLevelByUid(uid)
|
||||||
|
|
||||||
|
# rec = g_pJsonManager["reclamation"] # type: ignore
|
||||||
|
|
||||||
|
# if not rec[f"{userInfo["soil"] + 1}"] == None
|
||||||
|
|
||||||
|
# return ""
|
||||||
|
|
||||||
g_pFarmManager = CFarmManager()
|
g_pFarmManager = CFarmManager()
|
||||||
|
|||||||
+1
-1
@@ -93,7 +93,7 @@ class CShopManager:
|
|||||||
return "购买出错!请检查需购买的种子名称!"
|
return "购买出错!请检查需购买的种子名称!"
|
||||||
|
|
||||||
|
|
||||||
level = g_pSqlManager.getUserLevelByUid(uid)
|
level = await g_pSqlManager.getUserLevelByUid(uid)
|
||||||
|
|
||||||
if level < plantInfo['level']:
|
if level < plantInfo['level']:
|
||||||
return "你的等级不够哦,努努力吧"
|
return "你的等级不够哦,努努力吧"
|
||||||
|
|||||||
Reference in New Issue
Block a user