zhenxun_plugin_farm/__init__.py

115 lines
3.6 KiB
Python
Raw Normal View History

2025-03-16 19:11:05 +08:00
from nonebot import get_driver
from nonebot.plugin import PluginMetadata
from nonebot_plugin_apscheduler import scheduler
2025-03-16 19:11:05 +08:00
from zhenxun.configs.utils import Command, PluginExtraData, RegisterConfig
from zhenxun.services.log import logger
from zhenxun.utils.message import MessageUtils
2025-03-16 19:11:05 +08:00
from .command import diuse_farm, diuse_register, reclamation
2025-04-29 18:11:09 +08:00
from .database.database import g_pSqlManager
from .dbService import g_pDBService
2025-06-29 01:45:24 +08:00
from .event.event import g_pEventManager
from .farm.farm import g_pFarmManager
from .farm.shop import g_pShopManager
from .json import g_pJsonManager
from .request import g_pRequestManager
__plugin_meta__ = PluginMetadata(
name="真寻农场",
description="快乐的农场时光",
usage="""
你也要种地?
指令
at 开通农场
我的农场
2025-06-29 01:45:24 +08:00
农场详述
我的农场币
2025-05-28 19:48:12 +08:00
种子商店 [筛选关键字] [页数] or [页数]
购买种子 [作物/种子名称] [数量]
我的种子
2025-04-27 17:00:58 +08:00
播种 [作物/种子名称] [数量] (数量不填默认将最大可能播种
收获
铲除
我的作物
2025-04-27 17:00:58 +08:00
出售作物 [作物/种子名称] [数量] (不填写作物名将售卖仓库种全部作物 填作物名不填数量将指定作物全部出售
偷菜 at (每人每天只能偷5次
开垦
购买农场币 [数量] 数量为消耗金币的数量
2025-04-27 17:00:58 +08:00
更改农场名 [新农场名]
2025-05-28 19:48:12 +08:00
农场签到
2025-06-29 01:45:24 +08:00
土地升级 [地块ID]通过农场详述获取
2025-03-16 19:11:05 +08:00
""".strip(),
extra=PluginExtraData(
author="Art_Sakura",
version="1.5.2",
commands=[Command(command="我的农场")],
menu_type="群内小游戏",
configs=[
RegisterConfig(
key="绘制农场清晰度",
value="low",
help="我的农场返回图片的清晰度, [low, medium, hight, original]",
default_value="low",
),
RegisterConfig(
key="兑换倍数",
value="2",
help="金币兑换农场币的倍数 默认值为: 2倍",
default_value="2",
),
RegisterConfig(
key="点券兑换倍数",
value="2000",
help="农场币兑换点券的倍数 比例为2000:1",
default_value="2000",
),
RegisterConfig(
key="手续费",
value="0.2",
help="金币兑换农场币的手续费 默认值为: 0.2 实际意义为20%手续费",
default_value="0.2",
),
RegisterConfig(
key="服务地址",
value="http://diuse.work",
help="签到、交易行、活动等服务器地址",
default_value="http://diuse.work",
),
],
).to_dict(),
2025-03-16 19:11:05 +08:00
)
driver = get_driver()
# 构造函数
2025-03-16 19:11:05 +08:00
@driver.on_startup
async def start():
# 初始化数据库
2025-03-16 19:11:05 +08:00
await g_pSqlManager.init()
# 初始化读取Json
2025-03-16 19:11:05 +08:00
await g_pJsonManager.init()
2025-04-29 18:11:09 +08:00
await g_pDBService.init()
2025-06-29 01:45:24 +08:00
# 检查作物文件是否缺失 or 更新
await g_pRequestManager.initPlantDBFile()
# 析构函数
@driver.on_shutdown
async def shutdown():
await g_pSqlManager.cleanup()
await g_pDBService.cleanup()
2025-06-29 01:45:24 +08:00
@scheduler.scheduled_job(trigger="cron", hour=4, minute=30, id="signInFile")
async def signInFile():
try:
await g_pJsonManager.initSignInFile()
2025-06-29 01:45:24 +08:00
await g_pRequestManager.initPlantDBFile()
except Exception as e:
logger.error("农场定时检查出错", e=e)