mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-14 21:52:56 +08:00
commit
67fdbb824b
@ -16,6 +16,7 @@ require("nonebot_plugin_apscheduler")
|
||||
require("nonebot_plugin_alconna")
|
||||
require("nonebot_plugin_session")
|
||||
require("nonebot_plugin_userinfo")
|
||||
require("nonebot_plugin_htmlrender")
|
||||
|
||||
|
||||
import nonebot
|
||||
|
||||
@ -90,6 +90,7 @@ class MemberUpdateManage:
|
||||
group_member_list = await bot.get_group_member_list(group_id=int(group_id))
|
||||
db_user = await GroupInfoUser.filter(group_id=group_id).all()
|
||||
db_user_uid = [u.user_id for u in db_user]
|
||||
uid2name = {u.user_id: u.user_name for u in db_user}
|
||||
create_list = []
|
||||
update_list = []
|
||||
delete_list = []
|
||||
@ -116,8 +117,9 @@ class MemberUpdateManage:
|
||||
if cnt > 1:
|
||||
for u in users[1:]:
|
||||
delete_list.append(u.id)
|
||||
user.user_name = nickname
|
||||
update_list.append(user)
|
||||
if nickname != uid2name.get(user_id):
|
||||
user.user_name = nickname
|
||||
update_list.append(user)
|
||||
else:
|
||||
create_list.append(
|
||||
GroupInfoUser(
|
||||
@ -129,9 +131,6 @@ class MemberUpdateManage:
|
||||
)
|
||||
)
|
||||
exist_member_list.append(user_id)
|
||||
logger.debug(
|
||||
"更新成功", "更新群组成员信息", session=user_id, group_id=group_id
|
||||
)
|
||||
if create_list:
|
||||
await GroupInfoUser.bulk_create(create_list, 30)
|
||||
logger.debug(
|
||||
|
||||
@ -163,7 +163,7 @@ class SignManage:
|
||||
gift = f"额外金币 +{gift}"
|
||||
else:
|
||||
await UserConsole.add_gold(user.user_id, gold, "sign_in", session.platform)
|
||||
await UserConsole.add_props(user.user_id, gift, 1, session.platform)
|
||||
await UserConsole.add_props_by_name(user.user_id, gift, 1, session.platform)
|
||||
gift += " + 1"
|
||||
logger.info(
|
||||
f"签到成功. score: {user.impression:.2f} "
|
||||
|
||||
@ -2,9 +2,10 @@ from typing import Dict
|
||||
|
||||
from tortoise import fields
|
||||
|
||||
from zhenxun.models.goods_info import GoodsInfo
|
||||
from zhenxun.services.db_context import Model
|
||||
from zhenxun.utils.enum import GoldHandle
|
||||
from zhenxun.utils.exception import InsufficientGold
|
||||
from zhenxun.utils.exception import GoodsNotFound, InsufficientGold
|
||||
|
||||
from .user_gold_log import UserGoldLog
|
||||
|
||||
@ -138,3 +139,19 @@ class UserConsole(Model):
|
||||
user.props[goods_uuid] = 0
|
||||
user.props[goods_uuid] += num
|
||||
await user.save(update_fields=["props"])
|
||||
|
||||
@classmethod
|
||||
async def add_props_by_name(
|
||||
cls, user_id: str, name: str, num: int = 1, platform: str | None = None
|
||||
):
|
||||
"""添加道具
|
||||
|
||||
参数:
|
||||
user_id: 用户id
|
||||
name: 道具名称
|
||||
num: 道具数量.
|
||||
platform: 平台.
|
||||
"""
|
||||
if goods := await GoodsInfo.get_or_none(goods_name=name):
|
||||
return await cls.add_props(user_id, goods.uuid, num, platform)
|
||||
raise GoodsNotFound("未找到商品...")
|
||||
|
||||
@ -44,3 +44,11 @@ class NotFindSuperuser(Exception):
|
||||
"""
|
||||
|
||||
pass
|
||||
|
||||
|
||||
class GoodsNotFound(Exception):
|
||||
"""
|
||||
或找到道具
|
||||
"""
|
||||
|
||||
pass
|
||||
|
||||
Loading…
Reference in New Issue
Block a user