From f69253616e4fcc1385956908fd8383f5727954c7 Mon Sep 17 00:00:00 2001
From: HibiKier <775757368@qq.com>
Date: Sat, 24 Aug 2024 17:06:23 +0800
Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20=E7=AD=BE=E5=88=B0=E4=BC=98?=
=?UTF-8?q?=E5=8C=96=E4=B8=8E=E9=85=8D=E7=BD=AE=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.env.dev | 20 +++++----
resources/template/sign/main.css | 4 ++
resources/template/sign/main.html | 6 +--
zhenxun/builtin_plugins/__init__.py | 15 +++++++
.../admin/group_member_update/__init__.py | 4 +-
.../auto_update/_data_source.py | 23 +++++++---
zhenxun/builtin_plugins/auto_update/config.py | 9 +++-
zhenxun/builtin_plugins/nickname.py | 24 +++++------
.../platform/qq/group_handle.py | 4 +-
zhenxun/builtin_plugins/record_request.py | 16 ++++---
zhenxun/builtin_plugins/restart/__init__.py | 14 ++++---
zhenxun/builtin_plugins/scheduler/morning.py | 7 +++-
zhenxun/builtin_plugins/sign_in/utils.py | 23 ++++++----
.../builtin_plugins/superuser/group_manage.py | 11 +++--
.../web_ui/api/tabs/manage/__init__.py | 10 ++---
zhenxun/configs/config.py | 42 ++++++++++++++-----
zhenxun/plugins/ai/__init__.py | 4 +-
zhenxun/plugins/ai/data_source.py | 10 ++---
zhenxun/plugins/ai/utils.py | 10 ++---
zhenxun/plugins/black_word/black_word.py | 6 +--
zhenxun/plugins/epic/data_source.py | 2 -
zhenxun/plugins/fudu.py | 4 +-
zhenxun/plugins/gold_redbag/__init__.py | 10 ++---
zhenxun/plugins/gold_redbag/data_source.py | 6 +--
zhenxun/plugins/mute/mute_message.py | 4 +-
zhenxun/plugins/mute/mute_setting.py | 4 +-
zhenxun/plugins/roll.py | 4 +-
zhenxun/plugins/russian/data_source.py | 6 +--
.../search_buff_skin_price/__init__.py | 4 +-
.../plugins/send_setu_/send_setu/__init__.py | 4 +-
.../send_setu_/send_setu/_data_source.py | 4 +-
zhenxun/utils/browser.py | 8 ++--
zhenxun/utils/http_utils.py | 4 +-
zhenxun/utils/message.py | 4 +-
34 files changed, 202 insertions(+), 128 deletions(-)
diff --git a/.env.dev b/.env.dev
index 127b4891..5b5ffd35 100644
--- a/.env.dev
+++ b/.env.dev
@@ -1,5 +1,3 @@
-
-
SUPERUSERS=[""]
COMMAND_START=[""]
@@ -13,6 +11,12 @@ SESSION_EXPIRE_TIMEOUT=30
# 全局图片统一使用bytes发送,当真寻与协议端不在同一服务器上时为True
IMAGE_TO_BYTES = False
+# 作为原config.py文件中的NICKNAME
+CONFIG_NICKNAME="小真寻"
+
+# 作为原config.py文件中的SYSTEM_PROXY
+# SYSTEM_PROXY = "http://127.0.0.1:7890"
+
PLATFORM_SUPERUSERS = '
{
"qq": [""],
@@ -22,6 +26,12 @@ PLATFORM_SUPERUSERS = '
DRIVER=~fastapi+~httpx+~websockets
+
+# LOG_LEVEL=DEBUG
+# 服务器和端口
+HOST = 127.0.0.1
+PORT = 8080
+
# kook adapter toekn
# kaiheila_bots =[{"token": ""}]
@@ -53,9 +63,3 @@ DRIVER=~fastapi+~httpx+~websockets
# application_commands的{"*": ["*"]}代表将全部应用命令注册为全局应用命令
# {"admin": ["123", "456"]}则代表将admin命令注册为id是123、456服务器的局部命令,其余命令不注册
-# LOG_LEVEL=DEBUG
-# 服务器和端口
-HOST = 127.0.0.1
-PORT = 8080
-
-
\ No newline at end of file
diff --git a/resources/template/sign/main.css b/resources/template/sign/main.css
index 799f5d2b..2667c87d 100644
--- a/resources/template/sign/main.css
+++ b/resources/template/sign/main.css
@@ -78,6 +78,10 @@ body {
margin-top: 43px;
margin-left: 30px;
font-size: 47px;
+ height: 57px;
+ align-items: center;
+ justify-content: center;
+ display: flex
}
.uid {
diff --git a/resources/template/sign/main.html b/resources/template/sign/main.html
index 74d24fd0..10c3d40e 100644
--- a/resources/template/sign/main.html
+++ b/resources/template/sign/main.html
@@ -18,7 +18,7 @@
-
{{data.name}}
+
{{data.name}}
UID:{{data.uid}}
@@ -30,7 +30,7 @@
累计签到{{data.sign_count}}天
- 真寻说: {{data.message}}
+ {{data.message}}
@@ -58,7 +58,7 @@
好感度等级: {{data.level}}
-
小真寻对你的态度: {{data.attitude}}
+
{{data.attitude}}
距离升级还差{{data.interpolation}}好感度
diff --git a/zhenxun/builtin_plugins/__init__.py b/zhenxun/builtin_plugins/__init__.py
index 9bce3c1c..7eb01d6e 100644
--- a/zhenxun/builtin_plugins/__init__.py
+++ b/zhenxun/builtin_plugins/__init__.py
@@ -5,6 +5,7 @@ from nonebot.drivers import Driver
from tortoise import Tortoise
from tortoise.exceptions import OperationalError
+from zhenxun.configs.config import BotConfig
from zhenxun.models.goods_info import GoodsInfo
from zhenxun.models.group_member_info import GroupInfoUser
from zhenxun.models.sign_user import SignUser
@@ -46,6 +47,20 @@ from public.bag_users t1
"""
+@driver.on_startup
+async def _():
+ try:
+ if driver.config.config_nickname:
+ BotConfig.nickname = driver.config.config_nickname
+ except:
+ pass
+ try:
+ if driver.config.system_proxy:
+ BotConfig.system_proxy = driver.config.config_nickname
+ except:
+ pass
+
+
@driver.on_startup
async def _():
"""签到与用户的数据迁移"""
diff --git a/zhenxun/builtin_plugins/admin/group_member_update/__init__.py b/zhenxun/builtin_plugins/admin/group_member_update/__init__.py
index 437b3aa9..3b355bb1 100644
--- a/zhenxun/builtin_plugins/admin/group_member_update/__init__.py
+++ b/zhenxun/builtin_plugins/admin/group_member_update/__init__.py
@@ -7,7 +7,7 @@ from nonebot_plugin_alconna import Alconna, Arparma, on_alconna
from nonebot_plugin_apscheduler import scheduler
from nonebot_plugin_session import EventSession
-from zhenxun.configs.config import NICKNAME
+from zhenxun.configs.config import BotConfig
from zhenxun.configs.utils import PluginExtraData
from zhenxun.services.log import logger
from zhenxun.utils.enum import PluginType
@@ -62,7 +62,7 @@ async def _(bot: Bot, event: GroupIncreaseNoticeEvent):
if str(event.user_id) == bot.self_id:
await MemberUpdateManage.update(bot, str(event.group_id))
logger.info(
- f"{NICKNAME}加入群聊更新群组信息",
+ f"{BotConfig.nickname}加入群聊更新群组信息",
"更新群组成员列表",
session=event.user_id,
group_id=event.group_id,
diff --git a/zhenxun/builtin_plugins/auto_update/_data_source.py b/zhenxun/builtin_plugins/auto_update/_data_source.py
index 351ae76e..6d93255c 100644
--- a/zhenxun/builtin_plugins/auto_update/_data_source.py
+++ b/zhenxun/builtin_plugins/auto_update/_data_source.py
@@ -1,8 +1,8 @@
import os
import shutil
+import subprocess
import tarfile
import zipfile
-import subprocess
from pathlib import Path
from nonebot.adapters import Bot
@@ -21,24 +21,34 @@ from .config import (
MAIN_URL,
PYPROJECT_FILE,
PYPROJECT_LOCK_FILE,
- REQ_TXT_FILE,
RELEASE_URL,
REPLACE_FOLDERS,
+ REQ_TXT_FILE,
TMP_PATH,
VERSION_FILE,
)
+
def install_requirement():
requirement_path = (Path() / "requirements.txt").absolute()
-
+
if not requirement_path.exists():
- logger.debug(f"没有找到zhenxun的requirement.txt,目标路径为{requirement_path}", "插件管理")
+ logger.debug(
+ f"没有找到zhenxun的requirement.txt,目标路径为{requirement_path}", "插件管理"
+ )
return
try:
- result = subprocess.run(["pip", "install", "-r", str(requirement_path)], check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
+ result = subprocess.run(
+ ["pip", "install", "-r", str(requirement_path)],
+ check=True,
+ stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE,
+ text=True,
+ )
logger.debug(f"成功安装真寻依赖,日志:\n{result.stdout}", "插件管理")
except subprocess.CalledProcessError as e:
- logger.error(f"安装真寻依赖失败,错误:\n{e.stderr}")
+ logger.error(f"安装真寻依赖失败,错误:\n{e.stderr}", "插件管理", e=e)
+
@run_sync
def _file_handle(latest_version: str | None):
@@ -120,6 +130,7 @@ def _file_handle(latest_version: str | None):
f.write(f"__version__: {latest_version}")
install_requirement()
+
class UpdateManage:
@classmethod
diff --git a/zhenxun/builtin_plugins/auto_update/config.py b/zhenxun/builtin_plugins/auto_update/config.py
index be106593..db6c880c 100644
--- a/zhenxun/builtin_plugins/auto_update/config.py
+++ b/zhenxun/builtin_plugins/auto_update/config.py
@@ -22,4 +22,11 @@ BACKUP_PATH = Path() / "backup"
DOWNLOAD_GZ_FILE = TMP_PATH / "download_latest_file.tar.gz"
DOWNLOAD_ZIP_FILE = TMP_PATH / "download_latest_file.zip"
-REPLACE_FOLDERS = ["builtin_plugins", "plugins", "services", "utils", "models"]
+REPLACE_FOLDERS = [
+ "builtin_plugins",
+ "plugins",
+ "services",
+ "utils",
+ "models",
+ "configs",
+]
diff --git a/zhenxun/builtin_plugins/nickname.py b/zhenxun/builtin_plugins/nickname.py
index f5cce1fb..2e7ce521 100644
--- a/zhenxun/builtin_plugins/nickname.py
+++ b/zhenxun/builtin_plugins/nickname.py
@@ -10,7 +10,7 @@ from nonebot_plugin_alconna import Alconna, Option, on_alconna, store_true
from nonebot_plugin_session import EventSession
from nonebot_plugin_userinfo import EventUserInfo, UserInfo
-from zhenxun.configs.config import NICKNAME, Config
+from zhenxun.configs.config import BotConfig, Config
from zhenxun.configs.utils import PluginExtraData, RegisterConfig
from zhenxun.models.ban_console import BanConsole
from zhenxun.models.friend_user import FriendUser
@@ -24,11 +24,11 @@ __plugin_meta__ = PluginMetadata(
name="昵称系统",
description="区区昵称,才不想叫呢!",
usage=f"""
- 个人昵称,将替换{NICKNAME}称呼你的名称,群聊 与 私聊 昵称相互独立,全局昵称设置将更改您目前所有群聊中及私聊的昵称
+ 个人昵称,将替换{BotConfig.nickname}称呼你的名称,群聊 与 私聊 昵称相互独立,全局昵称设置将更改您目前所有群聊中及私聊的昵称
指令:
以后叫我 [昵称]: 设置当前群聊/私聊的昵称
全局昵称设置 [昵称]: 设置当前所有群聊和私聊的昵称
- {NICKNAME}我是谁
+ {BotConfig.nickname}我是谁
""".strip(),
extra=PluginExtraData(
author="HibiKier",
@@ -86,25 +86,25 @@ _matcher.shortcut(
CALL_NAME = [
"好啦好啦,我知道啦,{},以后就这么叫你吧",
- f"嗯嗯,{NICKNAME}" + "记住你的昵称了哦,{}",
+ f"嗯嗯,{BotConfig.nickname}" + "记住你的昵称了哦,{}",
"好突然,突然要叫你昵称什么的...{}..",
- f"{NICKNAME}" + "会好好记住{}的,放心吧",
+ f"{BotConfig.nickname}" + "会好好记住{}的,放心吧",
"好..好.,那窝以后就叫你{}了.",
]
REMIND = [
"我肯定记得你啊,你是{}啊",
"我不会忘记你的,你也不要忘记我!{}",
- f"哼哼,{NICKNAME}" + "记忆力可是很好的,{}",
+ f"哼哼,{BotConfig.nickname}" + "记忆力可是很好的,{}",
"嗯?你是失忆了嘛...{}..",
- f"不要小看{NICKNAME}" + "的记忆力啊!笨蛋{}!QAQ",
+ f"不要小看{BotConfig.nickname}" + "的记忆力啊!笨蛋{}!QAQ",
"哎?{}..怎么了吗..突然这样问..",
]
CANCEL = [
- f"呜..{NICKNAME}" + "睡一觉就会忘记的..和梦一样..{}",
+ f"呜..{BotConfig.nickname}" + "睡一觉就会忘记的..和梦一样..{}",
"窝知道了..{}..",
- f"是{NICKNAME}" + "哪里做的不好嘛..好吧..晚安{}",
+ f"是{BotConfig.nickname}" + "哪里做的不好嘛..好吧..晚安{}",
"呃,{},下次我绝对绝对绝对不会再忘记你!",
"可..可恶!{}!太可恶了!呜",
]
@@ -152,9 +152,9 @@ def CheckNickname():
logger.debug(
"昵称设置禁止字符: [{word}]", "昵称设置", session=session
)
- await MessageUtils.build_message(f"字符 [{x}] 为禁止字符!").finish(
- at_sender=True
- )
+ await MessageUtils.build_message(
+ f"字符 [{word}] 为禁止字符!"
+ ).finish(at_sender=True)
return Depends(dependency)
diff --git a/zhenxun/builtin_plugins/platform/qq/group_handle.py b/zhenxun/builtin_plugins/platform/qq/group_handle.py
index 8fab7ded..d97d9013 100644
--- a/zhenxun/builtin_plugins/platform/qq/group_handle.py
+++ b/zhenxun/builtin_plugins/platform/qq/group_handle.py
@@ -18,7 +18,7 @@ from nonebot.adapters.onebot.v12 import (
from nonebot.plugin import PluginMetadata
from nonebot_plugin_alconna import At
-from zhenxun.configs.config import NICKNAME, Config
+from zhenxun.configs.config import BotConfig, Config
from zhenxun.configs.path_config import DATA_PATH, IMAGE_PATH
from zhenxun.configs.utils import PluginExtraData, RegisterConfig, Task
from zhenxun.models.fg_request import FgRequest
@@ -44,7 +44,7 @@ __plugin_meta__ = PluginMetadata(
RegisterConfig(
module="invite_manager",
key="message",
- value=f"请不要未经同意就拉{NICKNAME}入群!告辞!",
+ value=f"请不要未经同意就拉{BotConfig.nickname}入群!告辞!",
help="强制拉群后进群回复的内容",
),
RegisterConfig(
diff --git a/zhenxun/builtin_plugins/record_request.py b/zhenxun/builtin_plugins/record_request.py
index e894d61e..3833dbf6 100644
--- a/zhenxun/builtin_plugins/record_request.py
+++ b/zhenxun/builtin_plugins/record_request.py
@@ -11,7 +11,7 @@ from nonebot.plugin import PluginMetadata
from nonebot_plugin_apscheduler import scheduler
from nonebot_plugin_session import EventSession
-from zhenxun.configs.config import NICKNAME, Config
+from zhenxun.configs.config import BotConfig, Config
from zhenxun.configs.utils import PluginExtraData, RegisterConfig
from zhenxun.models.fg_request import FgRequest
from zhenxun.models.friend_user import FriendUser
@@ -78,7 +78,6 @@ async def _(bot: v12Bot | v11Bot, event: FriendRequestEvent, session: EventSessi
# age = str(user["age"])
comment = event.comment
if superuser:
- superuser = int(superuser)
await MessageUtils.build_message(
f"*****一份好友申请*****\n"
f"昵称:{nickname}({event.user_id})\n"
@@ -165,15 +164,14 @@ async def _(bot: v12Bot | v11Bot, event: GroupRequestEvent, session: EventSessio
target=event.group_id,
)
nickname = await FriendUser.get_user_name(str(event.user_id))
- await Text(
- f"*****一份入群申请*****\n"
- f"申请人:{nickname}({event.user_id})\n"
- f"群聊:{event.group_id}\n"
- f"邀请日期:{datetime.now().replace(microsecond=0)}"
- ).send_to(target=TargetQQPrivate(user_id=superuser), bot=bot)
+ await PlatformUtils.send_superuser(
+ bot,
+ f"*****一份入群申请*****\n申请人:{nickname}({event.user_id})\n群聊:{event.group_id}\n邀请日期:{datetime.now().replace(microsecond=0)}",
+ superuser,
+ )
await bot.send_private_msg(
user_id=event.user_id,
- message=f"想要邀请我偷偷入群嘛~已经提醒{NICKNAME}的管理员大人了\n"
+ message=f"想要邀请我偷偷入群嘛~已经提醒{BotConfig.nickname}的管理员大人了\n"
"请确保已经群主或群管理沟通过!\n"
"等待管理员处理吧!",
)
diff --git a/zhenxun/builtin_plugins/restart/__init__.py b/zhenxun/builtin_plugins/restart/__init__.py
index eed6fa17..95c21173 100644
--- a/zhenxun/builtin_plugins/restart/__init__.py
+++ b/zhenxun/builtin_plugins/restart/__init__.py
@@ -11,7 +11,7 @@ from nonebot.plugin import PluginMetadata
from nonebot.rule import to_me
from nonebot_plugin_session import EventSession
-from zhenxun.configs.config import NICKNAME
+from zhenxun.configs.config import BotConfig
from zhenxun.configs.utils import PluginExtraData
from zhenxun.services.log import logger
from zhenxun.utils.enum import PluginType
@@ -48,11 +48,13 @@ RESTART_FILE = Path() / "restart.sh"
@_matcher.got(
"flag",
- prompt=f"确定是否重启{NICKNAME}?确定请回复[是|好|确定](重启失败咱们将失去联系,请谨慎!)",
+ prompt=f"确定是否重启{BotConfig.nickname}?确定请回复[是|好|确定](重启失败咱们将失去联系,请谨慎!)",
)
async def _(bot: Bot, session: EventSession, flag: str = ArgStr("flag")):
if flag.lower() in ["true", "是", "好", "确定", "确定是"]:
- await MessageUtils.build_message(f"开始重启{NICKNAME}..请稍等...").send()
+ await MessageUtils.build_message(
+ f"开始重启{BotConfig.nickname}..请稍等..."
+ ).send()
with open(RESTART_MARK, "w", encoding="utf8") as f:
f.write(f"{bot.self_id} {session.id1}")
logger.info("开始重启真寻...", "重启", session=session)
@@ -90,7 +92,7 @@ async def _(bot: Bot):
bot_id, session_id = f.read().split()
if bot := nonebot.get_bot(bot_id):
if target := PlatformUtils.get_target(bot, session_id):
- await MessageUtils.build_message(f"{NICKNAME}已成功重启!").send(
- target, bot=bot
- )
+ await MessageUtils.build_message(
+ f"{BotConfig.nickname}已成功重启!"
+ ).send(target, bot=bot)
RESTART_MARK.unlink()
diff --git a/zhenxun/builtin_plugins/scheduler/morning.py b/zhenxun/builtin_plugins/scheduler/morning.py
index 3608d318..8c9d70ac 100644
--- a/zhenxun/builtin_plugins/scheduler/morning.py
+++ b/zhenxun/builtin_plugins/scheduler/morning.py
@@ -2,7 +2,7 @@ import nonebot
from nonebot.plugin import PluginMetadata
from nonebot_plugin_apscheduler import scheduler
-from zhenxun.configs.config import NICKNAME
+from zhenxun.configs.config import BotConfig
from zhenxun.configs.path_config import IMAGE_PATH
from zhenxun.configs.utils import PluginExtraData, Task
from zhenxun.models.task_info import TaskInfo
@@ -60,7 +60,10 @@ async def _():
)
async def _():
message = MessageUtils.build_message(
- [f"{NICKNAME}要睡觉了,你们也要早点睡呀", IMAGE_PATH / "zhenxun" / "sleep.jpg"]
+ [
+ f"{BotConfig.nickname}要睡觉了,你们也要早点睡呀",
+ IMAGE_PATH / "zhenxun" / "sleep.jpg",
+ ]
)
await broadcast_group(
message,
diff --git a/zhenxun/builtin_plugins/sign_in/utils.py b/zhenxun/builtin_plugins/sign_in/utils.py
index 76b4418f..d822f1a7 100644
--- a/zhenxun/builtin_plugins/sign_in/utils.py
+++ b/zhenxun/builtin_plugins/sign_in/utils.py
@@ -9,7 +9,7 @@ import pytz
from nonebot.drivers import Driver
from nonebot_plugin_htmlrender import template_to_pic
-from zhenxun.configs.config import NICKNAME, Config
+from zhenxun.configs.config import BotConfig, Config
from zhenxun.configs.path_config import IMAGE_PATH, TEMPLATE_PATH
from zhenxun.models.sign_log import SignLog
from zhenxun.models.sign_user import SignUser
@@ -150,7 +150,9 @@ async def _generate_card(
level = "8"
interpolation = 0
await info_img.text((0, 0), f"· 好感度等级:{level} [{lik2relation[level]}]")
- await info_img.text((0, 20), f"· {NICKNAME}对你的态度:{level2attitude[level]}")
+ await info_img.text(
+ (0, 20), f"· {BotConfig.nickname}对你的态度:{level2attitude[level]}"
+ )
await info_img.text((0, 40), f"· 距离升级还差 {interpolation:.2f} 好感度")
bar_bk = BuildImage(220, 20, background=SIGN_RESOURCE_PATH / "bar_white.png")
@@ -214,7 +216,9 @@ async def _generate_card(
f"好感度:{user.impression:.2f}", size=30
)
watermark = await BuildImage.build_text_image(
- f"{NICKNAME}@{datetime.now().year}", size=15, font_color=(155, 155, 155)
+ f"{BotConfig.nickname}@{datetime.now().year}",
+ size=15,
+ font_color=(155, 155, 155),
)
today_data = BuildImage(300, 300, color=(255, 255, 255, 0), font_size=20)
if is_card_view:
@@ -390,13 +394,13 @@ async def _generate_html_card(
else:
uid = "XXXX XXXX XXXX"
level, next_impression, previous_impression = get_level_and_next_impression(
- impression
+ float(user.impression)
)
interpolation = next_impression - impression
if level == "9":
level = "8"
interpolation = 0
- message = f"{NICKNAME}希望你天天开心!"
+ message = f"{BotConfig.nickname}希望你开心!"
hour = datetime.now().hour
if hour > 6 and hour < 10:
message = random.choice(MORNING_MESSAGE)
@@ -416,19 +420,22 @@ async def _generate_html_card(
"name": nickname,
"uid": uid,
"sign_count": f"{user.sign_count}",
- "message": message,
+ "message": f"{BotConfig.nickname}说: {message}",
"cur_impression": f"{user.impression:.2f}",
"impression": f"好感度+{_impression}",
"gold": f"金币+{gold}",
"gift": gift,
"level": f"{level} [{lik2relation[level]}]",
- "attitude": level2attitude[level],
+ "attitude": f"{BotConfig.nickname}对你的态度: {level2attitude[level]}",
"interpolation": f"{interpolation:.2f}",
"heart2": [1 for _ in range(int(level))],
"heart1": [1 for _ in range(9 - int(level))],
- "process": process,
+ "process": process * 100,
"date": str(now.replace(microsecond=0)),
+ "font_size": 45,
}
+ if len(nickname) > 6:
+ data["font_size"] = 27
_type = "sign"
if is_card_view:
_type = "view"
diff --git a/zhenxun/builtin_plugins/superuser/group_manage.py b/zhenxun/builtin_plugins/superuser/group_manage.py
index 41044f94..4bd01cc2 100644
--- a/zhenxun/builtin_plugins/superuser/group_manage.py
+++ b/zhenxun/builtin_plugins/superuser/group_manage.py
@@ -16,7 +16,7 @@ from nonebot_plugin_alconna import (
)
from nonebot_plugin_session import EventSession
-from zhenxun.configs.config import NICKNAME
+from zhenxun.configs.config import BotConfig
from zhenxun.configs.utils import PluginExtraData
from zhenxun.models.group_console import GroupConsole
from zhenxun.services.log import logger
@@ -191,11 +191,16 @@ async def _(bot: Bot, session: EventSession, arparma: Arparma, group_id: int):
group_list = [g["group_id"] for g in await bot.get_group_list()]
if group_id not in group_list:
logger.debug("群组不存在", "退群", session=session, target=group_id)
- await MessageUtils.build_message(f"{NICKNAME}未在该群组中...").finish()
+ await MessageUtils.build_message(
+ f"{BotConfig.nickname}未在该群组中..."
+ ).finish()
try:
await bot.set_group_leave(group_id=group_id)
logger.info(
- f"{NICKNAME}退出群组成功", "退群", session=session, target=group_id
+ f"{BotConfig.nickname}退出群组成功",
+ "退群",
+ session=session,
+ target=group_id,
)
await MessageUtils.build_message(f"退出群组 {group_id} 成功!").send()
await GroupConsole.filter(group_id=group_id).delete()
diff --git a/zhenxun/builtin_plugins/web_ui/api/tabs/manage/__init__.py b/zhenxun/builtin_plugins/web_ui/api/tabs/manage/__init__.py
index 2f502762..ea010d88 100644
--- a/zhenxun/builtin_plugins/web_ui/api/tabs/manage/__init__.py
+++ b/zhenxun/builtin_plugins/web_ui/api/tabs/manage/__init__.py
@@ -3,7 +3,7 @@ from fastapi import APIRouter
from nonebot.adapters.onebot.v11 import ActionFailed
from tortoise.functions import Count
-from zhenxun.configs.config import NICKNAME
+from zhenxun.configs.config import BotConfig
from zhenxun.models.ban_console import BanConsole
from zhenxun.models.chat_history import ChatHistory
from zhenxun.models.fg_request import FgRequest
@@ -133,7 +133,7 @@ async def _() -> Result:
"friend_count": f_count,
"group_count": g_count,
}
- return Result.ok(data, f"{NICKNAME}带来了最新的数据!")
+ return Result.ok(data, f"{BotConfig.nickname}带来了最新的数据!")
@router.get(
@@ -177,7 +177,7 @@ async def _() -> Result:
except Exception as e:
logger.error("调用API错误", "/get_request", e=e)
return Result.fail(f"{type(e)}: {e}")
- return Result.ok(req_result, f"{NICKNAME}带来了最新的数据!")
+ return Result.ok(req_result, f"{BotConfig.nickname}带来了最新的数据!")
@router.post(
@@ -234,9 +234,7 @@ async def _(parma: HandleRequest) -> Result:
else:
await GroupConsole.update_or_create(
group_id=req.group_id,
- defaults={
- "group_flag": 1,
- },
+ defaults={"group_flag": 1},
)
else:
return Result.warning_("未找到此Id请求...")
diff --git a/zhenxun/configs/config.py b/zhenxun/configs/config.py
index 0206c131..078f131c 100644
--- a/zhenxun/configs/config.py
+++ b/zhenxun/configs/config.py
@@ -13,13 +13,38 @@ if platform.system() == "Linux":
)
-# 回复消息名称
-NICKNAME: str = "小真寻"
+class BotConfigSetting:
+
+ def __init__(self) -> None:
+ self.__nickname: str = ""
+ self.__system_proxy: str | None = None
+
+ @property
+ def nickname(self) -> str:
+ return self.__nickname
+
+ @nickname.setter
+ def nickname(self, v: str):
+ self.__nickname = v
+
+ @property
+ def system_proxy(self) -> str | None:
+ return self.__system_proxy
+
+ @system_proxy.setter
+ def system_proxy(self, v: str):
+ self.__system_proxy = v
+
+
+# 回复消息名称
+NICKNAME: str = ""
+
+# 代理,例如 "http://127.0.0.1:7890"
+# 如果是WLS 可以 f"http://{hostip}:7890" 使用寄主机的代理
+SYSTEM_PROXY: str | None = None # 全局代理
-# 数据库(必要)
-# 如果填写了bind就不需要再填写后面的字段了#)
# 示例:"bind": "postgres://user:password@127.0.0.1:5432/database"
-bind: str = ""
+bind: str = "" # 数据库连接链接
sql_name: str = "postgres"
user: str = "" # 数据用户名
password: str = "" # 数据库密码
@@ -27,9 +52,6 @@ address: str = "" # 数据库地址
port: str = "" # 数据库端口
database: str = "" # 数据库名称
-# 代理,例如 "http://127.0.0.1:7890"
-# 如果是WLS 可以 f"http://{hostip}:7890" 使用寄主机的代理
-SYSTEM_PROXY: str | None = "http://127.0.0.1:7890" # 全局代理
-
-
Config = ConfigsManager(Path() / "data" / "configs" / "plugins2config.yaml")
+
+BotConfig = BotConfigSetting()
diff --git a/zhenxun/plugins/ai/__init__.py b/zhenxun/plugins/ai/__init__.py
index 28e15354..aecc17c0 100644
--- a/zhenxun/plugins/ai/__init__.py
+++ b/zhenxun/plugins/ai/__init__.py
@@ -6,7 +6,7 @@ from nonebot.rule import to_me
from nonebot_plugin_alconna import UniMsg
from nonebot_plugin_session import EventSession
-from zhenxun.configs.config import NICKNAME, Config
+from zhenxun.configs.config import BotConfig, Config
from zhenxun.configs.utils import PluginExtraData, RegisterConfig
from zhenxun.models.friend_user import FriendUser
from zhenxun.models.group_member_info import GroupInfoUser
@@ -20,7 +20,7 @@ __plugin_meta__ = PluginMetadata(
name="AI",
description="屑Ai",
usage=f"""
- 与{NICKNAME}普普通通的对话吧!
+ 与{BotConfig.nickname}普普通通的对话吧!
""".strip(),
extra=PluginExtraData(
author="HibiKier",
diff --git a/zhenxun/plugins/ai/data_source.py b/zhenxun/plugins/ai/data_source.py
index 555f3885..9a7c42f2 100644
--- a/zhenxun/plugins/ai/data_source.py
+++ b/zhenxun/plugins/ai/data_source.py
@@ -5,7 +5,7 @@ import re
import ujson as json
from nonebot_plugin_alconna import UniMessage, UniMsg
-from zhenxun.configs.config import NICKNAME, Config
+from zhenxun.configs.config import BotConfig, Config
from zhenxun.configs.path_config import DATA_PATH, IMAGE_PATH
from zhenxun.services.log import logger
from zhenxun.utils.http_utils import AsyncHttpx
@@ -154,9 +154,9 @@ async def xie_ai(text: str) -> str:
if data["result"] == 0:
content = data["content"]
if "菲菲" in content:
- content = content.replace("菲菲", NICKNAME)
+ content = content.replace("菲菲", BotConfig.nickname)
if "艳儿" in content:
- content = content.replace("艳儿", NICKNAME)
+ content = content.replace("艳儿", BotConfig.nickname)
if "公众号" in content:
content = ""
if "{br}" in content:
@@ -188,7 +188,7 @@ def hello() -> UniMessage:
(
"哦豁?!",
"你好!Ov<",
- f"库库库,呼唤{NICKNAME}做什么呢",
+ f"库库库,呼唤{BotConfig.nickname}做什么呢",
"我在呢!",
"呼呼,叫俺干嘛",
)
@@ -206,7 +206,7 @@ def no_result() -> UniMessage:
random.choice(
[
"你在说啥子?",
- f"纯洁的{NICKNAME}没听懂",
+ f"纯洁的{BotConfig.nickname}没听懂",
"下次再告诉你(下次一定)",
"你觉得我听懂了吗?嗯?",
"我!不!知!道!",
diff --git a/zhenxun/plugins/ai/utils.py b/zhenxun/plugins/ai/utils.py
index 946bc234..1f8406d7 100644
--- a/zhenxun/plugins/ai/utils.py
+++ b/zhenxun/plugins/ai/utils.py
@@ -1,7 +1,7 @@
import random
import time
-from zhenxun.configs.config import NICKNAME
+from zhenxun.configs.config import BotConfig
from zhenxun.models.ban_console import BanConsole
@@ -15,14 +15,14 @@ class AiMessageManager:
"你是只会说这一句话吗?",
"[*],你发我也发!",
"[uname],[*]",
- f"救命!有笨蛋一直给{NICKNAME}发一样的话!",
+ f"救命!有笨蛋一直给{BotConfig.nickname}发一样的话!",
"这句话你已经给我发了{}次了,再发就生气!",
]
self._repeat_message = [
- f"请不要学{NICKNAME}说话",
- f"为什么要一直学{NICKNAME}说话?",
+ f"请不要学{BotConfig.nickname}说话",
+ f"为什么要一直学{BotConfig.nickname}说话?",
"你再学!你再学我就生气了!",
- f"呜呜,你是想欺负{NICKNAME}嘛..",
+ f"呜呜,你是想欺负{BotConfig.nickname}嘛..",
"[uname]不要再学我说话了!",
"再学我说话,我就把你拉进黑名单(生气",
"你再学![uname]是个笨蛋!",
diff --git a/zhenxun/plugins/black_word/black_word.py b/zhenxun/plugins/black_word/black_word.py
index 8b819c6a..ba0ede01 100644
--- a/zhenxun/plugins/black_word/black_word.py
+++ b/zhenxun/plugins/black_word/black_word.py
@@ -7,7 +7,7 @@ from nonebot.plugin import PluginMetadata
from nonebot_plugin_alconna import Alconna, Args, Arparma, Match, Option, on_alconna
from nonebot_plugin_session import EventSession
-from zhenxun.configs.config import NICKNAME
+from zhenxun.configs.config import BotConfig
from zhenxun.configs.utils import PluginExtraData, RegisterConfig
from zhenxun.services.log import logger
from zhenxun.utils.enum import PluginType
@@ -79,7 +79,7 @@ __plugin_meta__ = PluginMetadata(
),
RegisterConfig(
key="WARNING_RESULT",
- value=f"请注意对{NICKNAME}的发言内容",
+ value=f"请注意对{BotConfig.nickname}的发言内容",
help="口头警告内容",
default_value=None,
),
@@ -202,7 +202,7 @@ async def _():
关于敏感词:
- 记住不要骂{NICKNAME}就对了!
+ 记住不要骂{BotConfig.nickname}就对了!
""".strip()
max_width = 0
for m in text.split("\n"):
diff --git a/zhenxun/plugins/epic/data_source.py b/zhenxun/plugins/epic/data_source.py
index 87bc5a63..583221fe 100644
--- a/zhenxun/plugins/epic/data_source.py
+++ b/zhenxun/plugins/epic/data_source.py
@@ -5,9 +5,7 @@ from nonebot.adapters.onebot.v11 import Bot as v11Bot
from nonebot.adapters.onebot.v12 import Bot as v12Bot
from nonebot_plugin_alconna import Image, UniMessage
-from zhenxun.configs.config import NICKNAME
from zhenxun.services.log import logger
-from zhenxun.utils._build_image import BuildImage
from zhenxun.utils.http_utils import AsyncHttpx
from zhenxun.utils.message import MessageUtils
diff --git a/zhenxun/plugins/fudu.py b/zhenxun/plugins/fudu.py
index b81a0747..141f951a 100644
--- a/zhenxun/plugins/fudu.py
+++ b/zhenxun/plugins/fudu.py
@@ -7,7 +7,7 @@ from nonebot_plugin_alconna import Image as alcImg
from nonebot_plugin_alconna import UniMsg
from nonebot_plugin_session import EventSession
-from zhenxun.configs.config import NICKNAME, Config
+from zhenxun.configs.config import BotConfig, Config
from zhenxun.configs.path_config import TEMP_PATH
from zhenxun.configs.utils import PluginExtraData, RegisterConfig, Task
from zhenxun.models.task_info import TaskInfo
@@ -112,7 +112,7 @@ async def _(message: UniMsg, event: Event, session: EventSession):
image_list.append(m.url)
if not plain_text and not image_list:
return
- if plain_text and plain_text.startswith(f"@可爱的{NICKNAME}"):
+ if plain_text and plain_text.startswith(f"@可爱的{BotConfig.nickname}"):
await MessageUtils.build_message("复制粘贴的虚空艾特?").send(reply_to=True)
if image_list:
img_hash = await get_download_image_hash(image_list[0], group_id)
diff --git a/zhenxun/plugins/gold_redbag/__init__.py b/zhenxun/plugins/gold_redbag/__init__.py
index f46c6639..283dd9e3 100644
--- a/zhenxun/plugins/gold_redbag/__init__.py
+++ b/zhenxun/plugins/gold_redbag/__init__.py
@@ -12,7 +12,7 @@ from nonebot_plugin_alconna import Alconna, Args, Arparma, At, Match, Option, on
from nonebot_plugin_apscheduler import scheduler
from nonebot_plugin_session import EventSession
-from zhenxun.configs.config import NICKNAME
+from zhenxun.configs.config import BotConfig
from zhenxun.configs.utils import PluginCdBlock, PluginExtraData, RegisterConfig
from zhenxun.services.log import logger
from zhenxun.utils.depends import GetConfig, UserName
@@ -298,7 +298,7 @@ async def _(
try:
await MessageUtils.build_message(
[
- f"{NICKNAME}的节日红包过时了,一共开启了 "
+ f"{BotConfig.nickname}的节日红包过时了,一共开启了 "
f"{len(festive_red_bag.open_user)}"
f" 个红包,共 {sum(festive_red_bag.open_user.values())} 金币\n",
rank_image,
@@ -314,10 +314,10 @@ async def _(
except JobLookupError:
pass
await group_red_bag.add_red_bag(
- f"{NICKNAME}的红包",
+ f"{BotConfig.nickname}的红包",
amount,
num,
- NICKNAME,
+ BotConfig.nickname,
FESTIVE_KEY,
_uuid,
platform=session.platform,
@@ -335,7 +335,7 @@ async def _(
)
await MessageUtils.build_message(
[
- f"{NICKNAME}发起了节日金币红包\n金额: {amount}\n数量: {num}\n",
+ f"{BotConfig.nickname}发起了节日金币红包\n金额: {amount}\n数量: {num}\n",
image_result,
]
).send(target=target, bot=bot)
diff --git a/zhenxun/plugins/gold_redbag/data_source.py b/zhenxun/plugins/gold_redbag/data_source.py
index ec903100..63096914 100644
--- a/zhenxun/plugins/gold_redbag/data_source.py
+++ b/zhenxun/plugins/gold_redbag/data_source.py
@@ -8,7 +8,7 @@ from nonebot.adapters import Bot
from nonebot.exception import ActionFailed
from nonebot_plugin_alconna import UniMessage
-from zhenxun.configs.config import NICKNAME, Config
+from zhenxun.configs.config import BotConfig, Config
from zhenxun.configs.path_config import IMAGE_PATH
from zhenxun.models.user_console import UserConsole
from zhenxun.utils.image_utils import BuildImage
@@ -58,7 +58,7 @@ class RedBagManager:
try:
await MessageUtils.build_message(
[
- f"{NICKNAME}的节日红包过时了,一共开启了 "
+ f"{BotConfig.nickname}的节日红包过时了,一共开启了 "
f"{len(red_bag.open_user)}"
f" 个红包,共 {sum(red_bag.open_user.values())} 金币\n",
rank_image,
@@ -92,7 +92,7 @@ class RedBagManager:
rank_image = await festive_red_bag.build_amount_rank(rank_num, platform)
return MessageUtils.build_message(
[
- f"{NICKNAME}的节日红包过时了,一共开启了 "
+ f"{BotConfig.nickname}的节日红包过时了,一共开启了 "
f"{len(festive_red_bag.open_user)}"
f" 个红包,共 {sum(festive_red_bag.open_user.values())} 金币\n",
rank_image,
diff --git a/zhenxun/plugins/mute/mute_message.py b/zhenxun/plugins/mute/mute_message.py
index ec655ccf..64d58999 100644
--- a/zhenxun/plugins/mute/mute_message.py
+++ b/zhenxun/plugins/mute/mute_message.py
@@ -5,7 +5,7 @@ from nonebot_plugin_alconna import Image as alcImage
from nonebot_plugin_alconna import UniMsg
from nonebot_plugin_session import EventSession
-from zhenxun.configs.config import NICKNAME
+from zhenxun.configs.config import BotConfig
from zhenxun.configs.utils import PluginExtraData
from zhenxun.models.ban_console import BanConsole
from zhenxun.services.log import logger
@@ -48,7 +48,7 @@ async def _(bot: Bot, session: EventSession, message: UniMsg):
try:
await PlatformUtils.ban_user(bot, session.id1, group_id, duration)
await MessageUtils.build_message(
- f"检测到恶意刷屏,{NICKNAME}要把你关进小黑屋!"
+ f"检测到恶意刷屏,{BotConfig.nickname}要把你关进小黑屋!"
).send(at_sender=True)
mute_manage.reset(session.id1, group_id)
logger.info(f"检测刷屏 被禁言 {duration} 分钟", "禁言检查", session=session)
diff --git a/zhenxun/plugins/mute/mute_setting.py b/zhenxun/plugins/mute/mute_setting.py
index f723f075..63038e16 100644
--- a/zhenxun/plugins/mute/mute_setting.py
+++ b/zhenxun/plugins/mute/mute_setting.py
@@ -2,7 +2,7 @@ from nonebot.plugin import PluginMetadata
from nonebot_plugin_alconna import Alconna, Args, Arparma, Match, Option, on_alconna
from nonebot_plugin_session import EventSession
-from zhenxun.configs.config import NICKNAME
+from zhenxun.configs.config import BotConfig
from zhenxun.configs.utils import PluginExtraData, RegisterConfig
from zhenxun.services.log import logger
from zhenxun.utils.enum import PluginType
@@ -15,7 +15,7 @@ __plugin_meta__ = PluginMetadata(
name="刷屏禁言",
description="刷屏禁言相关操作",
usage="""
- 刷屏禁言相关操作,需要 {NICKNAME} 有群管理员权限
+ 刷屏禁言相关操作,需要 {BotConfig.nickname} 有群管理员权限
指令:
设置刷屏: 查看当前设置
-c [count]: 检测最大次数
diff --git a/zhenxun/plugins/roll.py b/zhenxun/plugins/roll.py
index 7c953496..f8b242b9 100644
--- a/zhenxun/plugins/roll.py
+++ b/zhenxun/plugins/roll.py
@@ -6,7 +6,7 @@ from nonebot.plugin import PluginMetadata
from nonebot_plugin_alconna import UniMsg
from nonebot_plugin_session import EventSession
-from zhenxun.configs.config import NICKNAME
+from zhenxun.configs.config import BotConfig
from zhenxun.configs.utils import PluginExtraData
from zhenxun.services.log import logger
from zhenxun.utils.depends import UserName
@@ -56,7 +56,7 @@ async def _(
await MessageUtils.build_message(
random.choice(
[
- f"让{NICKNAME}看看是什么结果!答案是:‘{random_text}’",
+ f"让{BotConfig.nickname}看看是什么结果!答案是:‘{random_text}’",
f"根据命运的指引,接下来{user_name} ‘{random_text}’ 会比较好",
f"祈愿被回应了!是 ‘{random_text}’!",
f"结束了,{user_name},命运之轮停在了 ‘{random_text}’!",
diff --git a/zhenxun/plugins/russian/data_source.py b/zhenxun/plugins/russian/data_source.py
index eb8381cb..239dafc5 100644
--- a/zhenxun/plugins/russian/data_source.py
+++ b/zhenxun/plugins/russian/data_source.py
@@ -8,7 +8,7 @@ from nonebot_plugin_alconna import At, UniMessage
from nonebot_plugin_apscheduler import scheduler
from pydantic import BaseModel
-from zhenxun.configs.config import NICKNAME, Config
+from zhenxun.configs.config import BotConfig, Config
from zhenxun.models.group_member_info import GroupInfoUser
from zhenxun.models.user_console import UserConsole
from zhenxun.utils.enum import GoldHandle
@@ -278,7 +278,7 @@ class RussianManage:
random.choice(
[
f"不要打扰 {russian.player1[1]} 和 {russian.player2[1]} 的决斗啊!",
- f"给我好好做好一个观众!不然{NICKNAME}就要生气了",
+ f"给我好好做好一个观众!不然{BotConfig.nickname}就要生气了",
f"不要捣乱啊baka{uname}!",
]
)
@@ -429,7 +429,7 @@ class RussianManage:
f"\t累计败场:{loser.fail_count}\n"
f"\t累计输掉金币:{loser.lose_money}\n"
f"-------------------\n"
- f"哼哼,{NICKNAME}从中收取了 {float(rand)}%({fee}金币) 作为手续费!\n"
+ f"哼哼,{BotConfig.nickname}从中收取了 {float(rand)}%({fee}金币) 作为手续费!\n"
f"子弹排列:{russian.bullet_arr}",
padding=10,
color="#f9f6f2",
diff --git a/zhenxun/plugins/search_buff_skin_price/__init__.py b/zhenxun/plugins/search_buff_skin_price/__init__.py
index da224aaf..14130a80 100644
--- a/zhenxun/plugins/search_buff_skin_price/__init__.py
+++ b/zhenxun/plugins/search_buff_skin_price/__init__.py
@@ -4,7 +4,7 @@ from nonebot.rule import to_me
from nonebot_plugin_alconna import Alconna, Args, Arparma, Match, on_alconna
from nonebot_plugin_session import EventSession
-from zhenxun.configs.config import NICKNAME
+from zhenxun.configs.config import BotConfig
from zhenxun.configs.utils import BaseBlock, PluginExtraData, RegisterConfig
from zhenxun.services.log import logger
from zhenxun.utils.message import MessageUtils
@@ -83,7 +83,7 @@ async def arg_handle(
result, status_code = await get_price(name)
except FileNotFoundError:
await MessageUtils.build_message(
- f'请先对{NICKNAME}说"设置cookie"来设置cookie!'
+ f'请先对{BotConfig.nickname}说"设置cookie"来设置cookie!'
).send(at_sender=True)
if status_code in [996, 997, 998]:
await MessageUtils.build_message(result).finish()
diff --git a/zhenxun/plugins/send_setu_/send_setu/__init__.py b/zhenxun/plugins/send_setu_/send_setu/__init__.py
index 3dab91f6..9638727d 100644
--- a/zhenxun/plugins/send_setu_/send_setu/__init__.py
+++ b/zhenxun/plugins/send_setu_/send_setu/__init__.py
@@ -16,7 +16,7 @@ from nonebot_plugin_alconna import (
)
from nonebot_plugin_session import EventSession
-from zhenxun.configs.config import NICKNAME
+from zhenxun.configs.config import BotConfig
from zhenxun.configs.utils import PluginCdBlock, PluginExtraData, RegisterConfig
from zhenxun.models.sign_user import SignUser
from zhenxun.models.user_console import UserConsole
@@ -173,7 +173,7 @@ async def _(
local_id: Match[int],
):
_tags = tags.result.split("#") if tags.available else None
- if _tags and NICKNAME in _tags:
+ if _tags and BotConfig.nickname in _tags:
await MessageUtils.build_message(
"咳咳咳,虽然我很可爱,但是我木有自己的色图~~~有的话记得发我一份呀"
).finish()
diff --git a/zhenxun/plugins/send_setu_/send_setu/_data_source.py b/zhenxun/plugins/send_setu_/send_setu/_data_source.py
index 6bac3d22..c7556bd6 100644
--- a/zhenxun/plugins/send_setu_/send_setu/_data_source.py
+++ b/zhenxun/plugins/send_setu_/send_setu/_data_source.py
@@ -5,7 +5,7 @@ from pathlib import Path
from asyncpg import UniqueViolationError
from nonebot_plugin_alconna import UniMessage
-from zhenxun.configs.config import NICKNAME, Config
+from zhenxun.configs.config import BotConfig, Config
from zhenxun.configs.path_config import IMAGE_PATH, TEMP_PATH
from zhenxun.services.log import logger
from zhenxun.utils.http_utils import AsyncHttpx
@@ -186,7 +186,7 @@ class SetuManage:
IMAGE_PATH
/ "luoxiang"
/ random.choice(os.listdir(IMAGE_PATH / "luoxiang")),
- f"\n(快向{NICKNAME}签到提升好感度吧!)",
+ f"\n(快向{BotConfig.nickname}签到提升好感度吧!)",
]
)
return None
diff --git a/zhenxun/utils/browser.py b/zhenxun/utils/browser.py
index fccfa55e..ca2e7755 100644
--- a/zhenxun/utils/browser.py
+++ b/zhenxun/utils/browser.py
@@ -5,7 +5,7 @@ from nonebot import get_driver
from playwright.__main__ import main
from playwright.async_api import Browser, Playwright, async_playwright
-from zhenxun.configs.config import SYSTEM_PROXY
+from zhenxun.configs.config import BotConfig
from zhenxun.services.log import logger
driver = get_driver()
@@ -45,12 +45,12 @@ def install():
os.environ["PLAYWRIGHT_DOWNLOAD_HOST"] = (
"https://npmmirror.com/mirrors/playwright/"
)
- if SYSTEM_PROXY:
- os.environ["HTTPS_PROXY"] = SYSTEM_PROXY
+ if BotConfig.system_proxy:
+ os.environ["HTTPS_PROXY"] = BotConfig.system_proxy
def restore_env_variables():
os.environ.pop("PLAYWRIGHT_DOWNLOAD_HOST", None)
- if SYSTEM_PROXY:
+ if BotConfig.system_proxy:
os.environ.pop("HTTPS_PROXY", None)
if original_proxy is not None:
os.environ["HTTPS_PROXY"] = original_proxy
diff --git a/zhenxun/utils/http_utils.py b/zhenxun/utils/http_utils.py
index 1740ddd6..b4708b39 100644
--- a/zhenxun/utils/http_utils.py
+++ b/zhenxun/utils/http_utils.py
@@ -13,7 +13,7 @@ from nonebot_plugin_htmlrender import get_browser
from playwright.async_api import Page
from retrying import retry
-from zhenxun.configs.config import SYSTEM_PROXY
+from zhenxun.configs.config import BotConfig
from zhenxun.services.log import logger
from zhenxun.utils.message import MessageUtils
from zhenxun.utils.user_agent import get_user_agent
@@ -23,7 +23,7 @@ from zhenxun.utils.user_agent import get_user_agent
class AsyncHttpx:
- proxy = {"http://": SYSTEM_PROXY, "https://": SYSTEM_PROXY}
+ proxy = {"http://": BotConfig.system_proxy, "https://": BotConfig.system_proxy}
@classmethod
@retry(stop_max_attempt_number=3)
diff --git a/zhenxun/utils/message.py b/zhenxun/utils/message.py
index 54e7f908..7668984e 100644
--- a/zhenxun/utils/message.py
+++ b/zhenxun/utils/message.py
@@ -5,7 +5,7 @@ import nonebot
from nonebot.adapters.onebot.v11 import Message, MessageSegment
from nonebot_plugin_alconna import At, Image, Text, UniMessage
-from zhenxun.configs.config import NICKNAME
+from zhenxun.configs.config import BotConfig
from zhenxun.services.log import logger
from zhenxun.utils._build_image import BuildImage
@@ -81,7 +81,7 @@ class MessageUtils:
cls,
msg_list: list[str | Message],
uin: str,
- name: str = f"这里是{NICKNAME}",
+ name: str = f"这里是{BotConfig.nickname}",
) -> list[dict]:
"""生成自定义合并消息