mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2026-10-05 03:39:59 +08:00
新增用户使用道具,花费金币及用途记录表以及更细致的金币使用依赖注入
This commit is contained in:
@@ -2,9 +2,6 @@ from typing import Callable, Union, Tuple, Optional
|
||||
from nonebot.adapters.onebot.v11 import MessageSegment, Message
|
||||
from nonebot.plugin import require
|
||||
|
||||
require("use")
|
||||
require("shop_handle")
|
||||
|
||||
|
||||
class ShopRegister(dict):
|
||||
def __init__(self, *args, **kwargs):
|
||||
@@ -94,6 +91,8 @@ class ShopRegister(dict):
|
||||
return lambda func: add_register_item(func)
|
||||
|
||||
async def load_register(self):
|
||||
require("use")
|
||||
require("shop_handle")
|
||||
from basic_plugins.shop.use.data_source import register_use, func_manager
|
||||
from basic_plugins.shop.shop_handle.data_source import register_goods
|
||||
# 统一进行注册
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
from nonebot.adapters.onebot.v11 import GroupMessageEvent
|
||||
from nonebot.internal.matcher import Matcher
|
||||
from nonebot.internal.params import Depends
|
||||
from models.user_shop_gold_log import UserShopGoldLog
|
||||
from models.bag_user import BagUser
|
||||
from utils.message_builder import at
|
||||
|
||||
|
||||
def cost_gold(gold: int):
|
||||
"""
|
||||
说明:
|
||||
插件方法调用使用金币
|
||||
参数:
|
||||
:param gold: 金币数量
|
||||
"""
|
||||
async def dependency(matcher: Matcher, event: GroupMessageEvent):
|
||||
if (await BagUser.get_gold(event.user_id, event.group_id)) < gold:
|
||||
await matcher.finish(at(event.user_id) + f"金币不足..该功能需要{gold}金币..")
|
||||
await BagUser.spend_gold(event.user_id, event.group_id, gold)
|
||||
await UserShopGoldLog.add_shop_log(event.user_id, event.group_id, 2, matcher.plugin_name, gold, 1)
|
||||
|
||||
return Depends(dependency)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user