🐛 修复图片模板方法

This commit is contained in:
HibiKier 2024-11-16 17:59:15 +08:00
parent 545f6fd7f9
commit ae5df38c21
3 changed files with 30 additions and 31 deletions

View File

@ -25,7 +25,8 @@
"ujson", "ujson",
"unban", "unban",
"userinfo", "userinfo",
"zhenxun" "zhenxun",
"jsdelivr"
], ],
"python.analysis.autoImportCompletions": true, "python.analysis.autoImportCompletions": true,
"python.testing.pytestArgs": ["tests"], "python.testing.pytestArgs": ["tests"],

View File

@ -1,30 +1,31 @@
import random import random
from typing import Any, List from typing import Any
from nonebot import on_regex from nonebot import on_regex
from nonebot.adapters import Bot
from nonebot.params import Depends, RegexGroup
from nonebot.plugin import PluginMetadata
from nonebot.rule import to_me from nonebot.rule import to_me
from nonebot_plugin_alconna import Alconna, Option, on_alconna, store_true from nonebot.adapters import Bot
from nonebot.plugin import PluginMetadata
from nonebot.params import Depends, RegexGroup
from nonebot_plugin_session import EventSession from nonebot_plugin_session import EventSession
from nonebot_plugin_userinfo import EventUserInfo, UserInfo from nonebot_plugin_userinfo import UserInfo, EventUserInfo
from nonebot_plugin_alconna import Option, Alconna, on_alconna, store_true
from zhenxun.configs.config import BotConfig, Config from zhenxun.services.log import logger
from zhenxun.configs.utils import PluginExtraData, RegisterConfig from zhenxun.utils.enum import PluginType
from zhenxun.utils.depends import UserName
from zhenxun.utils.message import MessageUtils
from zhenxun.models.ban_console import BanConsole from zhenxun.models.ban_console import BanConsole
from zhenxun.models.friend_user import FriendUser from zhenxun.models.friend_user import FriendUser
from zhenxun.configs.config import Config, BotConfig
from zhenxun.models.group_member_info import GroupInfoUser from zhenxun.models.group_member_info import GroupInfoUser
from zhenxun.services.log import logger from zhenxun.configs.utils import RegisterConfig, PluginExtraData
from zhenxun.utils.depends import UserName
from zhenxun.utils.enum import PluginType
from zhenxun.utils.message import MessageUtils
__plugin_meta__ = PluginMetadata( __plugin_meta__ = PluginMetadata(
name="昵称系统", name="昵称系统",
description="区区昵称,才不想叫呢!", description="区区昵称,才不想叫呢!",
usage=f""" usage=f"""
个人昵称将替换{BotConfig.self_nickname}称呼你的名称群聊 私聊 昵称相互独立全局昵称设置将更改您目前所有群聊中及私聊的昵称 个人昵称将替换{BotConfig.self_nickname}称呼你的名称群聊 私聊 昵称相互独立
全局昵称设置将更改您目前所有群聊中及私聊的昵称
指令 指令
以后叫我 [昵称]: 设置当前群聊/私聊的昵称 以后叫我 [昵称]: 设置当前群聊/私聊的昵称
全局昵称设置 [昵称]: 设置当前所有群聊和私聊的昵称 全局昵称设置 [昵称]: 设置当前所有群聊和私聊的昵称
@ -39,9 +40,10 @@ __plugin_meta__ = PluginMetadata(
RegisterConfig( RegisterConfig(
key="BLACK_WORD", key="BLACK_WORD",
value=["", "", "", ""], value=["", "", "", ""],
help="昵称所屏蔽的关键词,已设置的昵称会被替换为 *,未设置的昵称会在设置时提示", help="昵称所屏蔽的关键词,已设置的昵称会被替换为 *"
"未设置的昵称会在设置时提示",
default_value=None, default_value=None,
type=List[str], type=list[str],
) )
], ],
).dict(), ).dict(),
@ -167,9 +169,8 @@ async def _(
): ):
if session.id1: if session.id1:
(name,) = reg_group (name,) = reg_group
if len(name) < 5: if len(name) < 5 and random.random() < 0.3:
if random.random() < 0.3: name = "~".join(name)
name = "~".join(name)
if gid := session.id3 or session.id2: if gid := session.id3 or session.id2:
await GroupInfoUser.set_user_nickname( await GroupInfoUser.set_user_nickname(
session.id1, session.id1,
@ -181,9 +182,6 @@ async def _(
session.platform, session.platform,
) )
logger.info(f"设置群昵称成功: {name}", "昵称设置", session=session) logger.info(f"设置群昵称成功: {name}", "昵称设置", session=session)
await MessageUtils.build_message(
random.choice(CALL_NAME).format(name)
).finish(reply_to=True)
else: else:
await FriendUser.set_user_nickname( await FriendUser.set_user_nickname(
session.id1, session.id1,
@ -194,9 +192,9 @@ async def _(
session.platform, session.platform,
) )
logger.info(f"设置私聊昵称成功: {name}", "昵称设置", session=session) logger.info(f"设置私聊昵称成功: {name}", "昵称设置", session=session)
await MessageUtils.build_message( await MessageUtils.build_message(random.choice(CALL_NAME).format(name)).finish(
random.choice(CALL_NAME).format(name) reply_to=True
).finish(reply_to=True) )
await MessageUtils.build_message("用户id为空...").send() await MessageUtils.build_message("用户id为空...").send()

View File

@ -159,9 +159,11 @@ class ImageTemplate:
column_data = [] column_data = []
for i in range(len(column_name)): for i in range(len(column_name)):
c = [] c = []
for lst in data_list: for item in data_list:
if len(lst) > i: if len(item) > i:
c.append(str(lst[i])) c.append(
item[i] if isinstance(item[i], tuple | list) else str(item[i])
)
else: else:
c.append("") c.append("")
column_data.append(c) column_data.append(c)
@ -197,7 +199,7 @@ class ImageTemplate:
style = RowStyle(font=font) style = RowStyle(font=font)
if text_style: if text_style:
style = text_style(column_name[i], item) style = text_style(column_name[i], item)
if isinstance(item, tuple): if isinstance(item, tuple | list):
"""图片""" """图片"""
data, width, height = item data, width, height = item
image_ = None image_ = None
@ -219,8 +221,6 @@ class ImageTemplate:
) )
cur_h += base_h + row_space cur_h += base_h + row_space
column_image_list.append(background) column_image_list.append(background)
# height = max([bk.height for bk in column_image_list])
# width = sum([bk.width for bk in column_image_list])
return await BuildImage.auto_paste( return await BuildImage.auto_paste(
column_image_list, len(column_image_list), column_space column_image_list, len(column_image_list), column_space
) )