mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-14 21:52:56 +08:00
🐛 修复使用道具错误 (#1790)
This commit is contained in:
parent
a34e433ebf
commit
3a197c0c1d
@ -14,7 +14,6 @@ from nonebot_plugin_alconna import (
|
||||
on_alconna,
|
||||
store_true,
|
||||
)
|
||||
from nonebot_plugin_session import EventSession
|
||||
from nonebot_plugin_uninfo import Uninfo
|
||||
|
||||
from zhenxun.configs.utils import BaseBlock, PluginExtraData
|
||||
@ -23,6 +22,7 @@ from zhenxun.utils.depends import UserName
|
||||
from zhenxun.utils.enum import BlockType, PluginType
|
||||
from zhenxun.utils.exception import GoodsNotFound
|
||||
from zhenxun.utils.message import MessageUtils
|
||||
from zhenxun.utils.platform import PlatformUtils
|
||||
|
||||
from ._data_source import ShopManage, gold_rank
|
||||
|
||||
@ -107,35 +107,29 @@ _matcher.shortcut(
|
||||
|
||||
|
||||
@_matcher.assign("$main")
|
||||
async def _(session: EventSession, arparma: Arparma):
|
||||
async def _(session: Uninfo, arparma: Arparma):
|
||||
image = await ShopManage.build_shop_image()
|
||||
logger.info("查看商店", arparma.header_result, session=session)
|
||||
await MessageUtils.build_message(image).send()
|
||||
|
||||
|
||||
@_matcher.assign("my-cost")
|
||||
async def _(session: EventSession, arparma: Arparma):
|
||||
if session.id1:
|
||||
logger.info("查看金币", arparma.header_result, session=session)
|
||||
gold = await ShopManage.my_cost(session.id1, session.platform)
|
||||
await MessageUtils.build_message(f"你的当前余额: {gold}").send(reply_to=True)
|
||||
else:
|
||||
await MessageUtils.build_message("用户id为空...").send(reply_to=True)
|
||||
async def _(session: Uninfo, arparma: Arparma):
|
||||
logger.info("查看金币", arparma.header_result, session=session)
|
||||
gold = await ShopManage.my_cost(
|
||||
session.user.id, PlatformUtils.get_platform(session)
|
||||
)
|
||||
await MessageUtils.build_message(f"你的当前余额: {gold}").send(reply_to=True)
|
||||
|
||||
|
||||
@_matcher.assign("my-props")
|
||||
async def _(session: EventSession, arparma: Arparma, nickname: str = UserName()):
|
||||
if session.id1:
|
||||
logger.info("查看道具", arparma.header_result, session=session)
|
||||
if image := await ShopManage.my_props(
|
||||
session.id1,
|
||||
nickname,
|
||||
session.platform,
|
||||
):
|
||||
await MessageUtils.build_message(image.pic2bytes()).finish(reply_to=True)
|
||||
return await MessageUtils.build_message("你的道具为空捏...").send(reply_to=True)
|
||||
else:
|
||||
await MessageUtils.build_message("用户id为空...").send(reply_to=True)
|
||||
async def _(session: Uninfo, arparma: Arparma, nickname: str = UserName()):
|
||||
logger.info("查看道具", arparma.header_result, session=session)
|
||||
if image := await ShopManage.my_props(
|
||||
session.user.id, nickname, PlatformUtils.get_platform(session)
|
||||
):
|
||||
await MessageUtils.build_message(image.pic2bytes()).finish(reply_to=True)
|
||||
return await MessageUtils.build_message("你的道具为空捏...").send(reply_to=True)
|
||||
|
||||
|
||||
@_matcher.assign("buy")
|
||||
@ -163,7 +157,7 @@ async def _(
|
||||
bot: Bot,
|
||||
event: Event,
|
||||
message: UniMsg,
|
||||
session: EventSession,
|
||||
session: Uninfo,
|
||||
arparma: Arparma,
|
||||
name: Match[str],
|
||||
num: Query[int] = AlconnaQuery("num", 1),
|
||||
@ -177,7 +171,9 @@ async def _(
|
||||
bot, event, session, message, name.result, num.result, ""
|
||||
)
|
||||
logger.info(
|
||||
f"使用道具 {name}, 数量: {num}", arparma.header_result, session=session
|
||||
f"使用道具 {name.result}, 数量: {num.result}",
|
||||
arparma.header_result,
|
||||
session=session,
|
||||
)
|
||||
if isinstance(result, str):
|
||||
await MessageUtils.build_message(result).send(reply_to=True)
|
||||
|
||||
@ -332,7 +332,9 @@ class ShopManage:
|
||||
return f"{goods_info.goods_name} 单次使用最大数量为{param.max_num_limit}..."
|
||||
await cls.run_before_after(goods, param, "before", **kwargs)
|
||||
result = await cls.__run(goods, param, session, **kwargs)
|
||||
await UserConsole.use_props(session.id1, goods_info.uuid, num, session.platform) # type: ignore
|
||||
await UserConsole.use_props(
|
||||
session.user.id, goods_info.uuid, num, PlatformUtils.get_platform(session)
|
||||
)
|
||||
await cls.run_before_after(goods, param, "after", **kwargs)
|
||||
if not result and param.send_success_msg:
|
||||
result = f"使用道具 {goods.name} {num} 次成功!"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user