mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-15 14:22:55 +08:00
commit
67fdbb824b
@ -16,6 +16,7 @@ require("nonebot_plugin_apscheduler")
|
|||||||
require("nonebot_plugin_alconna")
|
require("nonebot_plugin_alconna")
|
||||||
require("nonebot_plugin_session")
|
require("nonebot_plugin_session")
|
||||||
require("nonebot_plugin_userinfo")
|
require("nonebot_plugin_userinfo")
|
||||||
|
require("nonebot_plugin_htmlrender")
|
||||||
|
|
||||||
|
|
||||||
import nonebot
|
import nonebot
|
||||||
|
|||||||
@ -90,6 +90,7 @@ class MemberUpdateManage:
|
|||||||
group_member_list = await bot.get_group_member_list(group_id=int(group_id))
|
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 = await GroupInfoUser.filter(group_id=group_id).all()
|
||||||
db_user_uid = [u.user_id for u in db_user]
|
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 = []
|
create_list = []
|
||||||
update_list = []
|
update_list = []
|
||||||
delete_list = []
|
delete_list = []
|
||||||
@ -116,8 +117,9 @@ class MemberUpdateManage:
|
|||||||
if cnt > 1:
|
if cnt > 1:
|
||||||
for u in users[1:]:
|
for u in users[1:]:
|
||||||
delete_list.append(u.id)
|
delete_list.append(u.id)
|
||||||
user.user_name = nickname
|
if nickname != uid2name.get(user_id):
|
||||||
update_list.append(user)
|
user.user_name = nickname
|
||||||
|
update_list.append(user)
|
||||||
else:
|
else:
|
||||||
create_list.append(
|
create_list.append(
|
||||||
GroupInfoUser(
|
GroupInfoUser(
|
||||||
@ -129,9 +131,6 @@ class MemberUpdateManage:
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
exist_member_list.append(user_id)
|
exist_member_list.append(user_id)
|
||||||
logger.debug(
|
|
||||||
"更新成功", "更新群组成员信息", session=user_id, group_id=group_id
|
|
||||||
)
|
|
||||||
if create_list:
|
if create_list:
|
||||||
await GroupInfoUser.bulk_create(create_list, 30)
|
await GroupInfoUser.bulk_create(create_list, 30)
|
||||||
logger.debug(
|
logger.debug(
|
||||||
|
|||||||
@ -163,7 +163,7 @@ class SignManage:
|
|||||||
gift = f"额外金币 +{gift}"
|
gift = f"额外金币 +{gift}"
|
||||||
else:
|
else:
|
||||||
await UserConsole.add_gold(user.user_id, gold, "sign_in", session.platform)
|
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"
|
gift += " + 1"
|
||||||
logger.info(
|
logger.info(
|
||||||
f"签到成功. score: {user.impression:.2f} "
|
f"签到成功. score: {user.impression:.2f} "
|
||||||
|
|||||||
@ -2,9 +2,10 @@ from typing import Dict
|
|||||||
|
|
||||||
from tortoise import fields
|
from tortoise import fields
|
||||||
|
|
||||||
|
from zhenxun.models.goods_info import GoodsInfo
|
||||||
from zhenxun.services.db_context import Model
|
from zhenxun.services.db_context import Model
|
||||||
from zhenxun.utils.enum import GoldHandle
|
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
|
from .user_gold_log import UserGoldLog
|
||||||
|
|
||||||
@ -138,3 +139,19 @@ class UserConsole(Model):
|
|||||||
user.props[goods_uuid] = 0
|
user.props[goods_uuid] = 0
|
||||||
user.props[goods_uuid] += num
|
user.props[goods_uuid] += num
|
||||||
await user.save(update_fields=["props"])
|
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
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class GoodsNotFound(Exception):
|
||||||
|
"""
|
||||||
|
或找到道具
|
||||||
|
"""
|
||||||
|
|
||||||
|
pass
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user