mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-15 14:22:55 +08:00
Develop: 完全使用 ruff 替代 isort 与 black (#1757)
* 🚨 完全使用 ruff 替代 isort 与 black * 🚨 ruff lint&format
This commit is contained in:
parent
28dd15a950
commit
bc5a9c4fcc
@ -1,33 +1,16 @@
|
|||||||
default_install_hook_types: [pre-commit, prepare-commit-msg]
|
default_install_hook_types: [pre-commit]
|
||||||
ci:
|
ci:
|
||||||
autofix_commit_msg: ":rotating_light: auto fix by pre-commit hooks"
|
autofix_commit_msg: ":rotating_light: auto fix by pre-commit hooks"
|
||||||
autofix_prs: true
|
autofix_prs: true
|
||||||
autoupdate_branch: dev
|
autoupdate_branch: master
|
||||||
autoupdate_schedule: weekly
|
autoupdate_schedule: monthly
|
||||||
autoupdate_commit_msg: ":arrow_up: auto update by pre-commit hooks"
|
autoupdate_commit_msg: ":arrow_up: auto update by pre-commit hooks"
|
||||||
repos:
|
repos:
|
||||||
- repo: https://github.com/astral-sh/ruff-pre-commit
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
||||||
rev: v0.5.6
|
rev: v0.8.1
|
||||||
hooks:
|
hooks:
|
||||||
- id: ruff
|
- id: ruff
|
||||||
args: [--fix, --exit-non-zero-on-fix]
|
args: [--fix]
|
||||||
stages: [commit]
|
stages: [pre-commit]
|
||||||
|
- id: ruff-format
|
||||||
- repo: https://github.com/pycqa/isort
|
stages: [pre-commit]
|
||||||
rev: 5.13.2
|
|
||||||
hooks:
|
|
||||||
- id: isort
|
|
||||||
stages: [commit]
|
|
||||||
|
|
||||||
- repo: https://github.com/psf/black
|
|
||||||
rev: 24.8.0
|
|
||||||
hooks:
|
|
||||||
- id: black
|
|
||||||
stages: [commit]
|
|
||||||
|
|
||||||
- repo: https://github.com/pre-commit/mirrors-prettier
|
|
||||||
rev: v4.0.0-alpha.8
|
|
||||||
hooks:
|
|
||||||
- id: prettier
|
|
||||||
types_or: [javascript, jsx, ts, tsx, markdown, yaml, json]
|
|
||||||
stages: [commit]
|
|
||||||
@ -40,7 +40,6 @@ psutil = "^5.9.8"
|
|||||||
feedparser = "^6.0.11"
|
feedparser = "^6.0.11"
|
||||||
opencv-python = "^4.9.0.80"
|
opencv-python = "^4.9.0.80"
|
||||||
imagehash = "^4.3.1"
|
imagehash = "^4.3.1"
|
||||||
black = "^24.4.2"
|
|
||||||
cn2an = "^0.5.22"
|
cn2an = "^0.5.22"
|
||||||
aiohttp = "^3.9.5"
|
aiohttp = "^3.9.5"
|
||||||
dateparser = "^1.2.0"
|
dateparser = "^1.2.0"
|
||||||
@ -59,6 +58,9 @@ pytest-mock = "^3.6.1"
|
|||||||
pytest-asyncio = "^0.23.5"
|
pytest-asyncio = "^0.23.5"
|
||||||
pytest-xdist = "^3.3.1"
|
pytest-xdist = "^3.3.1"
|
||||||
respx = "^0.21.1"
|
respx = "^0.21.1"
|
||||||
|
ruff = "^0.8.0"
|
||||||
|
pre-commit = "^4.0.0"
|
||||||
|
|
||||||
|
|
||||||
[tool.nonebot]
|
[tool.nonebot]
|
||||||
plugins = [
|
plugins = [
|
||||||
@ -75,31 +77,19 @@ adapters = [
|
|||||||
{ name = "开黑啦", module_name = "nonebot.adapters.kaiheila" },
|
{ name = "开黑啦", module_name = "nonebot.adapters.kaiheila" },
|
||||||
]
|
]
|
||||||
|
|
||||||
[tool.black]
|
|
||||||
line-length = 88
|
|
||||||
target-version = ["py39", "py310", "py311", "py312"]
|
|
||||||
include = '\.pyi?$'
|
|
||||||
extend-exclude = '''
|
|
||||||
'''
|
|
||||||
|
|
||||||
[tool.isort]
|
|
||||||
profile = "black"
|
|
||||||
line_length = 88
|
|
||||||
length_sort = true
|
|
||||||
skip_gitignore = true
|
|
||||||
force_sort_within_sections = true
|
|
||||||
src_paths = ["zhenxun", "tests"]
|
|
||||||
extra_standard_library = ["typing_extensions"]
|
|
||||||
|
|
||||||
[tool.ruff]
|
[tool.ruff]
|
||||||
line-length = 88
|
line-length = 88
|
||||||
target-version = "py310"
|
target-version = "py310"
|
||||||
|
|
||||||
|
[tool.ruff.format]
|
||||||
|
line-ending = "lf"
|
||||||
|
|
||||||
[tool.ruff.lint]
|
[tool.ruff.lint]
|
||||||
select = [
|
select = [
|
||||||
"F", # Pyflakes
|
"F", # Pyflakes
|
||||||
"W", # pycodestyle warnings
|
"W", # pycodestyle warnings
|
||||||
"E", # pycodestyle errors
|
"E", # pycodestyle errors
|
||||||
|
"I", # isort
|
||||||
"UP", # pyupgrade
|
"UP", # pyupgrade
|
||||||
"ASYNC", # flake8-async
|
"ASYNC", # flake8-async
|
||||||
"C4", # flake8-comprehensions
|
"C4", # flake8-comprehensions
|
||||||
@ -108,6 +98,7 @@ select = [
|
|||||||
"PYI", # flake8-pyi
|
"PYI", # flake8-pyi
|
||||||
"PT", # flake8-pytest-style
|
"PT", # flake8-pytest-style
|
||||||
"Q", # flake8-quotes
|
"Q", # flake8-quotes
|
||||||
|
"TID", # flake8-tidy-imports
|
||||||
"RUF", # Ruff-specific rules
|
"RUF", # Ruff-specific rules
|
||||||
]
|
]
|
||||||
ignore = [
|
ignore = [
|
||||||
@ -118,10 +109,18 @@ ignore = [
|
|||||||
"RUF003", # ambiguous-unicode-character-comment
|
"RUF003", # ambiguous-unicode-character-comment
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[tool.ruff.lint.isort]
|
||||||
|
force-sort-within-sections = true
|
||||||
|
known-first-party = ["zhenxun", "tests/*"]
|
||||||
|
extra-standard-library = ["typing_extensions"]
|
||||||
|
|
||||||
[tool.ruff.lint.flake8-pytest-style]
|
[tool.ruff.lint.flake8-pytest-style]
|
||||||
fixture-parentheses = false
|
fixture-parentheses = false
|
||||||
mark-parentheses = false
|
mark-parentheses = false
|
||||||
|
|
||||||
|
[tool.ruff.lint.pyupgrade]
|
||||||
|
keep-runtime-typing = true
|
||||||
|
|
||||||
[tool.pyright]
|
[tool.pyright]
|
||||||
pythonVersion = "3.10"
|
pythonVersion = "3.10"
|
||||||
pythonPlatform = "All"
|
pythonPlatform = "All"
|
||||||
|
|||||||
@ -1,18 +1,18 @@
|
|||||||
|
import asyncio
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import asyncio
|
|
||||||
|
|
||||||
import nonebot
|
import nonebot
|
||||||
from nonebot.log import logger
|
|
||||||
|
|
||||||
# from nonebot.adapters.discord import Adapter as DiscordAdapter
|
# from nonebot.adapters.discord import Adapter as DiscordAdapter
|
||||||
from nonebot.adapters.dodo import Adapter as DoDoAdapter
|
from nonebot.adapters.dodo import Adapter as DoDoAdapter
|
||||||
from nonebot.adapters.kaiheila import Adapter as KaiheilaAdapter
|
from nonebot.adapters.kaiheila import Adapter as KaiheilaAdapter
|
||||||
from nonebot.adapters.onebot.v11 import Adapter as OneBotV11Adapter
|
from nonebot.adapters.onebot.v11 import Adapter as OneBotV11Adapter
|
||||||
|
from nonebot.log import logger
|
||||||
|
|
||||||
nonebot.init()
|
nonebot.init()
|
||||||
|
|
||||||
from zhenxun.services.db_context import init, disconnect
|
from zhenxun.services.db_context import disconnect, init
|
||||||
|
|
||||||
driver = nonebot.get_driver()
|
driver = nonebot.get_driver()
|
||||||
|
|
||||||
|
|||||||
@ -1,20 +1,20 @@
|
|||||||
|
from collections.abc import Callable
|
||||||
import io
|
import io
|
||||||
import os
|
import os
|
||||||
import tarfile
|
|
||||||
import zipfile
|
|
||||||
from typing import cast
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from collections.abc import Callable
|
import tarfile
|
||||||
|
from typing import cast
|
||||||
|
import zipfile
|
||||||
|
|
||||||
from nonebug import App
|
|
||||||
from respx import MockRouter
|
|
||||||
from pytest_mock import MockerFixture
|
|
||||||
from nonebot.adapters.onebot.v11 import Bot
|
from nonebot.adapters.onebot.v11 import Bot
|
||||||
from nonebot.adapters.onebot.v11.message import Message
|
from nonebot.adapters.onebot.v11.message import Message
|
||||||
|
from nonebug import App
|
||||||
|
from pytest_mock import MockerFixture
|
||||||
|
from respx import MockRouter
|
||||||
|
|
||||||
from tests.config import BotId, UserId, GroupId, MessageId
|
from tests.config import BotId, GroupId, MessageId, UserId
|
||||||
from tests.utils import get_response_json as _get_response_json
|
|
||||||
from tests.utils import _v11_group_message_event, _v11_private_message_send
|
from tests.utils import _v11_group_message_event, _v11_private_message_send
|
||||||
|
from tests.utils import get_response_json as _get_response_json
|
||||||
|
|
||||||
|
|
||||||
def get_response_json(file: str) -> dict:
|
def get_response_json(file: str) -> dict:
|
||||||
@ -62,10 +62,10 @@ def init_mocked_api(mocked_api: MockRouter) -> None:
|
|||||||
zip_bytes = io.BytesIO()
|
zip_bytes = io.BytesIO()
|
||||||
|
|
||||||
from zhenxun.builtin_plugins.auto_update.config import (
|
from zhenxun.builtin_plugins.auto_update.config import (
|
||||||
REPLACE_FOLDERS,
|
|
||||||
REQ_TXT_FILE_STRING,
|
|
||||||
PYPROJECT_FILE_STRING,
|
PYPROJECT_FILE_STRING,
|
||||||
PYPROJECT_LOCK_FILE_STRING,
|
PYPROJECT_LOCK_FILE_STRING,
|
||||||
|
REPLACE_FOLDERS,
|
||||||
|
REQ_TXT_FILE_STRING,
|
||||||
)
|
)
|
||||||
|
|
||||||
# 指定要添加到压缩文件中的文件路径列表
|
# 指定要添加到压缩文件中的文件路径列表
|
||||||
@ -196,10 +196,10 @@ def add_directory_to_tar(tarinfo, tar):
|
|||||||
|
|
||||||
def init_mocker_path(mocker: MockerFixture, tmp_path: Path):
|
def init_mocker_path(mocker: MockerFixture, tmp_path: Path):
|
||||||
from zhenxun.builtin_plugins.auto_update.config import (
|
from zhenxun.builtin_plugins.auto_update.config import (
|
||||||
REQ_TXT_FILE_STRING,
|
|
||||||
VERSION_FILE_STRING,
|
|
||||||
PYPROJECT_FILE_STRING,
|
PYPROJECT_FILE_STRING,
|
||||||
PYPROJECT_LOCK_FILE_STRING,
|
PYPROJECT_LOCK_FILE_STRING,
|
||||||
|
REQ_TXT_FILE_STRING,
|
||||||
|
VERSION_FILE_STRING,
|
||||||
)
|
)
|
||||||
|
|
||||||
mocker.patch(
|
mocker.patch(
|
||||||
@ -268,10 +268,10 @@ async def test_check_update_release(
|
|||||||
"""
|
"""
|
||||||
from zhenxun.builtin_plugins.auto_update import _matcher
|
from zhenxun.builtin_plugins.auto_update import _matcher
|
||||||
from zhenxun.builtin_plugins.auto_update.config import (
|
from zhenxun.builtin_plugins.auto_update.config import (
|
||||||
REPLACE_FOLDERS,
|
|
||||||
REQ_TXT_FILE_STRING,
|
|
||||||
PYPROJECT_FILE_STRING,
|
PYPROJECT_FILE_STRING,
|
||||||
PYPROJECT_LOCK_FILE_STRING,
|
PYPROJECT_LOCK_FILE_STRING,
|
||||||
|
REPLACE_FOLDERS,
|
||||||
|
REQ_TXT_FILE_STRING,
|
||||||
)
|
)
|
||||||
|
|
||||||
init_mocked_api(mocked_api=mocked_api)
|
init_mocked_api(mocked_api=mocked_api)
|
||||||
@ -359,10 +359,10 @@ async def test_check_update_dev(
|
|||||||
"""
|
"""
|
||||||
from zhenxun.builtin_plugins.auto_update import _matcher
|
from zhenxun.builtin_plugins.auto_update import _matcher
|
||||||
from zhenxun.builtin_plugins.auto_update.config import (
|
from zhenxun.builtin_plugins.auto_update.config import (
|
||||||
REPLACE_FOLDERS,
|
|
||||||
REQ_TXT_FILE_STRING,
|
|
||||||
PYPROJECT_FILE_STRING,
|
PYPROJECT_FILE_STRING,
|
||||||
PYPROJECT_LOCK_FILE_STRING,
|
PYPROJECT_LOCK_FILE_STRING,
|
||||||
|
REPLACE_FOLDERS,
|
||||||
|
REQ_TXT_FILE_STRING,
|
||||||
)
|
)
|
||||||
|
|
||||||
init_mocked_api(mocked_api=mocked_api)
|
init_mocked_api(mocked_api=mocked_api)
|
||||||
@ -450,10 +450,10 @@ async def test_check_update_main(
|
|||||||
"""
|
"""
|
||||||
from zhenxun.builtin_plugins.auto_update import _matcher
|
from zhenxun.builtin_plugins.auto_update import _matcher
|
||||||
from zhenxun.builtin_plugins.auto_update.config import (
|
from zhenxun.builtin_plugins.auto_update.config import (
|
||||||
REPLACE_FOLDERS,
|
|
||||||
REQ_TXT_FILE_STRING,
|
|
||||||
PYPROJECT_FILE_STRING,
|
PYPROJECT_FILE_STRING,
|
||||||
PYPROJECT_LOCK_FILE_STRING,
|
PYPROJECT_LOCK_FILE_STRING,
|
||||||
|
REPLACE_FOLDERS,
|
||||||
|
REQ_TXT_FILE_STRING,
|
||||||
)
|
)
|
||||||
|
|
||||||
init_mocked_api(mocked_api=mocked_api)
|
init_mocked_api(mocked_api=mocked_api)
|
||||||
|
|||||||
@ -1,17 +1,17 @@
|
|||||||
|
from collections.abc import Callable
|
||||||
|
from pathlib import Path
|
||||||
import platform
|
import platform
|
||||||
from typing import cast
|
from typing import cast
|
||||||
from pathlib import Path
|
|
||||||
from collections.abc import Callable
|
|
||||||
|
|
||||||
import nonebot
|
import nonebot
|
||||||
from nonebug import App
|
|
||||||
from respx import MockRouter
|
|
||||||
from pytest_mock import MockerFixture
|
|
||||||
from nonebot.adapters.onebot.v11 import Bot
|
from nonebot.adapters.onebot.v11 import Bot
|
||||||
from nonebot.adapters.onebot.v11.event import GroupMessageEvent
|
from nonebot.adapters.onebot.v11.event import GroupMessageEvent
|
||||||
|
from nonebug import App
|
||||||
|
from pytest_mock import MockerFixture
|
||||||
|
from respx import MockRouter
|
||||||
|
|
||||||
|
from tests.config import BotId, GroupId, MessageId, UserId
|
||||||
from tests.utils import _v11_group_message_event
|
from tests.utils import _v11_group_message_event
|
||||||
from tests.config import BotId, UserId, GroupId, MessageId
|
|
||||||
|
|
||||||
platform_uname = platform.uname_result(
|
platform_uname = platform.uname_result(
|
||||||
system="Linux",
|
system="Linux",
|
||||||
@ -67,9 +67,9 @@ async def test_check(
|
|||||||
"""
|
"""
|
||||||
测试自检
|
测试自检
|
||||||
"""
|
"""
|
||||||
from zhenxun.configs.config import BotConfig
|
|
||||||
from zhenxun.builtin_plugins.check import _matcher
|
from zhenxun.builtin_plugins.check import _matcher
|
||||||
from zhenxun.builtin_plugins.check.data_source import __get_version
|
from zhenxun.builtin_plugins.check.data_source import __get_version
|
||||||
|
from zhenxun.configs.config import BotConfig
|
||||||
|
|
||||||
(
|
(
|
||||||
mock_psutil,
|
mock_psutil,
|
||||||
@ -137,9 +137,9 @@ async def test_check_arm(
|
|||||||
"""
|
"""
|
||||||
测试自检(arm)
|
测试自检(arm)
|
||||||
"""
|
"""
|
||||||
from zhenxun.configs.config import BotConfig
|
|
||||||
from zhenxun.builtin_plugins.check import _matcher
|
from zhenxun.builtin_plugins.check import _matcher
|
||||||
from zhenxun.builtin_plugins.check.data_source import __get_version
|
from zhenxun.builtin_plugins.check.data_source import __get_version
|
||||||
|
from zhenxun.configs.config import BotConfig
|
||||||
|
|
||||||
platform_uname_arm = platform.uname_result(
|
platform_uname_arm = platform.uname_result(
|
||||||
system="Linux",
|
system="Linux",
|
||||||
|
|||||||
@ -1,18 +1,18 @@
|
|||||||
from typing import cast
|
|
||||||
from pathlib import Path
|
|
||||||
from collections.abc import Callable
|
from collections.abc import Callable
|
||||||
|
from pathlib import Path
|
||||||
|
from typing import cast
|
||||||
|
|
||||||
import pytest
|
|
||||||
from nonebug import App
|
|
||||||
from respx import MockRouter
|
|
||||||
from pytest_mock import MockerFixture
|
|
||||||
from nonebot.adapters.onebot.v11 import Bot
|
from nonebot.adapters.onebot.v11 import Bot
|
||||||
from nonebot.adapters.onebot.v11.message import Message
|
|
||||||
from nonebot.adapters.onebot.v11.event import GroupMessageEvent
|
from nonebot.adapters.onebot.v11.event import GroupMessageEvent
|
||||||
|
from nonebot.adapters.onebot.v11.message import Message
|
||||||
|
from nonebug import App
|
||||||
|
import pytest
|
||||||
|
from pytest_mock import MockerFixture
|
||||||
|
from respx import MockRouter
|
||||||
|
|
||||||
from tests.utils import _v11_group_message_event
|
|
||||||
from tests.config import BotId, UserId, GroupId, MessageId
|
|
||||||
from tests.builtin_plugins.plugin_store.utils import init_mocked_api
|
from tests.builtin_plugins.plugin_store.utils import init_mocked_api
|
||||||
|
from tests.config import BotId, GroupId, MessageId, UserId
|
||||||
|
from tests.utils import _v11_group_message_event
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize("package_api", ["jsd", "gh"])
|
@pytest.mark.parametrize("package_api", ["jsd", "gh"])
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
from typing import cast
|
|
||||||
from pathlib import Path
|
|
||||||
from collections.abc import Callable
|
from collections.abc import Callable
|
||||||
|
from pathlib import Path
|
||||||
|
from typing import cast
|
||||||
|
|
||||||
from nonebug import App
|
|
||||||
from respx import MockRouter
|
|
||||||
from pytest_mock import MockerFixture
|
|
||||||
from nonebot.adapters.onebot.v11 import Bot, Message
|
from nonebot.adapters.onebot.v11 import Bot, Message
|
||||||
from nonebot.adapters.onebot.v11.event import GroupMessageEvent
|
from nonebot.adapters.onebot.v11.event import GroupMessageEvent
|
||||||
|
from nonebug import App
|
||||||
|
from pytest_mock import MockerFixture
|
||||||
|
from respx import MockRouter
|
||||||
|
|
||||||
from tests.utils import _v11_group_message_event
|
|
||||||
from tests.config import BotId, UserId, GroupId, MessageId
|
|
||||||
from tests.builtin_plugins.plugin_store.utils import init_mocked_api
|
from tests.builtin_plugins.plugin_store.utils import init_mocked_api
|
||||||
|
from tests.config import BotId, GroupId, MessageId, UserId
|
||||||
|
from tests.utils import _v11_group_message_event
|
||||||
|
|
||||||
|
|
||||||
async def test_plugin_store(
|
async def test_plugin_store(
|
||||||
|
|||||||
@ -1,19 +1,19 @@
|
|||||||
# ruff: noqa: ASYNC230
|
# ruff: noqa: ASYNC230
|
||||||
|
|
||||||
from typing import cast
|
|
||||||
from pathlib import Path
|
|
||||||
from collections.abc import Callable
|
from collections.abc import Callable
|
||||||
|
from pathlib import Path
|
||||||
|
from typing import cast
|
||||||
|
|
||||||
from nonebug import App
|
|
||||||
from respx import MockRouter
|
|
||||||
from pytest_mock import MockerFixture
|
|
||||||
from nonebot.adapters.onebot.v11 import Bot
|
from nonebot.adapters.onebot.v11 import Bot
|
||||||
from nonebot.adapters.onebot.v11.message import Message
|
|
||||||
from nonebot.adapters.onebot.v11.event import GroupMessageEvent
|
from nonebot.adapters.onebot.v11.event import GroupMessageEvent
|
||||||
|
from nonebot.adapters.onebot.v11.message import Message
|
||||||
|
from nonebug import App
|
||||||
|
from pytest_mock import MockerFixture
|
||||||
|
from respx import MockRouter
|
||||||
|
|
||||||
|
from tests.builtin_plugins.plugin_store.utils import get_content_bytes, init_mocked_api
|
||||||
|
from tests.config import BotId, GroupId, MessageId, UserId
|
||||||
from tests.utils import _v11_group_message_event
|
from tests.utils import _v11_group_message_event
|
||||||
from tests.config import BotId, UserId, GroupId, MessageId
|
|
||||||
from tests.builtin_plugins.plugin_store.utils import init_mocked_api, get_content_bytes
|
|
||||||
|
|
||||||
|
|
||||||
async def test_remove_plugin(
|
async def test_remove_plugin(
|
||||||
|
|||||||
@ -1,17 +1,17 @@
|
|||||||
from typing import cast
|
|
||||||
from pathlib import Path
|
|
||||||
from collections.abc import Callable
|
from collections.abc import Callable
|
||||||
|
from pathlib import Path
|
||||||
|
from typing import cast
|
||||||
|
|
||||||
from nonebug import App
|
|
||||||
from respx import MockRouter
|
|
||||||
from pytest_mock import MockerFixture
|
|
||||||
from nonebot.adapters.onebot.v11 import Bot
|
from nonebot.adapters.onebot.v11 import Bot
|
||||||
from nonebot.adapters.onebot.v11.message import Message
|
|
||||||
from nonebot.adapters.onebot.v11.event import GroupMessageEvent
|
from nonebot.adapters.onebot.v11.event import GroupMessageEvent
|
||||||
|
from nonebot.adapters.onebot.v11.message import Message
|
||||||
|
from nonebug import App
|
||||||
|
from pytest_mock import MockerFixture
|
||||||
|
from respx import MockRouter
|
||||||
|
|
||||||
from tests.utils import _v11_group_message_event
|
|
||||||
from tests.config import BotId, UserId, GroupId, MessageId
|
|
||||||
from tests.builtin_plugins.plugin_store.utils import init_mocked_api
|
from tests.builtin_plugins.plugin_store.utils import init_mocked_api
|
||||||
|
from tests.config import BotId, GroupId, MessageId, UserId
|
||||||
|
from tests.utils import _v11_group_message_event
|
||||||
|
|
||||||
|
|
||||||
async def test_search_plugin_name(
|
async def test_search_plugin_name(
|
||||||
|
|||||||
@ -1,17 +1,17 @@
|
|||||||
from typing import cast
|
|
||||||
from pathlib import Path
|
|
||||||
from collections.abc import Callable
|
from collections.abc import Callable
|
||||||
|
from pathlib import Path
|
||||||
|
from typing import cast
|
||||||
|
|
||||||
from nonebug import App
|
|
||||||
from respx import MockRouter
|
|
||||||
from pytest_mock import MockerFixture
|
|
||||||
from nonebot.adapters.onebot.v11 import Bot
|
from nonebot.adapters.onebot.v11 import Bot
|
||||||
from nonebot.adapters.onebot.v11.message import Message
|
|
||||||
from nonebot.adapters.onebot.v11.event import GroupMessageEvent
|
from nonebot.adapters.onebot.v11.event import GroupMessageEvent
|
||||||
|
from nonebot.adapters.onebot.v11.message import Message
|
||||||
|
from nonebug import App
|
||||||
|
from pytest_mock import MockerFixture
|
||||||
|
from respx import MockRouter
|
||||||
|
|
||||||
from tests.utils import _v11_group_message_event
|
|
||||||
from tests.config import BotId, UserId, GroupId, MessageId
|
|
||||||
from tests.builtin_plugins.plugin_store.utils import init_mocked_api
|
from tests.builtin_plugins.plugin_store.utils import init_mocked_api
|
||||||
|
from tests.config import BotId, GroupId, MessageId, UserId
|
||||||
|
from tests.utils import _v11_group_message_event
|
||||||
|
|
||||||
|
|
||||||
async def test_update_all_plugin_basic_need_update(
|
async def test_update_all_plugin_basic_need_update(
|
||||||
@ -36,7 +36,6 @@ async def test_update_all_plugin_basic_need_update(
|
|||||||
return_value=[("search_image", "0.0")],
|
return_value=[("search_image", "0.0")],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async with app.test_matcher(_matcher) as ctx:
|
async with app.test_matcher(_matcher) as ctx:
|
||||||
bot = create_bot(ctx)
|
bot = create_bot(ctx)
|
||||||
bot: Bot = cast(Bot, bot)
|
bot: Bot = cast(Bot, bot)
|
||||||
@ -90,7 +89,6 @@ async def test_update_all_plugin_basic_is_new(
|
|||||||
return_value=[("search_image", "0.1")],
|
return_value=[("search_image", "0.1")],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async with app.test_matcher(_matcher) as ctx:
|
async with app.test_matcher(_matcher) as ctx:
|
||||||
bot = create_bot(ctx)
|
bot = create_bot(ctx)
|
||||||
bot: Bot = cast(Bot, bot)
|
bot: Bot = cast(Bot, bot)
|
||||||
|
|||||||
@ -1,17 +1,17 @@
|
|||||||
from typing import cast
|
|
||||||
from pathlib import Path
|
|
||||||
from collections.abc import Callable
|
from collections.abc import Callable
|
||||||
|
from pathlib import Path
|
||||||
|
from typing import cast
|
||||||
|
|
||||||
from nonebug import App
|
|
||||||
from respx import MockRouter
|
|
||||||
from pytest_mock import MockerFixture
|
|
||||||
from nonebot.adapters.onebot.v11 import Bot
|
from nonebot.adapters.onebot.v11 import Bot
|
||||||
from nonebot.adapters.onebot.v11.message import Message
|
|
||||||
from nonebot.adapters.onebot.v11.event import GroupMessageEvent
|
from nonebot.adapters.onebot.v11.event import GroupMessageEvent
|
||||||
|
from nonebot.adapters.onebot.v11.message import Message
|
||||||
|
from nonebug import App
|
||||||
|
from pytest_mock import MockerFixture
|
||||||
|
from respx import MockRouter
|
||||||
|
|
||||||
from tests.utils import _v11_group_message_event
|
|
||||||
from tests.config import BotId, UserId, GroupId, MessageId
|
|
||||||
from tests.builtin_plugins.plugin_store.utils import init_mocked_api
|
from tests.builtin_plugins.plugin_store.utils import init_mocked_api
|
||||||
|
from tests.config import BotId, GroupId, MessageId, UserId
|
||||||
|
from tests.utils import _v11_group_message_event
|
||||||
|
|
||||||
|
|
||||||
async def test_update_plugin_basic_need_update(
|
async def test_update_plugin_basic_need_update(
|
||||||
|
|||||||
@ -1,15 +1,15 @@
|
|||||||
import os
|
|
||||||
import json
|
|
||||||
from pathlib import Path
|
|
||||||
from collections.abc import Callable
|
from collections.abc import Callable
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
import pytest
|
|
||||||
import nonebot
|
import nonebot
|
||||||
from nonebug.app import App
|
|
||||||
from respx import MockRouter
|
|
||||||
from pytest_mock import MockerFixture
|
|
||||||
from nonebug import NONEBOT_INIT_KWARGS
|
from nonebug import NONEBOT_INIT_KWARGS
|
||||||
|
from nonebug.app import App
|
||||||
from nonebug.mixin.process import MatcherContext
|
from nonebug.mixin.process import MatcherContext
|
||||||
|
import pytest
|
||||||
|
from pytest_mock import MockerFixture
|
||||||
|
from respx import MockRouter
|
||||||
|
|
||||||
from tests.config import BotId, UserId
|
from tests.config import BotId, UserId
|
||||||
|
|
||||||
@ -61,7 +61,7 @@ def _init_bot(nonebug_init: None):
|
|||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
async def app(app: App, tmp_path: Path, mocker: MockerFixture):
|
async def app(app: App, tmp_path: Path, mocker: MockerFixture):
|
||||||
from zhenxun.services.db_context import init, disconnect
|
from zhenxun.services.db_context import disconnect, init
|
||||||
|
|
||||||
driver = nonebot.get_driver()
|
driver = nonebot.get_driver()
|
||||||
# 清除连接钩子,现在 NoneBug 会自动触发 on_bot_connect
|
# 清除连接钩子,现在 NoneBug 会自动触发 on_bot_connect
|
||||||
@ -89,7 +89,7 @@ async def app(app: App, tmp_path: Path, mocker: MockerFixture):
|
|||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def create_bot() -> Callable:
|
def create_bot() -> Callable:
|
||||||
from nonebot.adapters.onebot.v11 import Bot, Adapter
|
from nonebot.adapters.onebot.v11 import Adapter, Bot
|
||||||
|
|
||||||
def _create_bot(context: MatcherContext) -> Bot:
|
def _create_bot(context: MatcherContext) -> Bot:
|
||||||
return context.create_bot(
|
return context.create_bot(
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
import json
|
import json
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
|
from nonebot.adapters.onebot.v11 import GroupMessageEvent, Message, MessageSegment
|
||||||
from nonebot.adapters.onebot.v11.event import Sender
|
from nonebot.adapters.onebot.v11.event import Sender
|
||||||
from nonebot.adapters.onebot.v11 import Message, MessageSegment, GroupMessageEvent
|
|
||||||
|
|
||||||
|
|
||||||
def get_response_json(base_path: Path, file: str) -> dict:
|
def get_response_json(base_path: Path, file: str) -> dict:
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
import uuid
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
import uuid
|
||||||
|
|
||||||
import nonebot
|
import nonebot
|
||||||
import ujson as json
|
|
||||||
from nonebot import require
|
from nonebot import require
|
||||||
from tortoise import Tortoise
|
|
||||||
from nonebot.adapters import Bot
|
from nonebot.adapters import Bot
|
||||||
from nonebot.drivers import Driver
|
from nonebot.drivers import Driver
|
||||||
|
from tortoise import Tortoise
|
||||||
from tortoise.exceptions import OperationalError
|
from tortoise.exceptions import OperationalError
|
||||||
|
import ujson as json
|
||||||
|
|
||||||
require("nonebot_plugin_apscheduler")
|
require("nonebot_plugin_apscheduler")
|
||||||
require("nonebot_plugin_alconna")
|
require("nonebot_plugin_alconna")
|
||||||
@ -16,15 +16,15 @@ require("nonebot_plugin_userinfo")
|
|||||||
require("nonebot_plugin_htmlrender")
|
require("nonebot_plugin_htmlrender")
|
||||||
# require("nonebot_plugin_uninfo")
|
# require("nonebot_plugin_uninfo")
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
|
||||||
from zhenxun.models.sign_user import SignUser
|
|
||||||
from zhenxun.models.goods_info import GoodsInfo
|
|
||||||
from zhenxun.utils.platform import PlatformUtils
|
|
||||||
from zhenxun.models.bot_console import BotConsole
|
|
||||||
from zhenxun.models.user_console import UserConsole
|
|
||||||
from zhenxun.utils.decorator.shop import shop_register
|
|
||||||
from zhenxun.models.bot_connect_log import BotConnectLog
|
from zhenxun.models.bot_connect_log import BotConnectLog
|
||||||
|
from zhenxun.models.bot_console import BotConsole
|
||||||
|
from zhenxun.models.goods_info import GoodsInfo
|
||||||
from zhenxun.models.group_member_info import GroupInfoUser
|
from zhenxun.models.group_member_info import GroupInfoUser
|
||||||
|
from zhenxun.models.sign_user import SignUser
|
||||||
|
from zhenxun.models.user_console import UserConsole
|
||||||
|
from zhenxun.services.log import logger
|
||||||
|
from zhenxun.utils.decorator.shop import shop_register
|
||||||
|
from zhenxun.utils.platform import PlatformUtils
|
||||||
|
|
||||||
driver: Driver = nonebot.get_driver()
|
driver: Driver = nonebot.get_driver()
|
||||||
|
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
import aiofiles
|
import aiofiles
|
||||||
from nonebot.rule import to_me
|
|
||||||
from nonebot_plugin_uninfo import Uninfo
|
|
||||||
from nonebot.plugin import PluginMetadata
|
from nonebot.plugin import PluginMetadata
|
||||||
|
from nonebot.rule import to_me
|
||||||
from nonebot_plugin_alconna import Alconna, Arparma, on_alconna
|
from nonebot_plugin_alconna import Alconna, Arparma, on_alconna
|
||||||
|
from nonebot_plugin_uninfo import Uninfo
|
||||||
|
|
||||||
|
from zhenxun.configs.path_config import DATA_PATH
|
||||||
|
from zhenxun.configs.utils import PluginExtraData
|
||||||
from zhenxun.services.log import logger
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.message import MessageUtils
|
from zhenxun.utils.message import MessageUtils
|
||||||
from zhenxun.utils.platform import PlatformUtils
|
from zhenxun.utils.platform import PlatformUtils
|
||||||
from zhenxun.configs.path_config import DATA_PATH
|
|
||||||
from zhenxun.configs.utils import PluginExtraData
|
|
||||||
|
|
||||||
__plugin_meta__ = PluginMetadata(
|
__plugin_meta__ = PluginMetadata(
|
||||||
name="关于",
|
name="关于",
|
||||||
|
|||||||
@ -1,18 +1,18 @@
|
|||||||
from nonebot.plugin import PluginMetadata
|
from nonebot.plugin import PluginMetadata
|
||||||
from nonebot_plugin_session import EventSession
|
|
||||||
from nonebot_plugin_alconna import Alconna, Arparma, on_alconna
|
from nonebot_plugin_alconna import Alconna, Arparma, on_alconna
|
||||||
|
from nonebot_plugin_session import EventSession
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
|
||||||
from zhenxun.configs.config import Config
|
from zhenxun.configs.config import Config
|
||||||
|
from zhenxun.configs.utils import PluginExtraData, RegisterConfig
|
||||||
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.enum import PluginType
|
from zhenxun.utils.enum import PluginType
|
||||||
from zhenxun.utils.exception import EmptyError
|
from zhenxun.utils.exception import EmptyError
|
||||||
from zhenxun.utils.message import MessageUtils
|
from zhenxun.utils.message import MessageUtils
|
||||||
from zhenxun.utils.rules import admin_check, ensure_group
|
from zhenxun.utils.rules import admin_check, ensure_group
|
||||||
from zhenxun.configs.utils import RegisterConfig, PluginExtraData
|
|
||||||
|
|
||||||
from .normal_help import build_help
|
|
||||||
from .config import ADMIN_HELP_IMAGE
|
from .config import ADMIN_HELP_IMAGE
|
||||||
from .html_help import build_html_help
|
from .html_help import build_html_help
|
||||||
|
from .normal_help import build_help
|
||||||
|
|
||||||
__plugin_meta__ = PluginMetadata(
|
__plugin_meta__ = PluginMetadata(
|
||||||
name="群组管理员帮助",
|
name="群组管理员帮助",
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
from pydantic import BaseModel
|
|
||||||
from nonebot.plugin import PluginMetadata
|
from nonebot.plugin import PluginMetadata
|
||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
from zhenxun.models.plugin_info import PluginInfo
|
|
||||||
from zhenxun.configs.path_config import IMAGE_PATH
|
from zhenxun.configs.path_config import IMAGE_PATH
|
||||||
|
from zhenxun.models.plugin_info import PluginInfo
|
||||||
|
|
||||||
ADMIN_HELP_IMAGE = IMAGE_PATH / "ADMIN_HELP.png"
|
ADMIN_HELP_IMAGE = IMAGE_PATH / "ADMIN_HELP.png"
|
||||||
if ADMIN_HELP_IMAGE.exists():
|
if ADMIN_HELP_IMAGE.exists():
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
from nonebot_plugin_htmlrender import template_to_pic
|
from nonebot_plugin_htmlrender import template_to_pic
|
||||||
|
|
||||||
|
from zhenxun.builtin_plugins.admin.admin_help.config import ADMIN_HELP_IMAGE
|
||||||
from zhenxun.configs.config import BotConfig
|
from zhenxun.configs.config import BotConfig
|
||||||
|
from zhenxun.configs.path_config import TEMPLATE_PATH
|
||||||
from zhenxun.models.task_info import TaskInfo
|
from zhenxun.models.task_info import TaskInfo
|
||||||
from zhenxun.utils._build_image import BuildImage
|
from zhenxun.utils._build_image import BuildImage
|
||||||
from zhenxun.configs.path_config import TEMPLATE_PATH
|
|
||||||
from zhenxun.builtin_plugins.admin.admin_help.config import ADMIN_HELP_IMAGE
|
|
||||||
|
|
||||||
from .utils import get_plugins
|
from .utils import get_plugins
|
||||||
|
|
||||||
|
|||||||
@ -1,14 +1,14 @@
|
|||||||
from PIL.ImageFont import FreeTypeFont
|
|
||||||
from nonebot.plugin import PluginMetadata
|
from nonebot.plugin import PluginMetadata
|
||||||
|
from PIL.ImageFont import FreeTypeFont
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
|
||||||
from zhenxun.models.task_info import TaskInfo
|
|
||||||
from zhenxun.models.plugin_info import PluginInfo
|
from zhenxun.models.plugin_info import PluginInfo
|
||||||
|
from zhenxun.models.task_info import TaskInfo
|
||||||
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils._build_image import BuildImage
|
from zhenxun.utils._build_image import BuildImage
|
||||||
from zhenxun.utils.image_utils import text2image, group_image, build_sort_image
|
from zhenxun.utils.image_utils import build_sort_image, group_image, text2image
|
||||||
|
|
||||||
from .utils import get_plugins
|
|
||||||
from .config import ADMIN_HELP_IMAGE
|
from .config import ADMIN_HELP_IMAGE
|
||||||
|
from .utils import get_plugins
|
||||||
|
|
||||||
|
|
||||||
async def build_usage_des_image(
|
async def build_usage_des_image(
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
import nonebot
|
import nonebot
|
||||||
|
|
||||||
|
from zhenxun.models.plugin_info import PluginInfo
|
||||||
from zhenxun.utils.enum import PluginType
|
from zhenxun.utils.enum import PluginType
|
||||||
from zhenxun.utils.exception import EmptyError
|
from zhenxun.utils.exception import EmptyError
|
||||||
from zhenxun.models.plugin_info import PluginInfo
|
|
||||||
|
|
||||||
from .config import PluginData
|
from .config import PluginData
|
||||||
|
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
from nonebot import on_notice
|
from nonebot import on_notice
|
||||||
from nonebot.plugin import PluginMetadata
|
|
||||||
from nonebot.adapters.onebot.v11 import GroupAdminNoticeEvent
|
from nonebot.adapters.onebot.v11 import GroupAdminNoticeEvent
|
||||||
|
from nonebot.plugin import PluginMetadata
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
|
||||||
from zhenxun.configs.config import Config
|
from zhenxun.configs.config import Config
|
||||||
|
from zhenxun.configs.utils import PluginExtraData, RegisterConfig
|
||||||
|
from zhenxun.models.level_user import LevelUser
|
||||||
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.enum import PluginType
|
from zhenxun.utils.enum import PluginType
|
||||||
from zhenxun.utils.rules import notice_rule
|
from zhenxun.utils.rules import notice_rule
|
||||||
from zhenxun.models.level_user import LevelUser
|
|
||||||
from zhenxun.configs.utils import RegisterConfig, PluginExtraData
|
|
||||||
|
|
||||||
__plugin_meta__ = PluginMetadata(
|
__plugin_meta__ = PluginMetadata(
|
||||||
name="群管理员变动监测",
|
name="群管理员变动监测",
|
||||||
|
|||||||
@ -2,23 +2,23 @@ from arclet.alconna import Args
|
|||||||
from nonebot.adapters import Bot
|
from nonebot.adapters import Bot
|
||||||
from nonebot.permission import SUPERUSER
|
from nonebot.permission import SUPERUSER
|
||||||
from nonebot.plugin import PluginMetadata
|
from nonebot.plugin import PluginMetadata
|
||||||
from nonebot_plugin_session import EventSession
|
|
||||||
from nonebot_plugin_alconna import (
|
from nonebot_plugin_alconna import (
|
||||||
|
Alconna,
|
||||||
|
Arparma,
|
||||||
At,
|
At,
|
||||||
Match,
|
Match,
|
||||||
Option,
|
Option,
|
||||||
Alconna,
|
|
||||||
Arparma,
|
|
||||||
on_alconna,
|
on_alconna,
|
||||||
store_true,
|
store_true,
|
||||||
)
|
)
|
||||||
|
from nonebot_plugin_session import EventSession
|
||||||
|
|
||||||
|
from zhenxun.configs.config import BotConfig, Config
|
||||||
|
from zhenxun.configs.utils import PluginExtraData, RegisterConfig
|
||||||
from zhenxun.services.log import logger
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.enum import PluginType
|
from zhenxun.utils.enum import PluginType
|
||||||
from zhenxun.utils.rules import admin_check
|
|
||||||
from zhenxun.utils.message import MessageUtils
|
from zhenxun.utils.message import MessageUtils
|
||||||
from zhenxun.configs.config import Config, BotConfig
|
from zhenxun.utils.rules import admin_check
|
||||||
from zhenxun.configs.utils import RegisterConfig, PluginExtraData
|
|
||||||
|
|
||||||
from ._data_source import BanManage
|
from ._data_source import BanManage
|
||||||
|
|
||||||
@ -175,10 +175,8 @@ async def _(
|
|||||||
_duration = duration.result * 60 if duration.available else -1
|
_duration = duration.result * 60 if duration.available else -1
|
||||||
_duration_text = f"{duration.result} 分钟" if duration.available else " 到世界湮灭"
|
_duration_text = f"{duration.result} 分钟" if duration.available else " 到世界湮灭"
|
||||||
if (gid := session.id3 or session.id2) and not group_id.available:
|
if (gid := session.id3 or session.id2) and not group_id.available:
|
||||||
if (
|
if not user_id or (
|
||||||
not user_id
|
user_id == bot.self_id and session.id1 not in bot.config.superusers
|
||||||
or user_id == bot.self_id
|
|
||||||
and session.id1 not in bot.config.superusers
|
|
||||||
):
|
):
|
||||||
_duration = 0.5
|
_duration = 0.5
|
||||||
await MessageUtils.build_message("倒反天罡,小小管理速速退下!").send()
|
await MessageUtils.build_message("倒反天罡,小小管理速速退下!").send()
|
||||||
|
|||||||
@ -3,8 +3,8 @@ from typing import Literal
|
|||||||
|
|
||||||
from nonebot_plugin_session import EventSession
|
from nonebot_plugin_session import EventSession
|
||||||
|
|
||||||
from zhenxun.models.level_user import LevelUser
|
|
||||||
from zhenxun.models.ban_console import BanConsole
|
from zhenxun.models.ban_console import BanConsole
|
||||||
|
from zhenxun.models.level_user import LevelUser
|
||||||
from zhenxun.utils.image_utils import BuildImage, ImageTemplate
|
from zhenxun.utils.image_utils import BuildImage, ImageTemplate
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,19 +1,19 @@
|
|||||||
import nonebot
|
import nonebot
|
||||||
from nonebot import on_notice
|
from nonebot import on_notice
|
||||||
from nonebot.adapters import Bot
|
from nonebot.adapters import Bot
|
||||||
from nonebot.plugin import PluginMetadata
|
|
||||||
from nonebot_plugin_session import EventSession
|
|
||||||
from nonebot_plugin_apscheduler import scheduler
|
|
||||||
from nonebot_plugin_alconna import Alconna, Arparma, on_alconna
|
|
||||||
from nonebot.adapters.onebot.v11 import GroupIncreaseNoticeEvent
|
from nonebot.adapters.onebot.v11 import GroupIncreaseNoticeEvent
|
||||||
|
from nonebot.plugin import PluginMetadata
|
||||||
|
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 BotConfig
|
||||||
|
from zhenxun.configs.utils import PluginExtraData
|
||||||
from zhenxun.services.log import logger
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.enum import PluginType
|
from zhenxun.utils.enum import PluginType
|
||||||
from zhenxun.configs.config import BotConfig
|
|
||||||
from zhenxun.utils.message import MessageUtils
|
from zhenxun.utils.message import MessageUtils
|
||||||
from zhenxun.utils.platform import PlatformUtils
|
from zhenxun.utils.platform import PlatformUtils
|
||||||
from zhenxun.configs.utils import PluginExtraData
|
from zhenxun.utils.rules import admin_check, ensure_group, notice_rule
|
||||||
from zhenxun.utils.rules import admin_check, notice_rule, ensure_group
|
|
||||||
|
|
||||||
from ._data_source import MemberUpdateManage
|
from ._data_source import MemberUpdateManage
|
||||||
|
|
||||||
|
|||||||
@ -4,11 +4,11 @@ import nonebot
|
|||||||
from nonebot.adapters import Bot
|
from nonebot.adapters import Bot
|
||||||
from nonebot_plugin_uninfo import Member, SceneType, get_interface
|
from nonebot_plugin_uninfo import Member, SceneType, get_interface
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
|
||||||
from zhenxun.configs.config import Config
|
from zhenxun.configs.config import Config
|
||||||
from zhenxun.models.level_user import LevelUser
|
|
||||||
from zhenxun.utils.platform import PlatformUtils
|
|
||||||
from zhenxun.models.group_member_info import GroupInfoUser
|
from zhenxun.models.group_member_info import GroupInfoUser
|
||||||
|
from zhenxun.models.level_user import LevelUser
|
||||||
|
from zhenxun.services.log import logger
|
||||||
|
from zhenxun.utils.platform import PlatformUtils
|
||||||
|
|
||||||
|
|
||||||
class MemberUpdateManage:
|
class MemberUpdateManage:
|
||||||
|
|||||||
@ -41,5 +41,5 @@ async def _(bot: Bot, session: EventSession, arparma: Arparma):
|
|||||||
try:
|
try:
|
||||||
await PlatformUtils.update_group(bot)
|
await PlatformUtils.update_group(bot)
|
||||||
await MessageUtils.build_message("已经成功更新了群组信息!").send(reply_to=True)
|
await MessageUtils.build_message("已经成功更新了群组信息!").send(reply_to=True)
|
||||||
except Exception as e:
|
except Exception:
|
||||||
await MessageUtils.build_message("更新群组信息失败!").finish(reply_to=True)
|
await MessageUtils.build_message("更新群组信息失败!").finish(reply_to=True)
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
from nonebot.adapters import Bot
|
from nonebot.adapters import Bot
|
||||||
from nonebot.plugin import PluginMetadata
|
from nonebot.plugin import PluginMetadata
|
||||||
|
from nonebot_plugin_alconna import AlconnaQuery, Arparma, Match, Query
|
||||||
from nonebot_plugin_session import EventSession
|
from nonebot_plugin_session import EventSession
|
||||||
from nonebot_plugin_alconna import Match, Query, Arparma, AlconnaQuery
|
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
|
||||||
from zhenxun.configs.config import Config
|
from zhenxun.configs.config import Config
|
||||||
from zhenxun.utils.message import MessageUtils
|
from zhenxun.configs.utils import PluginExtraData, RegisterConfig
|
||||||
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.enum import BlockType, PluginType
|
from zhenxun.utils.enum import BlockType, PluginType
|
||||||
from zhenxun.configs.utils import RegisterConfig, PluginExtraData
|
from zhenxun.utils.message import MessageUtils
|
||||||
|
|
||||||
from .command import _status_matcher, _group_status_matcher
|
from ._data_source import PluginManage, build_plugin, build_task, delete_help_image
|
||||||
from ._data_source import PluginManage, build_task, build_plugin, delete_help_image
|
from .command import _group_status_matcher, _status_matcher
|
||||||
|
|
||||||
base_config = Config.get("plugin_switch")
|
base_config = Config.get("plugin_switch")
|
||||||
|
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
from zhenxun.models.task_info import TaskInfo
|
|
||||||
from zhenxun.models.plugin_info import PluginInfo
|
|
||||||
from zhenxun.utils.enum import BlockType, PluginType
|
|
||||||
from zhenxun.models.group_console import GroupConsole
|
|
||||||
from zhenxun.utils.exception import GroupInfoNotFound
|
|
||||||
from zhenxun.configs.path_config import DATA_PATH, IMAGE_PATH
|
from zhenxun.configs.path_config import DATA_PATH, IMAGE_PATH
|
||||||
from zhenxun.utils.image_utils import RowStyle, BuildImage, ImageTemplate
|
from zhenxun.models.group_console import GroupConsole
|
||||||
|
from zhenxun.models.plugin_info import PluginInfo
|
||||||
|
from zhenxun.models.task_info import TaskInfo
|
||||||
|
from zhenxun.utils.enum import BlockType, PluginType
|
||||||
|
from zhenxun.utils.exception import GroupInfoNotFound
|
||||||
|
from zhenxun.utils.image_utils import BuildImage, ImageTemplate, RowStyle
|
||||||
|
|
||||||
HELP_FILE = IMAGE_PATH / "SIMPLE_HELP.png"
|
HELP_FILE = IMAGE_PATH / "SIMPLE_HELP.png"
|
||||||
|
|
||||||
@ -35,12 +35,8 @@ def plugin_row_style(column: str, text: str) -> RowStyle:
|
|||||||
RowStyle: RowStyle
|
RowStyle: RowStyle
|
||||||
"""
|
"""
|
||||||
style = RowStyle()
|
style = RowStyle()
|
||||||
if (
|
if (column == "全局状态" and text == "开启") or (
|
||||||
column == "全局状态"
|
column != "全局状态" and column == "加载状态" and text == "SUCCESS"
|
||||||
and text == "开启"
|
|
||||||
or column != "全局状态"
|
|
||||||
and column == "加载状态"
|
|
||||||
and text == "SUCCESS"
|
|
||||||
):
|
):
|
||||||
style.font_color = "#67C23A"
|
style.font_color = "#67C23A"
|
||||||
elif column in {"全局状态", "加载状态"}:
|
elif column in {"全局状态", "加载状态"}:
|
||||||
|
|||||||
@ -1,21 +1,21 @@
|
|||||||
import shutil
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
import shutil
|
||||||
from typing import Annotated
|
from typing import Annotated
|
||||||
|
|
||||||
import ujson as json
|
|
||||||
from nonebot import on_command
|
from nonebot import on_command
|
||||||
from nonebot.params import Command
|
from nonebot.params import Command
|
||||||
from nonebot.plugin import PluginMetadata
|
from nonebot.plugin import PluginMetadata
|
||||||
|
from nonebot_plugin_alconna import Image, Text, UniMsg
|
||||||
from nonebot_plugin_session import EventSession
|
from nonebot_plugin_session import EventSession
|
||||||
from nonebot_plugin_alconna import Text, Image, UniMsg
|
import ujson as json
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
|
||||||
from zhenxun.configs.config import Config
|
from zhenxun.configs.config import Config
|
||||||
|
from zhenxun.configs.path_config import DATA_PATH
|
||||||
|
from zhenxun.configs.utils import PluginExtraData, RegisterConfig
|
||||||
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.enum import PluginType
|
from zhenxun.utils.enum import PluginType
|
||||||
from zhenxun.utils.http_utils import AsyncHttpx
|
from zhenxun.utils.http_utils import AsyncHttpx
|
||||||
from zhenxun.configs.path_config import DATA_PATH
|
|
||||||
from zhenxun.utils.rules import admin_check, ensure_group
|
from zhenxun.utils.rules import admin_check, ensure_group
|
||||||
from zhenxun.configs.utils import RegisterConfig, PluginExtraData
|
|
||||||
|
|
||||||
base_config = Config.get("admin_bot_manage")
|
base_config = Config.get("admin_bot_manage")
|
||||||
|
|
||||||
|
|||||||
@ -1,14 +1,14 @@
|
|||||||
from nonebot.rule import to_me
|
|
||||||
from nonebot.adapters import Bot
|
from nonebot.adapters import Bot
|
||||||
from nonebot.permission import SUPERUSER
|
from nonebot.permission import SUPERUSER
|
||||||
from nonebot.plugin import PluginMetadata
|
from nonebot.plugin import PluginMetadata
|
||||||
|
from nonebot.rule import to_me
|
||||||
|
from nonebot_plugin_alconna import Alconna, Args, Match, on_alconna
|
||||||
from nonebot_plugin_session import EventSession
|
from nonebot_plugin_session import EventSession
|
||||||
from nonebot_plugin_alconna import Args, Match, Alconna, on_alconna
|
|
||||||
|
|
||||||
|
from zhenxun.configs.utils import PluginExtraData, RegisterConfig
|
||||||
from zhenxun.services.log import logger
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.enum import PluginType
|
from zhenxun.utils.enum import PluginType
|
||||||
from zhenxun.utils.message import MessageUtils
|
from zhenxun.utils.message import MessageUtils
|
||||||
from zhenxun.configs.utils import RegisterConfig, PluginExtraData
|
|
||||||
|
|
||||||
from ._data_source import UpdateManage
|
from ._data_source import UpdateManage
|
||||||
|
|
||||||
|
|||||||
@ -1,35 +1,35 @@
|
|||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
|
import subprocess
|
||||||
import tarfile
|
import tarfile
|
||||||
import zipfile
|
import zipfile
|
||||||
import subprocess
|
|
||||||
|
|
||||||
from nonebot.adapters import Bot
|
from nonebot.adapters import Bot
|
||||||
from nonebot.utils import run_sync
|
from nonebot.utils import run_sync
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.http_utils import AsyncHttpx
|
|
||||||
from zhenxun.utils.platform import PlatformUtils
|
|
||||||
from zhenxun.utils.github_utils import GithubUtils
|
from zhenxun.utils.github_utils import GithubUtils
|
||||||
from zhenxun.utils.github_utils.models import RepoInfo
|
from zhenxun.utils.github_utils.models import RepoInfo
|
||||||
|
from zhenxun.utils.http_utils import AsyncHttpx
|
||||||
|
from zhenxun.utils.platform import PlatformUtils
|
||||||
|
|
||||||
from .config import (
|
from .config import (
|
||||||
TMP_PATH,
|
|
||||||
BASE_PATH,
|
|
||||||
BACKUP_PATH,
|
BACKUP_PATH,
|
||||||
RELEASE_URL,
|
BASE_PATH,
|
||||||
REQ_TXT_FILE,
|
|
||||||
VERSION_FILE,
|
|
||||||
PYPROJECT_FILE,
|
|
||||||
REPLACE_FOLDERS,
|
|
||||||
BASE_PATH_STRING,
|
BASE_PATH_STRING,
|
||||||
|
DEFAULT_GITHUB_URL,
|
||||||
DOWNLOAD_GZ_FILE,
|
DOWNLOAD_GZ_FILE,
|
||||||
DOWNLOAD_ZIP_FILE,
|
DOWNLOAD_ZIP_FILE,
|
||||||
DEFAULT_GITHUB_URL,
|
PYPROJECT_FILE,
|
||||||
PYPROJECT_LOCK_FILE,
|
|
||||||
REQ_TXT_FILE_STRING,
|
|
||||||
PYPROJECT_FILE_STRING,
|
PYPROJECT_FILE_STRING,
|
||||||
|
PYPROJECT_LOCK_FILE,
|
||||||
PYPROJECT_LOCK_FILE_STRING,
|
PYPROJECT_LOCK_FILE_STRING,
|
||||||
|
RELEASE_URL,
|
||||||
|
REPLACE_FOLDERS,
|
||||||
|
REQ_TXT_FILE,
|
||||||
|
REQ_TXT_FILE_STRING,
|
||||||
|
TMP_PATH,
|
||||||
|
VERSION_FILE,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -2,8 +2,8 @@ from typing import Any
|
|||||||
|
|
||||||
from nonebot.adapters import Bot
|
from nonebot.adapters import Bot
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
|
||||||
from zhenxun.configs.config import Config
|
from zhenxun.configs.config import Config
|
||||||
|
from zhenxun.services.log import logger
|
||||||
|
|
||||||
Config.add_plugin_config(
|
Config.add_plugin_config(
|
||||||
"catchphrase",
|
"catchphrase",
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
import nonebot
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
|
import nonebot
|
||||||
|
|
||||||
nonebot.load_plugins(str(Path(__file__).parent.resolve()))
|
nonebot.load_plugins(str(Path(__file__).parent.resolve()))
|
||||||
|
|||||||
@ -70,7 +70,7 @@ async def _():
|
|||||||
await ChatHistory.bulk_create(message_list)
|
await ChatHistory.bulk_create(message_list)
|
||||||
logger.debug(f"批量添加聊天记录 {len(message_list)} 条", "定时任务")
|
logger.debug(f"批量添加聊天记录 {len(message_list)} 条", "定时任务")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"定时批量添加聊天记录", "定时任务", e=e)
|
logger.error("定时批量添加聊天记录", "定时任务", e=e)
|
||||||
|
|
||||||
|
|
||||||
# @test.handle()
|
# @test.handle()
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
|
|
||||||
import pytz
|
|
||||||
from nonebot.plugin import PluginMetadata
|
from nonebot.plugin import PluginMetadata
|
||||||
from nonebot_plugin_alconna import (
|
from nonebot_plugin_alconna import (
|
||||||
Alconna,
|
Alconna,
|
||||||
@ -13,6 +12,7 @@ from nonebot_plugin_alconna import (
|
|||||||
store_true,
|
store_true,
|
||||||
)
|
)
|
||||||
from nonebot_plugin_session import EventSession
|
from nonebot_plugin_session import EventSession
|
||||||
|
import pytz
|
||||||
|
|
||||||
from zhenxun.configs.utils import PluginExtraData
|
from zhenxun.configs.utils import PluginExtraData
|
||||||
from zhenxun.models.chat_history import ChatHistory
|
from zhenxun.models.chat_history import ChatHistory
|
||||||
@ -113,7 +113,10 @@ async def _(
|
|||||||
date_scope = time_now.replace(microsecond=0)
|
date_scope = time_now.replace(microsecond=0)
|
||||||
date_str = f"{str(date_scope).split('+')[0]} - 至今"
|
date_str = f"{str(date_scope).split('+')[0]} - 至今"
|
||||||
else:
|
else:
|
||||||
date_str = f"{date_scope[0].replace(microsecond=0)} - {date_scope[1].replace(microsecond=0)}"
|
date_str = (
|
||||||
|
f"{date_scope[0].replace(microsecond=0)} - "
|
||||||
|
f"{date_scope[1].replace(microsecond=0)}"
|
||||||
|
)
|
||||||
A = await ImageTemplate.table_page(
|
A = await ImageTemplate.table_page(
|
||||||
f"消息排行({count.result})", date_str, column_name, data_list
|
f"消息排行({count.result})", date_str, column_name, data_list
|
||||||
)
|
)
|
||||||
|
|||||||
@ -1,17 +1,17 @@
|
|||||||
|
from dataclasses import dataclass
|
||||||
import os
|
import os
|
||||||
|
from pathlib import Path
|
||||||
import platform
|
import platform
|
||||||
import subprocess
|
import subprocess
|
||||||
from pathlib import Path
|
|
||||||
from dataclasses import dataclass
|
|
||||||
|
|
||||||
import psutil
|
|
||||||
import cpuinfo
|
import cpuinfo
|
||||||
import nonebot
|
import nonebot
|
||||||
from pydantic import BaseModel
|
|
||||||
from nonebot.utils import run_sync
|
from nonebot.utils import run_sync
|
||||||
|
import psutil
|
||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
|
||||||
from zhenxun.configs.config import BotConfig
|
from zhenxun.configs.config import BotConfig
|
||||||
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.http_utils import AsyncHttpx
|
from zhenxun.utils.http_utils import AsyncHttpx
|
||||||
|
|
||||||
BAIDU_URL = "https://www.baidu.com/"
|
BAIDU_URL = "https://www.baidu.com/"
|
||||||
|
|||||||
@ -1,23 +1,23 @@
|
|||||||
from nonebot.rule import to_me
|
|
||||||
from nonebot.adapters import Bot
|
from nonebot.adapters import Bot
|
||||||
from nonebot_plugin_uninfo import Uninfo
|
|
||||||
from nonebot.plugin import PluginMetadata
|
from nonebot.plugin import PluginMetadata
|
||||||
|
from nonebot.rule import to_me
|
||||||
from nonebot_plugin_alconna import (
|
from nonebot_plugin_alconna import (
|
||||||
Args,
|
|
||||||
Match,
|
|
||||||
Query,
|
|
||||||
Option,
|
|
||||||
Alconna,
|
Alconna,
|
||||||
AlconnaQuery,
|
AlconnaQuery,
|
||||||
|
Args,
|
||||||
|
Match,
|
||||||
|
Option,
|
||||||
|
Query,
|
||||||
on_alconna,
|
on_alconna,
|
||||||
store_true,
|
store_true,
|
||||||
)
|
)
|
||||||
|
from nonebot_plugin_uninfo import Uninfo
|
||||||
|
|
||||||
|
from zhenxun.builtin_plugins.help._config import GROUP_HELP_PATH, SIMPLE_HELP_IMAGE
|
||||||
|
from zhenxun.configs.utils import PluginExtraData, RegisterConfig
|
||||||
from zhenxun.services.log import logger
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.enum import PluginType
|
from zhenxun.utils.enum import PluginType
|
||||||
from zhenxun.utils.message import MessageUtils
|
from zhenxun.utils.message import MessageUtils
|
||||||
from zhenxun.configs.utils import RegisterConfig, PluginExtraData
|
|
||||||
from zhenxun.builtin_plugins.help._config import GROUP_HELP_PATH, SIMPLE_HELP_IMAGE
|
|
||||||
|
|
||||||
from ._data_source import create_help_img, get_plugin_help
|
from ._data_source import create_help_img, get_plugin_help
|
||||||
|
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
import nonebot
|
import nonebot
|
||||||
from nonebot_plugin_uninfo import Uninfo
|
from nonebot_plugin_uninfo import Uninfo
|
||||||
|
|
||||||
from zhenxun.utils.enum import PluginType
|
from zhenxun.configs.path_config import IMAGE_PATH
|
||||||
from zhenxun.models.level_user import LevelUser
|
from zhenxun.models.level_user import LevelUser
|
||||||
from zhenxun.models.plugin_info import PluginInfo
|
from zhenxun.models.plugin_info import PluginInfo
|
||||||
from zhenxun.configs.path_config import IMAGE_PATH
|
from zhenxun.utils.enum import PluginType
|
||||||
from zhenxun.utils.image_utils import BuildImage, ImageTemplate
|
from zhenxun.utils.image_utils import BuildImage, ImageTemplate
|
||||||
|
|
||||||
|
from ._config import GROUP_HELP_PATH, SIMPLE_HELP_IMAGE, base_config
|
||||||
from .html_help import build_html_image
|
from .html_help import build_html_image
|
||||||
from .normal_help import build_normal_image
|
from .normal_help import build_normal_image
|
||||||
from .zhenxun_help import build_zhenxun_image
|
from .zhenxun_help import build_zhenxun_image
|
||||||
from ._config import GROUP_HELP_PATH, SIMPLE_HELP_IMAGE, base_config
|
|
||||||
|
|
||||||
random_bk_path = IMAGE_PATH / "background" / "help" / "simple_help"
|
random_bk_path = IMAGE_PATH / "background" / "help" / "simple_help"
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
from collections.abc import Callable
|
from collections.abc import Callable
|
||||||
|
|
||||||
from zhenxun.utils.enum import PluginType
|
|
||||||
from zhenxun.models.plugin_info import PluginInfo
|
|
||||||
from zhenxun.models.group_console import GroupConsole
|
from zhenxun.models.group_console import GroupConsole
|
||||||
|
from zhenxun.models.plugin_info import PluginInfo
|
||||||
|
from zhenxun.utils.enum import PluginType
|
||||||
|
|
||||||
|
|
||||||
async def sort_type() -> dict[str, list[PluginInfo]]:
|
async def sort_type() -> dict[str, list[PluginInfo]]:
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
import os
|
import os
|
||||||
import random
|
import random
|
||||||
|
|
||||||
from pydantic import BaseModel
|
|
||||||
from nonebot_plugin_htmlrender import template_to_pic
|
from nonebot_plugin_htmlrender import template_to_pic
|
||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
from zhenxun.utils.enum import BlockType
|
|
||||||
from zhenxun.models.plugin_info import PluginInfo
|
|
||||||
from zhenxun.configs.path_config import TEMPLATE_PATH
|
from zhenxun.configs.path_config import TEMPLATE_PATH
|
||||||
from zhenxun.models.group_console import GroupConsole
|
from zhenxun.models.group_console import GroupConsole
|
||||||
|
from zhenxun.models.plugin_info import PluginInfo
|
||||||
|
from zhenxun.utils.enum import BlockType
|
||||||
|
|
||||||
from ._utils import classify_plugin
|
from ._utils import classify_plugin
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
from zhenxun.utils.enum import BlockType
|
|
||||||
from zhenxun.utils._build_image import BuildImage
|
|
||||||
from zhenxun.configs.path_config import IMAGE_PATH
|
from zhenxun.configs.path_config import IMAGE_PATH
|
||||||
from zhenxun.models.group_console import GroupConsole
|
from zhenxun.models.group_console import GroupConsole
|
||||||
from zhenxun.utils.image_utils import group_image, build_sort_image
|
from zhenxun.utils._build_image import BuildImage
|
||||||
|
from zhenxun.utils.enum import BlockType
|
||||||
|
from zhenxun.utils.image_utils import build_sort_image, group_image
|
||||||
|
|
||||||
from ._utils import sort_type
|
from ._utils import sort_type
|
||||||
|
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
from pydantic import BaseModel
|
|
||||||
from nonebot_plugin_uninfo import Uninfo
|
|
||||||
from nonebot_plugin_htmlrender import template_to_pic
|
from nonebot_plugin_htmlrender import template_to_pic
|
||||||
|
from nonebot_plugin_uninfo import Uninfo
|
||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
from zhenxun.utils.enum import BlockType
|
|
||||||
from zhenxun.configs.config import BotConfig
|
from zhenxun.configs.config import BotConfig
|
||||||
from zhenxun.utils.platform import PlatformUtils
|
|
||||||
from zhenxun.models.plugin_info import PluginInfo
|
|
||||||
from zhenxun.configs.path_config import TEMPLATE_PATH
|
from zhenxun.configs.path_config import TEMPLATE_PATH
|
||||||
from zhenxun.models.group_console import GroupConsole
|
from zhenxun.models.group_console import GroupConsole
|
||||||
|
from zhenxun.models.plugin_info import PluginInfo
|
||||||
|
from zhenxun.utils.enum import BlockType
|
||||||
|
from zhenxun.utils.platform import PlatformUtils
|
||||||
|
|
||||||
from ._utils import classify_plugin
|
from ._utils import classify_plugin
|
||||||
|
|
||||||
|
|||||||
@ -2,20 +2,20 @@ import os
|
|||||||
import random
|
import random
|
||||||
|
|
||||||
from nonebot import on_message
|
from nonebot import on_message
|
||||||
from nonebot.rule import to_me
|
|
||||||
from nonebot.matcher import Matcher
|
from nonebot.matcher import Matcher
|
||||||
from nonebot.plugin import PluginMetadata
|
from nonebot.plugin import PluginMetadata
|
||||||
|
from nonebot.rule import to_me
|
||||||
from nonebot_plugin_alconna import UniMsg
|
from nonebot_plugin_alconna import UniMsg
|
||||||
from nonebot_plugin_session import EventSession
|
from nonebot_plugin_session import EventSession
|
||||||
|
|
||||||
|
from zhenxun.configs.path_config import IMAGE_PATH
|
||||||
|
from zhenxun.configs.utils import PluginExtraData
|
||||||
|
from zhenxun.models.ban_console import BanConsole
|
||||||
|
from zhenxun.models.group_console import GroupConsole
|
||||||
|
from zhenxun.models.plugin_info import PluginInfo
|
||||||
from zhenxun.services.log import logger
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.enum import PluginType
|
from zhenxun.utils.enum import PluginType
|
||||||
from zhenxun.utils.message import MessageUtils
|
from zhenxun.utils.message import MessageUtils
|
||||||
from zhenxun.configs.utils import PluginExtraData
|
|
||||||
from zhenxun.models.ban_console import BanConsole
|
|
||||||
from zhenxun.models.plugin_info import PluginInfo
|
|
||||||
from zhenxun.configs.path_config import IMAGE_PATH
|
|
||||||
from zhenxun.models.group_console import GroupConsole
|
|
||||||
|
|
||||||
__plugin_meta__ = PluginMetadata(
|
__plugin_meta__ = PluginMetadata(
|
||||||
name="笨蛋检测",
|
name="笨蛋检测",
|
||||||
|
|||||||
@ -1,30 +1,30 @@
|
|||||||
from pydantic import BaseModel
|
|
||||||
from nonebot.matcher import Matcher
|
|
||||||
from nonebot.adapters import Bot, Event
|
from nonebot.adapters import Bot, Event
|
||||||
from nonebot_plugin_alconna import At, UniMsg
|
|
||||||
from nonebot.exception import IgnoredException
|
|
||||||
from tortoise.exceptions import IntegrityError
|
|
||||||
from nonebot_plugin_session import EventSession
|
|
||||||
from nonebot.adapters.onebot.v11 import PokeNotifyEvent
|
from nonebot.adapters.onebot.v11 import PokeNotifyEvent
|
||||||
|
from nonebot.exception import IgnoredException
|
||||||
|
from nonebot.matcher import Matcher
|
||||||
|
from nonebot_plugin_alconna import At, UniMsg
|
||||||
|
from nonebot_plugin_session import EventSession
|
||||||
|
from pydantic import BaseModel
|
||||||
|
from tortoise.exceptions import IntegrityError
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
|
||||||
from zhenxun.configs.config import Config
|
from zhenxun.configs.config import Config
|
||||||
from zhenxun.utils.message import MessageUtils
|
|
||||||
from zhenxun.models.level_user import LevelUser
|
|
||||||
from zhenxun.models.bot_console import BotConsole
|
from zhenxun.models.bot_console import BotConsole
|
||||||
|
from zhenxun.models.group_console import GroupConsole
|
||||||
|
from zhenxun.models.level_user import LevelUser
|
||||||
from zhenxun.models.plugin_info import PluginInfo
|
from zhenxun.models.plugin_info import PluginInfo
|
||||||
from zhenxun.models.plugin_limit import PluginLimit
|
from zhenxun.models.plugin_limit import PluginLimit
|
||||||
from zhenxun.models.user_console import UserConsole
|
from zhenxun.models.user_console import UserConsole
|
||||||
from zhenxun.utils.exception import InsufficientGold
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.models.group_console import GroupConsole
|
|
||||||
from zhenxun.utils.utils import FreqLimiter, CountLimiter, UserBlockLimiter
|
|
||||||
from zhenxun.utils.enum import (
|
from zhenxun.utils.enum import (
|
||||||
BlockType,
|
BlockType,
|
||||||
GoldHandle,
|
GoldHandle,
|
||||||
PluginType,
|
|
||||||
LimitWatchType,
|
LimitWatchType,
|
||||||
PluginLimitType,
|
PluginLimitType,
|
||||||
|
PluginType,
|
||||||
)
|
)
|
||||||
|
from zhenxun.utils.exception import InsufficientGold
|
||||||
|
from zhenxun.utils.message import MessageUtils
|
||||||
|
from zhenxun.utils.utils import CountLimiter, FreqLimiter, UserBlockLimiter
|
||||||
|
|
||||||
base_config = Config.get("hook")
|
base_config = Config.get("hook")
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,3 @@
|
|||||||
from typing import Optional
|
|
||||||
|
|
||||||
from nonebot.adapters.onebot.v11 import Bot, Event
|
from nonebot.adapters.onebot.v11 import Bot, Event
|
||||||
from nonebot.matcher import Matcher
|
from nonebot.matcher import Matcher
|
||||||
from nonebot.message import run_postprocessor, run_preprocessor
|
from nonebot.message import run_postprocessor, run_preprocessor
|
||||||
@ -27,7 +25,7 @@ async def _(
|
|||||||
@run_postprocessor
|
@run_postprocessor
|
||||||
async def _(
|
async def _(
|
||||||
matcher: Matcher,
|
matcher: Matcher,
|
||||||
exception: Optional[Exception],
|
exception: Exception | None,
|
||||||
bot: Bot,
|
bot: Bot,
|
||||||
event: Event,
|
event: Event,
|
||||||
session: EventSession,
|
session: EventSession,
|
||||||
|
|||||||
@ -1,18 +1,18 @@
|
|||||||
from nonebot.typing import T_State
|
|
||||||
from nonebot.matcher import Matcher
|
|
||||||
from nonebot_plugin_alconna import At
|
|
||||||
from nonebot.adapters import Bot, Event
|
from nonebot.adapters import Bot, Event
|
||||||
from nonebot.message import run_preprocessor
|
|
||||||
from nonebot.exception import IgnoredException
|
from nonebot.exception import IgnoredException
|
||||||
|
from nonebot.matcher import Matcher
|
||||||
|
from nonebot.message import run_preprocessor
|
||||||
|
from nonebot.typing import T_State
|
||||||
|
from nonebot_plugin_alconna import At
|
||||||
from nonebot_plugin_session import EventSession
|
from nonebot_plugin_session import EventSession
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
|
||||||
from zhenxun.configs.config import Config
|
from zhenxun.configs.config import Config
|
||||||
from zhenxun.utils.enum import PluginType
|
|
||||||
from zhenxun.utils.utils import FreqLimiter
|
|
||||||
from zhenxun.utils.message import MessageUtils
|
|
||||||
from zhenxun.models.ban_console import BanConsole
|
from zhenxun.models.ban_console import BanConsole
|
||||||
from zhenxun.models.group_console import GroupConsole
|
from zhenxun.models.group_console import GroupConsole
|
||||||
|
from zhenxun.services.log import logger
|
||||||
|
from zhenxun.utils.enum import PluginType
|
||||||
|
from zhenxun.utils.message import MessageUtils
|
||||||
|
from zhenxun.utils.utils import FreqLimiter
|
||||||
|
|
||||||
Config.add_plugin_config(
|
Config.add_plugin_config(
|
||||||
"hook",
|
"hook",
|
||||||
|
|||||||
@ -1,20 +1,20 @@
|
|||||||
import time
|
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
|
import time
|
||||||
|
|
||||||
from nonebot.adapters import Event
|
from nonebot.adapters import Event
|
||||||
from nonebot.typing import T_State
|
|
||||||
from nonebot.matcher import Matcher
|
|
||||||
from nonebot_plugin_alconna import At
|
|
||||||
from nonebot.adapters.onebot.v11 import Bot
|
from nonebot.adapters.onebot.v11 import Bot
|
||||||
from nonebot.message import run_preprocessor
|
|
||||||
from nonebot.exception import IgnoredException
|
from nonebot.exception import IgnoredException
|
||||||
|
from nonebot.matcher import Matcher
|
||||||
|
from nonebot.message import run_preprocessor
|
||||||
|
from nonebot.typing import T_State
|
||||||
|
from nonebot_plugin_alconna import At
|
||||||
from nonebot_plugin_session import EventSession
|
from nonebot_plugin_session import EventSession
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
|
||||||
from zhenxun.configs.config import Config
|
from zhenxun.configs.config import Config
|
||||||
|
from zhenxun.models.ban_console import BanConsole
|
||||||
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.enum import PluginType
|
from zhenxun.utils.enum import PluginType
|
||||||
from zhenxun.utils.message import MessageUtils
|
from zhenxun.utils.message import MessageUtils
|
||||||
from zhenxun.models.ban_console import BanConsole
|
|
||||||
|
|
||||||
malicious_check_time = Config.get_config("hook", "MALICIOUS_CHECK_TIME")
|
malicious_check_time = Config.get_config("hook", "MALICIOUS_CHECK_TIME")
|
||||||
malicious_ban_count = Config.get_config("hook", "MALICIOUS_BAN_COUNT")
|
malicious_ban_count = Config.get_config("hook", "MALICIOUS_BAN_COUNT")
|
||||||
|
|||||||
@ -1,14 +1,14 @@
|
|||||||
from nonebot.adapters import Bot
|
from nonebot.adapters import Bot
|
||||||
from nonebot_plugin_uninfo import Uninfo
|
|
||||||
from nonebot.plugin import PluginMetadata
|
from nonebot.plugin import PluginMetadata
|
||||||
|
from nonebot_plugin_alconna import Alconna, Args, Arparma, At, Match, on_alconna
|
||||||
|
from nonebot_plugin_uninfo import Uninfo
|
||||||
from playwright.async_api import TimeoutError
|
from playwright.async_api import TimeoutError
|
||||||
from nonebot_plugin_alconna import At, Args, Match, Alconna, Arparma, on_alconna
|
|
||||||
|
|
||||||
|
from zhenxun.configs.utils import PluginExtraData
|
||||||
|
from zhenxun.models.group_member_info import GroupInfoUser
|
||||||
from zhenxun.services.log import logger
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.depends import UserName
|
from zhenxun.utils.depends import UserName
|
||||||
from zhenxun.utils.message import MessageUtils
|
from zhenxun.utils.message import MessageUtils
|
||||||
from zhenxun.configs.utils import PluginExtraData
|
|
||||||
from zhenxun.models.group_member_info import GroupInfoUser
|
|
||||||
|
|
||||||
from .my_info import get_user_info
|
from .my_info import get_user_info
|
||||||
|
|
||||||
|
|||||||
@ -1,18 +1,18 @@
|
|||||||
import random
|
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
|
import random
|
||||||
|
|
||||||
from tortoise.functions import Count
|
|
||||||
from tortoise.expressions import RawSQL
|
|
||||||
from nonebot_plugin_uninfo import Uninfo
|
|
||||||
from nonebot_plugin_htmlrender import template_to_pic
|
from nonebot_plugin_htmlrender import template_to_pic
|
||||||
|
from nonebot_plugin_uninfo import Uninfo
|
||||||
|
from tortoise.expressions import RawSQL
|
||||||
|
from tortoise.functions import Count
|
||||||
|
|
||||||
from zhenxun.models.sign_user import SignUser
|
|
||||||
from zhenxun.models.level_user import LevelUser
|
|
||||||
from zhenxun.models.statistics import Statistics
|
|
||||||
from zhenxun.utils.platform import PlatformUtils
|
|
||||||
from zhenxun.models.chat_history import ChatHistory
|
|
||||||
from zhenxun.models.user_console import UserConsole
|
|
||||||
from zhenxun.configs.path_config import TEMPLATE_PATH
|
from zhenxun.configs.path_config import TEMPLATE_PATH
|
||||||
|
from zhenxun.models.chat_history import ChatHistory
|
||||||
|
from zhenxun.models.level_user import LevelUser
|
||||||
|
from zhenxun.models.sign_user import SignUser
|
||||||
|
from zhenxun.models.statistics import Statistics
|
||||||
|
from zhenxun.models.user_console import UserConsole
|
||||||
|
from zhenxun.utils.platform import PlatformUtils
|
||||||
|
|
||||||
RACE = [
|
RACE = [
|
||||||
"龙族",
|
"龙族",
|
||||||
|
|||||||
@ -3,9 +3,9 @@ from pathlib import Path
|
|||||||
import nonebot
|
import nonebot
|
||||||
from nonebot.adapters import Bot
|
from nonebot.adapters import Bot
|
||||||
|
|
||||||
|
from zhenxun.models.group_console import GroupConsole
|
||||||
from zhenxun.services.log import logger
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.platform import PlatformUtils
|
from zhenxun.utils.platform import PlatformUtils
|
||||||
from zhenxun.models.group_console import GroupConsole
|
|
||||||
|
|
||||||
nonebot.load_plugins(str(Path(__file__).parent.resolve()))
|
nonebot.load_plugins(str(Path(__file__).parent.resolve()))
|
||||||
|
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
import nonebot
|
import nonebot
|
||||||
from ruamel.yaml import YAML
|
|
||||||
from nonebot.plugin import Plugin
|
|
||||||
from nonebot.drivers import Driver
|
|
||||||
from nonebot import get_loaded_plugins
|
from nonebot import get_loaded_plugins
|
||||||
|
from nonebot.drivers import Driver
|
||||||
|
from nonebot.plugin import Plugin
|
||||||
|
from ruamel.yaml import YAML
|
||||||
from ruamel.yaml.comments import CommentedMap
|
from ruamel.yaml.comments import CommentedMap
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
|
||||||
from zhenxun.configs.config import Config
|
from zhenxun.configs.config import Config
|
||||||
from zhenxun.configs.utils import RegisterConfig
|
|
||||||
from zhenxun.configs.path_config import DATA_PATH
|
from zhenxun.configs.path_config import DATA_PATH
|
||||||
|
from zhenxun.configs.utils import RegisterConfig
|
||||||
|
from zhenxun.services.log import logger
|
||||||
|
|
||||||
_yaml = YAML(pure=True)
|
_yaml = YAML(pure=True)
|
||||||
_yaml.allow_unicode = True
|
_yaml.allow_unicode = True
|
||||||
|
|||||||
@ -1,24 +1,24 @@
|
|||||||
import nonebot
|
|
||||||
import aiofiles
|
import aiofiles
|
||||||
import ujson as json
|
import nonebot
|
||||||
from ruamel.yaml import YAML
|
|
||||||
from nonebot.drivers import Driver
|
|
||||||
from nonebot import get_loaded_plugins
|
from nonebot import get_loaded_plugins
|
||||||
|
from nonebot.drivers import Driver
|
||||||
from nonebot.plugin import Plugin, PluginMetadata
|
from nonebot.plugin import Plugin, PluginMetadata
|
||||||
|
from ruamel.yaml import YAML
|
||||||
|
import ujson as json
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
|
||||||
from zhenxun.models.task_info import TaskInfo
|
|
||||||
from zhenxun.configs.path_config import DATA_PATH
|
from zhenxun.configs.path_config import DATA_PATH
|
||||||
|
from zhenxun.configs.utils import PluginExtraData, PluginSetting
|
||||||
|
from zhenxun.models.group_console import GroupConsole
|
||||||
from zhenxun.models.plugin_info import PluginInfo
|
from zhenxun.models.plugin_info import PluginInfo
|
||||||
from zhenxun.models.plugin_limit import PluginLimit
|
from zhenxun.models.plugin_limit import PluginLimit
|
||||||
from zhenxun.models.group_console import GroupConsole
|
from zhenxun.models.task_info import TaskInfo
|
||||||
from zhenxun.configs.utils import PluginSetting, PluginExtraData
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.enum import (
|
from zhenxun.utils.enum import (
|
||||||
BlockType,
|
BlockType,
|
||||||
PluginType,
|
|
||||||
LimitCheckType,
|
LimitCheckType,
|
||||||
LimitWatchType,
|
LimitWatchType,
|
||||||
PluginLimitType,
|
PluginLimitType,
|
||||||
|
PluginType,
|
||||||
)
|
)
|
||||||
|
|
||||||
from .manager import manager
|
from .manager import manager
|
||||||
|
|||||||
@ -2,12 +2,12 @@ from copy import deepcopy
|
|||||||
|
|
||||||
from ruamel.yaml import YAML
|
from ruamel.yaml import YAML
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
|
||||||
from zhenxun.configs.path_config import DATA_PATH
|
from zhenxun.configs.path_config import DATA_PATH
|
||||||
|
from zhenxun.configs.utils import BaseBlock, PluginCdBlock, PluginCountBlock
|
||||||
from zhenxun.models.plugin_info import PluginInfo
|
from zhenxun.models.plugin_info import PluginInfo
|
||||||
from zhenxun.models.plugin_limit import PluginLimit
|
from zhenxun.models.plugin_limit import PluginLimit
|
||||||
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.enum import BlockType, LimitCheckType, PluginLimitType
|
from zhenxun.utils.enum import BlockType, LimitCheckType, PluginLimitType
|
||||||
from zhenxun.configs.utils import BaseBlock, PluginCdBlock, PluginCountBlock
|
|
||||||
|
|
||||||
_yaml = YAML(pure=True)
|
_yaml = YAML(pure=True)
|
||||||
_yaml.indent = 2
|
_yaml.indent = 2
|
||||||
|
|||||||
@ -2,23 +2,23 @@ import random
|
|||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from nonebot import on_regex
|
from nonebot import on_regex
|
||||||
from nonebot.rule import to_me
|
|
||||||
from nonebot.adapters import Bot
|
from nonebot.adapters import Bot
|
||||||
from nonebot.plugin import PluginMetadata
|
|
||||||
from nonebot.params import Depends, RegexGroup
|
from nonebot.params import Depends, RegexGroup
|
||||||
|
from nonebot.plugin import PluginMetadata
|
||||||
|
from nonebot.rule import to_me
|
||||||
|
from nonebot_plugin_alconna import Alconna, Option, on_alconna, store_true
|
||||||
from nonebot_plugin_session import EventSession
|
from nonebot_plugin_session import EventSession
|
||||||
from nonebot_plugin_userinfo import UserInfo, EventUserInfo
|
from nonebot_plugin_userinfo import EventUserInfo, UserInfo
|
||||||
from nonebot_plugin_alconna import Option, Alconna, on_alconna, store_true
|
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
from zhenxun.configs.config import BotConfig, Config
|
||||||
from zhenxun.utils.enum import PluginType
|
from zhenxun.configs.utils import PluginExtraData, RegisterConfig
|
||||||
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.configs.utils import RegisterConfig, PluginExtraData
|
from zhenxun.services.log import logger
|
||||||
|
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="昵称系统",
|
||||||
|
|||||||
@ -1,7 +1,5 @@
|
|||||||
from nonebot.adapters import Bot
|
|
||||||
from nonebot_plugin_uninfo import Uninfo
|
|
||||||
from nonebot import on_notice, on_request
|
from nonebot import on_notice, on_request
|
||||||
from nonebot.plugin import PluginMetadata
|
from nonebot.adapters import Bot
|
||||||
from nonebot.adapters.onebot.v11 import (
|
from nonebot.adapters.onebot.v11 import (
|
||||||
GroupDecreaseNoticeEvent,
|
GroupDecreaseNoticeEvent,
|
||||||
GroupIncreaseNoticeEvent,
|
GroupIncreaseNoticeEvent,
|
||||||
@ -10,17 +8,19 @@ from nonebot.adapters.onebot.v12 import (
|
|||||||
GroupMemberDecreaseEvent,
|
GroupMemberDecreaseEvent,
|
||||||
GroupMemberIncreaseEvent,
|
GroupMemberIncreaseEvent,
|
||||||
)
|
)
|
||||||
|
from nonebot.plugin import PluginMetadata
|
||||||
|
from nonebot_plugin_uninfo import Uninfo
|
||||||
|
|
||||||
from zhenxun.utils.enum import PluginType
|
from zhenxun.builtin_plugins.platform.qq.exception import ForceAddGroupError
|
||||||
from zhenxun.utils.rules import notice_rule
|
from zhenxun.configs.config import BotConfig, Config
|
||||||
from zhenxun.utils.platform import PlatformUtils
|
from zhenxun.configs.utils import PluginExtraData, RegisterConfig, Task
|
||||||
from zhenxun.utils.common_utils import CommonUtils
|
|
||||||
from zhenxun.configs.config import Config, BotConfig
|
|
||||||
from zhenxun.models.group_console import GroupConsole
|
from zhenxun.models.group_console import GroupConsole
|
||||||
from zhenxun.configs.utils import Task, RegisterConfig, PluginExtraData
|
from zhenxun.utils.common_utils import CommonUtils
|
||||||
|
from zhenxun.utils.enum import PluginType
|
||||||
|
from zhenxun.utils.platform import PlatformUtils
|
||||||
|
from zhenxun.utils.rules import notice_rule
|
||||||
|
|
||||||
from .data_source import GroupManager
|
from .data_source import GroupManager
|
||||||
from ..exception import ForceAddGroupError
|
|
||||||
|
|
||||||
__plugin_meta__ = PluginMetadata(
|
__plugin_meta__ = PluginMetadata(
|
||||||
name="QQ群事件处理",
|
name="QQ群事件处理",
|
||||||
|
|||||||
@ -1,29 +1,28 @@
|
|||||||
import os
|
|
||||||
import re
|
|
||||||
import random
|
|
||||||
from pathlib import Path
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
import os
|
||||||
|
from pathlib import Path
|
||||||
|
import random
|
||||||
|
import re
|
||||||
|
|
||||||
import ujson as json
|
|
||||||
from nonebot.adapters import Bot
|
from nonebot.adapters import Bot
|
||||||
from nonebot_plugin_alconna import At
|
from nonebot_plugin_alconna import At
|
||||||
from nonebot_plugin_uninfo import Uninfo
|
from nonebot_plugin_uninfo import Uninfo
|
||||||
|
import ujson as json
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
from zhenxun.builtin_plugins.platform.qq.exception import ForceAddGroupError
|
||||||
from zhenxun.configs.config import Config
|
from zhenxun.configs.config import Config
|
||||||
from zhenxun.utils.utils import FreqLimiter
|
from zhenxun.configs.path_config import DATA_PATH, IMAGE_PATH
|
||||||
from zhenxun.utils.message import MessageUtils
|
|
||||||
from zhenxun.models.fg_request import FgRequest
|
from zhenxun.models.fg_request import FgRequest
|
||||||
from zhenxun.models.level_user import LevelUser
|
|
||||||
from zhenxun.utils.enum import RequestHandleType
|
|
||||||
from zhenxun.utils.platform import PlatformUtils
|
|
||||||
from zhenxun.models.plugin_info import PluginInfo
|
|
||||||
from zhenxun.utils.common_utils import CommonUtils
|
|
||||||
from zhenxun.models.group_console import GroupConsole
|
from zhenxun.models.group_console import GroupConsole
|
||||||
from zhenxun.models.group_member_info import GroupInfoUser
|
from zhenxun.models.group_member_info import GroupInfoUser
|
||||||
from zhenxun.configs.path_config import DATA_PATH, IMAGE_PATH
|
from zhenxun.models.level_user import LevelUser
|
||||||
|
from zhenxun.models.plugin_info import PluginInfo
|
||||||
from ..exception import ForceAddGroupError
|
from zhenxun.services.log import logger
|
||||||
|
from zhenxun.utils.common_utils import CommonUtils
|
||||||
|
from zhenxun.utils.enum import RequestHandleType
|
||||||
|
from zhenxun.utils.message import MessageUtils
|
||||||
|
from zhenxun.utils.platform import PlatformUtils
|
||||||
|
from zhenxun.utils.utils import FreqLimiter
|
||||||
|
|
||||||
base_config = Config.get("invite_manager")
|
base_config = Config.get("invite_manager")
|
||||||
|
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
from nonebot_plugin_uninfo import Uninfo
|
|
||||||
from nonebot.message import run_preprocessor
|
from nonebot.message import run_preprocessor
|
||||||
|
from nonebot_plugin_uninfo import Uninfo
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
|
||||||
from zhenxun.utils.platform import PlatformUtils
|
|
||||||
from zhenxun.models.friend_user import FriendUser
|
from zhenxun.models.friend_user import FriendUser
|
||||||
from zhenxun.models.group_console import GroupConsole
|
from zhenxun.models.group_console import GroupConsole
|
||||||
from zhenxun.models.group_member_info import GroupInfoUser
|
from zhenxun.models.group_member_info import GroupInfoUser
|
||||||
|
from zhenxun.services.log import logger
|
||||||
|
from zhenxun.utils.platform import PlatformUtils
|
||||||
|
|
||||||
|
|
||||||
@run_preprocessor
|
@run_preprocessor
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
from nonebot.permission import SUPERUSER
|
from nonebot.permission import SUPERUSER
|
||||||
from nonebot.plugin import PluginMetadata
|
from nonebot.plugin import PluginMetadata
|
||||||
|
from nonebot_plugin_alconna import Alconna, Args, Subcommand, on_alconna
|
||||||
from nonebot_plugin_session import EventSession
|
from nonebot_plugin_session import EventSession
|
||||||
from nonebot_plugin_alconna import Args, Alconna, Subcommand, on_alconna
|
|
||||||
|
|
||||||
|
from zhenxun.configs.utils import PluginExtraData
|
||||||
from zhenxun.services.log import logger
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.enum import PluginType
|
from zhenxun.utils.enum import PluginType
|
||||||
from zhenxun.utils.message import MessageUtils
|
from zhenxun.utils.message import MessageUtils
|
||||||
from zhenxun.configs.utils import PluginExtraData
|
|
||||||
|
|
||||||
from .data_source import ShopManage
|
from .data_source import ShopManage
|
||||||
|
|
||||||
@ -153,6 +153,7 @@ async def _(session: EventSession, plugin_id: int | str):
|
|||||||
logger.info(f"更新插件 Id: {plugin_id}", "插件商店", session=session)
|
logger.info(f"更新插件 Id: {plugin_id}", "插件商店", session=session)
|
||||||
await MessageUtils.build_message(result).send()
|
await MessageUtils.build_message(result).send()
|
||||||
|
|
||||||
|
|
||||||
@_matcher.assign("update_all")
|
@_matcher.assign("update_all")
|
||||||
async def _(session: EventSession):
|
async def _(session: EventSession):
|
||||||
try:
|
try:
|
||||||
@ -160,8 +161,6 @@ async def _(session: EventSession):
|
|||||||
result = await ShopManage.update_all_plugin()
|
result = await ShopManage.update_all_plugin()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error("更新全部插件失败", "插件商店", session=session, e=e)
|
logger.error("更新全部插件失败", "插件商店", session=session, e=e)
|
||||||
await MessageUtils.build_message(
|
await MessageUtils.build_message(f"更新全部插件失败 e: {e}").finish()
|
||||||
f"更新全部插件失败 e: {e}"
|
|
||||||
).finish()
|
|
||||||
logger.info("更新全部插件", "插件商店", session=session)
|
logger.info("更新全部插件", "插件商店", session=session)
|
||||||
await MessageUtils.build_message(result).send()
|
await MessageUtils.build_message(result).send()
|
||||||
|
|||||||
@ -1,21 +1,21 @@
|
|||||||
|
from pathlib import Path
|
||||||
import shutil
|
import shutil
|
||||||
import subprocess
|
import subprocess
|
||||||
from pathlib import Path
|
|
||||||
|
|
||||||
import ujson as json
|
|
||||||
from aiocache import cached
|
from aiocache import cached
|
||||||
|
import ujson as json
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
from zhenxun.builtin_plugins.auto_update.config import REQ_TXT_FILE_STRING
|
||||||
from zhenxun.utils.http_utils import AsyncHttpx
|
from zhenxun.builtin_plugins.plugin_store.models import StorePluginInfo
|
||||||
from zhenxun.models.plugin_info import PluginInfo
|
from zhenxun.models.plugin_info import PluginInfo
|
||||||
|
from zhenxun.services.log import logger
|
||||||
|
from zhenxun.services.plugin_init import PluginInitManager
|
||||||
from zhenxun.utils.github_utils import GithubUtils
|
from zhenxun.utils.github_utils import GithubUtils
|
||||||
from zhenxun.utils.github_utils.models import RepoAPI
|
from zhenxun.utils.github_utils.models import RepoAPI
|
||||||
from zhenxun.services.plugin_init import PluginInitManager
|
from zhenxun.utils.http_utils import AsyncHttpx
|
||||||
from zhenxun.builtin_plugins.plugin_store.models import StorePluginInfo
|
from zhenxun.utils.image_utils import BuildImage, ImageTemplate, RowStyle
|
||||||
from zhenxun.utils.image_utils import RowStyle, BuildImage, ImageTemplate
|
|
||||||
from zhenxun.builtin_plugins.auto_update.config import REQ_TXT_FILE_STRING
|
|
||||||
|
|
||||||
from .config import BASE_PATH, EXTRA_GITHUB_URL, DEFAULT_GITHUB_URL
|
from .config import BASE_PATH, DEFAULT_GITHUB_URL, EXTRA_GITHUB_URL
|
||||||
|
|
||||||
|
|
||||||
def row_style(column: str, text: str) -> RowStyle:
|
def row_style(column: str, text: str) -> RowStyle:
|
||||||
@ -418,6 +418,7 @@ class ShopManage:
|
|||||||
return "已更新插件 {}\n共计{}个插件! 重启后生效".format(
|
return "已更新插件 {}\n共计{}个插件! 重启后生效".format(
|
||||||
"\n- ".join(update_list), len(update_list)
|
"\n- ".join(update_list), len(update_list)
|
||||||
)
|
)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
async def _resolve_plugin_key(cls, plugin_id: int | str) -> str:
|
async def _resolve_plugin_key(cls, plugin_id: int | str) -> str:
|
||||||
data: dict[str, StorePluginInfo] = await cls.get_data()
|
data: dict[str, StorePluginInfo] = await cls.get_data()
|
||||||
|
|||||||
@ -1,26 +1,26 @@
|
|||||||
import time
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
import time
|
||||||
|
|
||||||
from nonebot.plugin import PluginMetadata
|
|
||||||
from nonebot import on_message, on_request
|
from nonebot import on_message, on_request
|
||||||
from nonebot_plugin_session import EventSession
|
|
||||||
from nonebot_plugin_apscheduler import scheduler
|
|
||||||
from nonebot.adapters.onebot.v11 import Bot as v11Bot
|
|
||||||
from nonebot.adapters.onebot.v12 import Bot as v12Bot
|
|
||||||
from nonebot.adapters.onebot.v11 import (
|
from nonebot.adapters.onebot.v11 import (
|
||||||
ActionFailed,
|
ActionFailed,
|
||||||
GroupRequestEvent,
|
|
||||||
FriendRequestEvent,
|
FriendRequestEvent,
|
||||||
|
GroupRequestEvent,
|
||||||
)
|
)
|
||||||
|
from nonebot.adapters.onebot.v11 import Bot as v11Bot
|
||||||
|
from nonebot.adapters.onebot.v12 import Bot as v12Bot
|
||||||
|
from nonebot.plugin import PluginMetadata
|
||||||
|
from nonebot_plugin_apscheduler import scheduler
|
||||||
|
from nonebot_plugin_session import EventSession
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
from zhenxun.configs.config import BotConfig, Config
|
||||||
|
from zhenxun.configs.utils import PluginExtraData, RegisterConfig
|
||||||
from zhenxun.models.fg_request import FgRequest
|
from zhenxun.models.fg_request import FgRequest
|
||||||
from zhenxun.utils.platform import PlatformUtils
|
|
||||||
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_console import GroupConsole
|
from zhenxun.models.group_console import GroupConsole
|
||||||
from zhenxun.configs.utils import RegisterConfig, PluginExtraData
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.enum import PluginType, RequestType, RequestHandleType
|
from zhenxun.utils.enum import PluginType, RequestHandleType, RequestType
|
||||||
|
from zhenxun.utils.platform import PlatformUtils
|
||||||
|
|
||||||
base_config = Config.get("invite_manager")
|
base_config = Config.get("invite_manager")
|
||||||
|
|
||||||
|
|||||||
@ -1,23 +1,23 @@
|
|||||||
import os
|
import os
|
||||||
import platform
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
import platform
|
||||||
|
|
||||||
import nonebot
|
|
||||||
import aiofiles
|
import aiofiles
|
||||||
|
import nonebot
|
||||||
from nonebot import on_command
|
from nonebot import on_command
|
||||||
from nonebot.rule import to_me
|
|
||||||
from nonebot.adapters import Bot
|
from nonebot.adapters import Bot
|
||||||
from nonebot.params import ArgStr
|
from nonebot.params import ArgStr
|
||||||
from nonebot.permission import SUPERUSER
|
from nonebot.permission import SUPERUSER
|
||||||
from nonebot_plugin_uninfo import Uninfo
|
|
||||||
from nonebot.plugin import PluginMetadata
|
from nonebot.plugin import PluginMetadata
|
||||||
|
from nonebot.rule import to_me
|
||||||
|
from nonebot_plugin_uninfo import Uninfo
|
||||||
|
|
||||||
|
from zhenxun.configs.config import BotConfig
|
||||||
|
from zhenxun.configs.utils import PluginExtraData
|
||||||
from zhenxun.services.log import logger
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.enum import PluginType
|
from zhenxun.utils.enum import PluginType
|
||||||
from zhenxun.configs.config import BotConfig
|
|
||||||
from zhenxun.utils.message import MessageUtils
|
from zhenxun.utils.message import MessageUtils
|
||||||
from zhenxun.utils.platform import PlatformUtils
|
from zhenxun.utils.platform import PlatformUtils
|
||||||
from zhenxun.configs.utils import PluginExtraData
|
|
||||||
|
|
||||||
__plugin_meta__ = PluginMetadata(
|
__plugin_meta__ = PluginMetadata(
|
||||||
name="重启",
|
name="重启",
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
import shutil
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
import shutil
|
||||||
|
|
||||||
from nonebot_plugin_apscheduler import scheduler
|
from nonebot_plugin_apscheduler import scheduler
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
|
||||||
from zhenxun.configs.config import Config
|
from zhenxun.configs.config import Config
|
||||||
|
from zhenxun.services.log import logger
|
||||||
|
|
||||||
Config.add_plugin_config(
|
Config.add_plugin_config(
|
||||||
"_backup",
|
"_backup",
|
||||||
|
|||||||
@ -1,15 +1,15 @@
|
|||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
|
|
||||||
import pytz
|
|
||||||
import nonebot
|
import nonebot
|
||||||
from nonebot_plugin_apscheduler import scheduler
|
from nonebot_plugin_apscheduler import scheduler
|
||||||
|
import pytz
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
|
||||||
from zhenxun.configs.config import Config
|
from zhenxun.configs.config import Config
|
||||||
from zhenxun.models.task_info import TaskInfo
|
|
||||||
from zhenxun.utils.platform import PlatformUtils
|
|
||||||
from zhenxun.models.chat_history import ChatHistory
|
from zhenxun.models.chat_history import ChatHistory
|
||||||
from zhenxun.models.group_console import GroupConsole
|
from zhenxun.models.group_console import GroupConsole
|
||||||
|
from zhenxun.models.task_info import TaskInfo
|
||||||
|
from zhenxun.services.log import logger
|
||||||
|
from zhenxun.utils.platform import PlatformUtils
|
||||||
|
|
||||||
Config.add_plugin_config(
|
Config.add_plugin_config(
|
||||||
"chat_check",
|
"chat_check",
|
||||||
|
|||||||
@ -3,14 +3,14 @@ from nonebot.adapters import Bot
|
|||||||
from nonebot.plugin import PluginMetadata
|
from nonebot.plugin import PluginMetadata
|
||||||
from nonebot_plugin_apscheduler import scheduler
|
from nonebot_plugin_apscheduler import scheduler
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
|
||||||
from zhenxun.utils.enum import PluginType
|
|
||||||
from zhenxun.configs.config import BotConfig
|
from zhenxun.configs.config import BotConfig
|
||||||
from zhenxun.utils.message import MessageUtils
|
|
||||||
from zhenxun.configs.path_config import IMAGE_PATH
|
from zhenxun.configs.path_config import IMAGE_PATH
|
||||||
|
from zhenxun.configs.utils import PluginExtraData, Task
|
||||||
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.common_utils import CommonUtils
|
from zhenxun.utils.common_utils import CommonUtils
|
||||||
|
from zhenxun.utils.enum import PluginType
|
||||||
|
from zhenxun.utils.message import MessageUtils
|
||||||
from zhenxun.utils.platform import broadcast_group
|
from zhenxun.utils.platform import broadcast_group
|
||||||
from zhenxun.configs.utils import Task, PluginExtraData
|
|
||||||
|
|
||||||
__plugin_meta__ = PluginMetadata(
|
__plugin_meta__ = PluginMetadata(
|
||||||
name="早晚安被动技能",
|
name="早晚安被动技能",
|
||||||
|
|||||||
@ -1,15 +1,15 @@
|
|||||||
from asyncio.exceptions import TimeoutError
|
from asyncio.exceptions import TimeoutError
|
||||||
|
|
||||||
import nonebot
|
|
||||||
import aiofiles
|
import aiofiles
|
||||||
import ujson as json
|
import nonebot
|
||||||
from nonebot.drivers import Driver
|
from nonebot.drivers import Driver
|
||||||
from nonebot_plugin_apscheduler import scheduler
|
from nonebot_plugin_apscheduler import scheduler
|
||||||
|
import ujson as json
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
|
||||||
from zhenxun.utils.http_utils import AsyncHttpx
|
|
||||||
from zhenxun.configs.path_config import TEXT_PATH
|
from zhenxun.configs.path_config import TEXT_PATH
|
||||||
from zhenxun.models.group_console import GroupConsole
|
from zhenxun.models.group_console import GroupConsole
|
||||||
|
from zhenxun.services.log import logger
|
||||||
|
from zhenxun.utils.http_utils import AsyncHttpx
|
||||||
|
|
||||||
driver: Driver = nonebot.get_driver()
|
driver: Driver = nonebot.get_driver()
|
||||||
|
|
||||||
|
|||||||
@ -1,28 +1,28 @@
|
|||||||
from nonebot.adapters import Bot, Event
|
from nonebot.adapters import Bot, Event
|
||||||
from nonebot_plugin_uninfo import Uninfo
|
|
||||||
from nonebot.plugin import PluginMetadata
|
from nonebot.plugin import PluginMetadata
|
||||||
from nonebot_plugin_session import EventSession
|
|
||||||
from nonebot_plugin_alconna import (
|
from nonebot_plugin_alconna import (
|
||||||
Args,
|
|
||||||
Match,
|
|
||||||
Query,
|
|
||||||
Option,
|
|
||||||
UniMsg,
|
|
||||||
Alconna,
|
Alconna,
|
||||||
|
AlconnaQuery,
|
||||||
|
Args,
|
||||||
Arparma,
|
Arparma,
|
||||||
|
Match,
|
||||||
|
Option,
|
||||||
|
Query,
|
||||||
Subcommand,
|
Subcommand,
|
||||||
UniMessage,
|
UniMessage,
|
||||||
AlconnaQuery,
|
UniMsg,
|
||||||
on_alconna,
|
on_alconna,
|
||||||
store_true,
|
store_true,
|
||||||
)
|
)
|
||||||
|
from nonebot_plugin_session import EventSession
|
||||||
|
from nonebot_plugin_uninfo import Uninfo
|
||||||
|
|
||||||
|
from zhenxun.configs.utils import BaseBlock, PluginExtraData
|
||||||
from zhenxun.services.log import logger
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.depends import UserName
|
from zhenxun.utils.depends import UserName
|
||||||
from zhenxun.utils.message import MessageUtils
|
|
||||||
from zhenxun.utils.exception import GoodsNotFound
|
|
||||||
from zhenxun.utils.enum import BlockType, PluginType
|
from zhenxun.utils.enum import BlockType, PluginType
|
||||||
from zhenxun.configs.utils import BaseBlock, PluginExtraData
|
from zhenxun.utils.exception import GoodsNotFound
|
||||||
|
from zhenxun.utils.message import MessageUtils
|
||||||
|
|
||||||
from ._data_source import ShopManage, gold_rank
|
from ._data_source import ShopManage, gold_rank
|
||||||
|
|
||||||
@ -184,9 +184,9 @@ async def _(
|
|||||||
elif isinstance(result, UniMessage):
|
elif isinstance(result, UniMessage):
|
||||||
await result.finish(reply_to=True)
|
await result.finish(reply_to=True)
|
||||||
except GoodsNotFound:
|
except GoodsNotFound:
|
||||||
await MessageUtils.build_message(f"没有找到道具 {name.result} 或道具数量不足...").send(
|
await MessageUtils.build_message(
|
||||||
reply_to=True
|
f"没有找到道具 {name.result} 或道具数量不足..."
|
||||||
)
|
).send(reply_to=True)
|
||||||
|
|
||||||
|
|
||||||
@_matcher.assign("gold-list")
|
@_matcher.assign("gold-list")
|
||||||
|
|||||||
@ -1,27 +1,27 @@
|
|||||||
import time
|
|
||||||
import asyncio
|
import asyncio
|
||||||
import inspect
|
|
||||||
from typing import Any, Literal
|
|
||||||
from types import MappingProxyType
|
|
||||||
from collections.abc import Callable
|
from collections.abc import Callable
|
||||||
|
import inspect
|
||||||
|
import time
|
||||||
|
from types import MappingProxyType
|
||||||
|
from typing import Any, Literal
|
||||||
|
|
||||||
from nonebot.adapters import Bot, Event
|
from nonebot.adapters import Bot, Event
|
||||||
|
from nonebot_plugin_alconna import UniMessage, UniMsg
|
||||||
|
from nonebot_plugin_session import EventSession
|
||||||
from nonebot_plugin_uninfo import Uninfo
|
from nonebot_plugin_uninfo import Uninfo
|
||||||
from pydantic import BaseModel, create_model
|
from pydantic import BaseModel, create_model
|
||||||
from nonebot_plugin_session import EventSession
|
|
||||||
from nonebot_plugin_alconna import UniMsg, UniMessage
|
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
|
||||||
from zhenxun.models.goods_info import GoodsInfo
|
|
||||||
from zhenxun.utils.platform import PlatformUtils
|
|
||||||
from zhenxun.models.friend_user import FriendUser
|
|
||||||
from zhenxun.configs.path_config import IMAGE_PATH
|
from zhenxun.configs.path_config import IMAGE_PATH
|
||||||
|
from zhenxun.models.friend_user import FriendUser
|
||||||
|
from zhenxun.models.goods_info import GoodsInfo
|
||||||
|
from zhenxun.models.group_member_info import GroupInfoUser
|
||||||
from zhenxun.models.user_console import UserConsole
|
from zhenxun.models.user_console import UserConsole
|
||||||
from zhenxun.models.user_gold_log import UserGoldLog
|
from zhenxun.models.user_gold_log import UserGoldLog
|
||||||
from zhenxun.utils.enum import GoldHandle, PropHandle
|
|
||||||
from zhenxun.models.user_props_log import UserPropsLog
|
from zhenxun.models.user_props_log import UserPropsLog
|
||||||
from zhenxun.models.group_member_info import GroupInfoUser
|
from zhenxun.services.log import logger
|
||||||
|
from zhenxun.utils.enum import GoldHandle, PropHandle
|
||||||
from zhenxun.utils.image_utils import BuildImage, ImageTemplate, text2image
|
from zhenxun.utils.image_utils import BuildImage, ImageTemplate, text2image
|
||||||
|
from zhenxun.utils.platform import PlatformUtils
|
||||||
|
|
||||||
ICON_PATH = IMAGE_PATH / "shop_icon"
|
ICON_PATH = IMAGE_PATH / "shop_icon"
|
||||||
|
|
||||||
|
|||||||
@ -1,26 +1,25 @@
|
|||||||
from nonebot_plugin_uninfo import Uninfo
|
|
||||||
from nonebot.plugin import PluginMetadata
|
from nonebot.plugin import PluginMetadata
|
||||||
from nonebot_plugin_session import EventSession
|
|
||||||
from nonebot_plugin_apscheduler import scheduler
|
|
||||||
from nonebot_plugin_alconna import (
|
from nonebot_plugin_alconna import (
|
||||||
Args,
|
|
||||||
Query,
|
|
||||||
Option,
|
|
||||||
Alconna,
|
Alconna,
|
||||||
Arparma,
|
|
||||||
AlconnaQuery,
|
AlconnaQuery,
|
||||||
|
Args,
|
||||||
|
Arparma,
|
||||||
|
Option,
|
||||||
|
Query,
|
||||||
on_alconna,
|
on_alconna,
|
||||||
store_true,
|
store_true,
|
||||||
)
|
)
|
||||||
|
from nonebot_plugin_apscheduler import scheduler
|
||||||
|
from nonebot_plugin_uninfo import Uninfo
|
||||||
|
|
||||||
|
from zhenxun.configs.utils import PluginCdBlock, PluginExtraData, RegisterConfig
|
||||||
from zhenxun.services.log import logger
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.depends import UserName
|
from zhenxun.utils.depends import UserName
|
||||||
from zhenxun.utils.message import MessageUtils
|
from zhenxun.utils.message import MessageUtils
|
||||||
from zhenxun.configs.utils import PluginCdBlock, RegisterConfig, PluginExtraData
|
|
||||||
|
|
||||||
from ._data_source import SignManage
|
from ._data_source import SignManage
|
||||||
from .utils import clear_sign_data_pic
|
|
||||||
from .goods_register import driver # noqa: F401
|
from .goods_register import driver # noqa: F401
|
||||||
|
from .utils import clear_sign_data_pic
|
||||||
|
|
||||||
__plugin_meta__ = PluginMetadata(
|
__plugin_meta__ = PluginMetadata(
|
||||||
name="签到",
|
name="签到",
|
||||||
|
|||||||
@ -1,23 +1,23 @@
|
|||||||
|
from datetime import datetime
|
||||||
|
from pathlib import Path
|
||||||
import random
|
import random
|
||||||
import secrets
|
import secrets
|
||||||
from pathlib import Path
|
|
||||||
from datetime import datetime
|
|
||||||
|
|
||||||
import pytz
|
|
||||||
from nonebot_plugin_uninfo import Uninfo
|
from nonebot_plugin_uninfo import Uninfo
|
||||||
|
import pytz
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
from zhenxun.configs.path_config import IMAGE_PATH
|
||||||
|
from zhenxun.models.friend_user import FriendUser
|
||||||
|
from zhenxun.models.group_member_info import GroupInfoUser
|
||||||
from zhenxun.models.sign_log import SignLog
|
from zhenxun.models.sign_log import SignLog
|
||||||
from zhenxun.models.sign_user import SignUser
|
from zhenxun.models.sign_user import SignUser
|
||||||
from zhenxun.utils.platform import PlatformUtils
|
|
||||||
from zhenxun.models.friend_user import FriendUser
|
|
||||||
from zhenxun.configs.path_config import IMAGE_PATH
|
|
||||||
from zhenxun.models.user_console import UserConsole
|
from zhenxun.models.user_console import UserConsole
|
||||||
from zhenxun.models.group_member_info import GroupInfoUser
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.image_utils import BuildImage, ImageTemplate
|
from zhenxun.utils.image_utils import BuildImage, ImageTemplate
|
||||||
|
from zhenxun.utils.platform import PlatformUtils
|
||||||
|
|
||||||
from .utils import get_card
|
|
||||||
from ._random_event import random_event
|
from ._random_event import random_event
|
||||||
|
from .utils import get_card
|
||||||
|
|
||||||
ICON_PATH = IMAGE_PATH / "_icon"
|
ICON_PATH = IMAGE_PATH / "_icon"
|
||||||
|
|
||||||
|
|||||||
@ -1,30 +1,30 @@
|
|||||||
import os
|
|
||||||
import random
|
|
||||||
from io import BytesIO
|
|
||||||
from pathlib import Path
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
from io import BytesIO
|
||||||
|
import os
|
||||||
|
from pathlib import Path
|
||||||
|
import random
|
||||||
|
|
||||||
import pytz
|
|
||||||
import nonebot
|
import nonebot
|
||||||
from nonebot.drivers import Driver
|
from nonebot.drivers import Driver
|
||||||
from nonebot_plugin_uninfo import Uninfo
|
|
||||||
from nonebot_plugin_htmlrender import template_to_pic
|
from nonebot_plugin_htmlrender import template_to_pic
|
||||||
|
from nonebot_plugin_uninfo import Uninfo
|
||||||
|
import pytz
|
||||||
|
|
||||||
|
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_log import SignLog
|
||||||
from zhenxun.models.sign_user import SignUser
|
from zhenxun.models.sign_user import SignUser
|
||||||
from zhenxun.utils.http_utils import AsyncHttpx
|
from zhenxun.utils.http_utils import AsyncHttpx
|
||||||
from zhenxun.utils.image_utils import BuildImage
|
from zhenxun.utils.image_utils import BuildImage
|
||||||
from zhenxun.configs.config import Config, BotConfig
|
|
||||||
from zhenxun.configs.path_config import IMAGE_PATH, TEMPLATE_PATH
|
|
||||||
|
|
||||||
from .config import (
|
from .config import (
|
||||||
|
SIGN_BACKGROUND_PATH,
|
||||||
SIGN_BORDER_PATH,
|
SIGN_BORDER_PATH,
|
||||||
SIGN_RESOURCE_PATH,
|
SIGN_RESOURCE_PATH,
|
||||||
SIGN_BACKGROUND_PATH,
|
|
||||||
SIGN_TODAY_CARD_PATH,
|
SIGN_TODAY_CARD_PATH,
|
||||||
|
level2attitude,
|
||||||
lik2level,
|
lik2level,
|
||||||
lik2relation,
|
lik2relation,
|
||||||
level2attitude,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
assert (
|
assert (
|
||||||
|
|||||||
@ -25,7 +25,7 @@ statistics_user_file = DATA_PATH / "statistics" / "_prefix_user_count.json"
|
|||||||
|
|
||||||
for file in [statistics_group_file, statistics_user_file]:
|
for file in [statistics_group_file, statistics_user_file]:
|
||||||
if file.exists():
|
if file.exists():
|
||||||
with open(file, "r", encoding="utf8") as f:
|
with open(file, encoding="utf8") as f:
|
||||||
data = json.load(f)
|
data = json.load(f)
|
||||||
if not (statistics_group_file.parent / f"{file}.bak").exists():
|
if not (statistics_group_file.parent / f"{file}.bak").exists():
|
||||||
with open(f"{file}.bak", "w", encoding="utf8") as wf:
|
with open(f"{file}.bak", "w", encoding="utf8") as wf:
|
||||||
|
|||||||
@ -2,14 +2,14 @@ from datetime import datetime, timedelta
|
|||||||
|
|
||||||
from tortoise.functions import Count
|
from tortoise.functions import Count
|
||||||
|
|
||||||
from zhenxun.utils.enum import PluginType
|
|
||||||
from zhenxun.models.statistics import Statistics
|
|
||||||
from zhenxun.utils.image_utils import BuildImage
|
|
||||||
from zhenxun.models.plugin_info import PluginInfo
|
|
||||||
from zhenxun.utils.echart_utils import ChartUtils
|
|
||||||
from zhenxun.utils.echart_utils.models import Barh
|
|
||||||
from zhenxun.models.group_console import GroupConsole
|
from zhenxun.models.group_console import GroupConsole
|
||||||
from zhenxun.models.group_member_info import GroupInfoUser
|
from zhenxun.models.group_member_info import GroupInfoUser
|
||||||
|
from zhenxun.models.plugin_info import PluginInfo
|
||||||
|
from zhenxun.models.statistics import Statistics
|
||||||
|
from zhenxun.utils.echart_utils import ChartUtils
|
||||||
|
from zhenxun.utils.echart_utils.models import Barh
|
||||||
|
from zhenxun.utils.enum import PluginType
|
||||||
|
from zhenxun.utils.image_utils import BuildImage
|
||||||
|
|
||||||
|
|
||||||
class StatisticsManage:
|
class StatisticsManage:
|
||||||
|
|||||||
@ -1,18 +1,18 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
from nonebot.matcher import Matcher
|
|
||||||
from nonebot.adapters import Bot, Event
|
from nonebot.adapters import Bot, Event
|
||||||
from nonebot.plugin import PluginMetadata
|
|
||||||
from nonebot.message import run_postprocessor
|
|
||||||
from nonebot_plugin_session import EventSession
|
|
||||||
from nonebot_plugin_apscheduler import scheduler
|
|
||||||
from nonebot.adapters.onebot.v11 import PokeNotifyEvent
|
from nonebot.adapters.onebot.v11 import PokeNotifyEvent
|
||||||
|
from nonebot.matcher import Matcher
|
||||||
|
from nonebot.message import run_postprocessor
|
||||||
|
from nonebot.plugin import PluginMetadata
|
||||||
|
from nonebot_plugin_apscheduler import scheduler
|
||||||
|
from nonebot_plugin_session import EventSession
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
|
||||||
from zhenxun.utils.enum import PluginType
|
|
||||||
from zhenxun.models.statistics import Statistics
|
|
||||||
from zhenxun.configs.utils import PluginExtraData
|
from zhenxun.configs.utils import PluginExtraData
|
||||||
from zhenxun.models.plugin_info import PluginInfo
|
from zhenxun.models.plugin_info import PluginInfo
|
||||||
|
from zhenxun.models.statistics import Statistics
|
||||||
|
from zhenxun.services.log import logger
|
||||||
|
from zhenxun.utils.enum import PluginType
|
||||||
|
|
||||||
__plugin_meta__ = PluginMetadata(
|
__plugin_meta__ = PluginMetadata(
|
||||||
name="功能调用统计",
|
name="功能调用统计",
|
||||||
|
|||||||
@ -1,20 +1,7 @@
|
|||||||
import os
|
|
||||||
import time
|
|
||||||
|
|
||||||
from nonebot.rule import to_me
|
|
||||||
from nonebot.utils import run_sync
|
|
||||||
from nonebot.permission import SUPERUSER
|
|
||||||
from nonebot.plugin import PluginMetadata
|
from nonebot.plugin import PluginMetadata
|
||||||
from nonebot_plugin_session import EventSession
|
|
||||||
from nonebot_plugin_apscheduler import scheduler
|
|
||||||
from nonebot_plugin_alconna import Alconna, on_alconna
|
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
|
||||||
from zhenxun.utils.enum import PluginType
|
|
||||||
from zhenxun.utils.message import MessageUtils
|
|
||||||
from zhenxun.configs.path_config import TEMP_PATH
|
|
||||||
from zhenxun.configs.utils import PluginExtraData
|
from zhenxun.configs.utils import PluginExtraData
|
||||||
from zhenxun.utils.utils import ResourceDirManager
|
from zhenxun.utils.enum import PluginType
|
||||||
|
|
||||||
__plugin_meta__ = PluginMetadata(
|
__plugin_meta__ = PluginMetadata(
|
||||||
name="Bot管理",
|
name="Bot管理",
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
from nonebot.adapters import Bot
|
from nonebot.adapters import Bot
|
||||||
import nonebot_plugin_alconna as alc
|
import nonebot_plugin_alconna as alc
|
||||||
from nonebot_plugin_session import EventSession
|
|
||||||
|
|
||||||
# from nonebot.adapters.discord import Bot as DiscordBot
|
# from nonebot.adapters.discord import Bot as DiscordBot
|
||||||
# from nonebot.adapters.dodo import Bot as DodoBot
|
# from nonebot.adapters.dodo import Bot as DodoBot
|
||||||
@ -8,11 +7,12 @@ from nonebot_plugin_session import EventSession
|
|||||||
# from nonebot.adapters.onebot.v11 import Bot as v11Bot
|
# from nonebot.adapters.onebot.v11 import Bot as v11Bot
|
||||||
# from nonebot.adapters.onebot.v12 import Bot as v12Bot
|
# from nonebot.adapters.onebot.v12 import Bot as v12Bot
|
||||||
from nonebot_plugin_alconna import Image, UniMsg
|
from nonebot_plugin_alconna import Image, UniMsg
|
||||||
|
from nonebot_plugin_session import EventSession
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
from zhenxun.services.log import logger
|
||||||
|
from zhenxun.utils.common_utils import CommonUtils
|
||||||
from zhenxun.utils.message import MessageUtils
|
from zhenxun.utils.message import MessageUtils
|
||||||
from zhenxun.utils.platform import PlatformUtils
|
from zhenxun.utils.platform import PlatformUtils
|
||||||
from zhenxun.utils.common_utils import CommonUtils
|
|
||||||
|
|
||||||
|
|
||||||
class BroadcastManage:
|
class BroadcastManage:
|
||||||
|
|||||||
@ -47,10 +47,10 @@ async def _(session: EventSession):
|
|||||||
await MessageUtils.build_message("开始清理临时数据...").send()
|
await MessageUtils.build_message("开始清理临时数据...").send()
|
||||||
size = await _clear_data()
|
size = await _clear_data()
|
||||||
await MessageUtils.build_message(
|
await MessageUtils.build_message(
|
||||||
"共清理了 {:.2f}MB 的数据...".format(size / 1024 / 1024)
|
f"共清理了 {size / 1024 / 1024:.2f}MB 的数据..."
|
||||||
).send()
|
).send()
|
||||||
logger.info(
|
logger.info(
|
||||||
"清理临时数据完成,共清理了 {:.2f}MB 的数据...".format(size / 1024 / 1024),
|
f"清理临时数据完成,共清理了 {size / 1024 / 1024:.2f}MB 的数据...",
|
||||||
session=session,
|
session=session,
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -79,9 +79,7 @@ def _clear_data() -> float:
|
|||||||
"清理临时数据",
|
"清理临时数据",
|
||||||
e=e,
|
e=e,
|
||||||
)
|
)
|
||||||
logger.debug(
|
logger.debug(f"清理临时文件夹大小: {size / 1024 / 1024:.2f}MB", "清理临时数据")
|
||||||
"清理临时文件夹大小: {:.2f}MB".format(size / 1024 / 1024), "清理临时数据"
|
|
||||||
)
|
|
||||||
return float(size)
|
return float(size)
|
||||||
|
|
||||||
|
|
||||||
@ -93,6 +91,6 @@ def _clear_data() -> float:
|
|||||||
async def _():
|
async def _():
|
||||||
size = await _clear_data()
|
size = await _clear_data()
|
||||||
logger.info(
|
logger.info(
|
||||||
"自动清理临时数据完成,共清理了 {:.2f}MB 的数据...".format(size / 1024 / 1024),
|
f"自动清理临时数据完成,共清理了 {size / 1024 / 1024:.2f}MB 的数据...",
|
||||||
"定时任务",
|
"定时任务",
|
||||||
)
|
)
|
||||||
|
|||||||
@ -1,18 +1,18 @@
|
|||||||
from tortoise import Tortoise
|
|
||||||
from nonebot import on_command
|
from nonebot import on_command
|
||||||
from nonebot.rule import to_me
|
|
||||||
from nonebot.permission import SUPERUSER
|
from nonebot.permission import SUPERUSER
|
||||||
from nonebot.plugin import PluginMetadata
|
from nonebot.plugin import PluginMetadata
|
||||||
|
from nonebot.rule import to_me
|
||||||
from nonebot_plugin_alconna import UniMsg
|
from nonebot_plugin_alconna import UniMsg
|
||||||
from nonebot_plugin_session import EventSession
|
from nonebot_plugin_session import EventSession
|
||||||
|
from tortoise import Tortoise
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
|
||||||
from zhenxun.utils.enum import PluginType
|
|
||||||
from zhenxun.configs.config import BotConfig
|
from zhenxun.configs.config import BotConfig
|
||||||
from zhenxun.utils.message import MessageUtils
|
|
||||||
from zhenxun.configs.utils import PluginExtraData
|
from zhenxun.configs.utils import PluginExtraData
|
||||||
from zhenxun.models.ban_console import BanConsole
|
from zhenxun.models.ban_console import BanConsole
|
||||||
|
from zhenxun.services.log import logger
|
||||||
|
from zhenxun.utils.enum import PluginType
|
||||||
from zhenxun.utils.image_utils import ImageTemplate
|
from zhenxun.utils.image_utils import ImageTemplate
|
||||||
|
from zhenxun.utils.message import MessageUtils
|
||||||
|
|
||||||
__plugin_meta__ = PluginMetadata(
|
__plugin_meta__ = PluginMetadata(
|
||||||
name="数据库操作",
|
name="数据库操作",
|
||||||
@ -57,7 +57,8 @@ SELECT name FROM sqlite_master WHERE type='table';
|
|||||||
SELECT_TABLE_PSQL_SQL = """
|
SELECT_TABLE_PSQL_SQL = """
|
||||||
select a.tablename as name,d.description as desc from pg_tables a
|
select a.tablename as name,d.description as desc from pg_tables a
|
||||||
left join pg_class c on relname=tablename
|
left join pg_class c on relname=tablename
|
||||||
left join pg_description d on oid=objoid and objsubid=0 where a.schemaname = 'public'
|
left join pg_description d on oid=objoid and objsubid=0
|
||||||
|
where a.schemaname = 'public'
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -10,7 +10,6 @@ from zhenxun.configs.utils import PluginExtraData
|
|||||||
from zhenxun.services.log import logger
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.enum import PluginType
|
from zhenxun.utils.enum import PluginType
|
||||||
from zhenxun.utils.message import MessageUtils
|
from zhenxun.utils.message import MessageUtils
|
||||||
from zhenxun.utils.rules import admin_check, ensure_group
|
|
||||||
|
|
||||||
__plugin_meta__ = PluginMetadata(
|
__plugin_meta__ = PluginMetadata(
|
||||||
name="好友群组列表",
|
name="好友群组列表",
|
||||||
@ -72,7 +71,7 @@ async def _(
|
|||||||
msg = f"| UID | 昵称 | 共{len(fl)}个好友\n" + msg
|
msg = f"| UID | 昵称 | 共{len(fl)}个好友\n" + msg
|
||||||
await MessageUtils.build_message(msg).send()
|
await MessageUtils.build_message(msg).send()
|
||||||
logger.info("查看好友列表", "好友列表", session=session)
|
logger.info("查看好友列表", "好友列表", session=session)
|
||||||
except (ApiNotAvailable, AttributeError) as e:
|
except (ApiNotAvailable, AttributeError):
|
||||||
await MessageUtils.build_message("Api未实现...").send()
|
await MessageUtils.build_message("Api未实现...").send()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error("好友列表发生错误", "好友列表", session=session, e=e)
|
logger.error("好友列表发生错误", "好友列表", session=session, e=e)
|
||||||
@ -92,7 +91,7 @@ async def _(
|
|||||||
msg = f"| GID | 名称 | 共{len(gl)}个群组\n" + msg
|
msg = f"| GID | 名称 | 共{len(gl)}个群组\n" + msg
|
||||||
await MessageUtils.build_message(msg).send()
|
await MessageUtils.build_message(msg).send()
|
||||||
logger.info("查看群组列表", "群组列表", session=session)
|
logger.info("查看群组列表", "群组列表", session=session)
|
||||||
except (ApiNotAvailable, AttributeError) as e:
|
except (ApiNotAvailable, AttributeError):
|
||||||
await MessageUtils.build_message("Api未实现...").send()
|
await MessageUtils.build_message("Api未实现...").send()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error("查看群组列表发生错误", "群组列表", session=session, e=e)
|
logger.error("查看群组列表发生错误", "群组列表", session=session, e=e)
|
||||||
|
|||||||
@ -204,8 +204,8 @@ async def _(bot: Bot, session: EventSession, arparma: Arparma, group_id: int):
|
|||||||
await MessageUtils.build_message(f"退出群组 {group_id} 成功!").send()
|
await MessageUtils.build_message(f"退出群组 {group_id} 成功!").send()
|
||||||
await GroupConsole.filter(group_id=group_id).delete()
|
await GroupConsole.filter(group_id=group_id).delete()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"退出群组失败", "退群", session=session, target=group_id, e=e)
|
logger.error("退出群组失败", "退群", session=session, target=group_id, e=e)
|
||||||
await MessageUtils.build_message(f"退出群组 {group_id} 失败...").send()
|
await MessageUtils.build_message(f"退出群组 {group_id} 失败...").send()
|
||||||
else:
|
else:
|
||||||
# TODO: 其他平台的退群操作
|
# TODO: 其他平台的退群操作
|
||||||
await MessageUtils.build_message(f"暂未支持退群操作...").send()
|
await MessageUtils.build_message("暂未支持退群操作...").send()
|
||||||
|
|||||||
@ -1,22 +1,22 @@
|
|||||||
from nonebot.permission import SUPERUSER
|
from nonebot.permission import SUPERUSER
|
||||||
from nonebot.plugin import PluginMetadata
|
from nonebot.plugin import PluginMetadata
|
||||||
from nonebot_plugin_session import EventSession, SessionLevel
|
|
||||||
from nonebot_plugin_alconna import (
|
from nonebot_plugin_alconna import (
|
||||||
At,
|
Alconna,
|
||||||
Args,
|
Args,
|
||||||
|
Arparma,
|
||||||
|
At,
|
||||||
Match,
|
Match,
|
||||||
Option,
|
Option,
|
||||||
Alconna,
|
|
||||||
Arparma,
|
|
||||||
Subcommand,
|
Subcommand,
|
||||||
on_alconna,
|
on_alconna,
|
||||||
)
|
)
|
||||||
|
from nonebot_plugin_session import EventSession, SessionLevel
|
||||||
|
|
||||||
|
from zhenxun.configs.utils import PluginExtraData
|
||||||
|
from zhenxun.models.level_user import LevelUser
|
||||||
from zhenxun.services.log import logger
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.enum import PluginType
|
from zhenxun.utils.enum import PluginType
|
||||||
from zhenxun.utils.message import MessageUtils
|
from zhenxun.utils.message import MessageUtils
|
||||||
from zhenxun.models.level_user import LevelUser
|
|
||||||
from zhenxun.configs.utils import PluginExtraData
|
|
||||||
|
|
||||||
__plugin_meta__ = PluginMetadata(
|
__plugin_meta__ = PluginMetadata(
|
||||||
name="用户权限管理",
|
name="用户权限管理",
|
||||||
|
|||||||
@ -1,17 +1,17 @@
|
|||||||
from nonebot.permission import SUPERUSER
|
from nonebot.permission import SUPERUSER
|
||||||
from nonebot.plugin import PluginMetadata
|
from nonebot.plugin import PluginMetadata
|
||||||
from nonebot_plugin_session import EventSession
|
|
||||||
from nonebot_plugin_alconna import Alconna, Arparma, on_alconna
|
from nonebot_plugin_alconna import Alconna, Arparma, on_alconna
|
||||||
|
from nonebot_plugin_session import EventSession
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
|
||||||
from zhenxun.configs.config import Config
|
from zhenxun.configs.config import Config
|
||||||
|
from zhenxun.configs.utils import PluginExtraData, RegisterConfig
|
||||||
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.enum import PluginType
|
from zhenxun.utils.enum import PluginType
|
||||||
from zhenxun.utils.exception import EmptyError
|
from zhenxun.utils.exception import EmptyError
|
||||||
from zhenxun.utils.message import MessageUtils
|
from zhenxun.utils.message import MessageUtils
|
||||||
from zhenxun.configs.utils import RegisterConfig, PluginExtraData
|
|
||||||
|
|
||||||
from .normal_help import build_help
|
|
||||||
from .config import SUPERUSER_HELP_IMAGE
|
from .config import SUPERUSER_HELP_IMAGE
|
||||||
|
from .normal_help import build_help
|
||||||
from .zhenxun_help import build_html_help
|
from .zhenxun_help import build_html_help
|
||||||
|
|
||||||
__plugin_meta__ = PluginMetadata(
|
__plugin_meta__ = PluginMetadata(
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
from pydantic import BaseModel
|
|
||||||
from nonebot.plugin import PluginMetadata
|
from nonebot.plugin import PluginMetadata
|
||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
from zhenxun.models.plugin_info import PluginInfo
|
|
||||||
from zhenxun.configs.path_config import IMAGE_PATH
|
from zhenxun.configs.path_config import IMAGE_PATH
|
||||||
|
from zhenxun.models.plugin_info import PluginInfo
|
||||||
|
|
||||||
SUPERUSER_HELP_IMAGE = IMAGE_PATH / "SUPERUSER_HELP.png"
|
SUPERUSER_HELP_IMAGE = IMAGE_PATH / "SUPERUSER_HELP.png"
|
||||||
if SUPERUSER_HELP_IMAGE.exists():
|
if SUPERUSER_HELP_IMAGE.exists():
|
||||||
|
|||||||
@ -1,14 +1,14 @@
|
|||||||
from PIL.ImageFont import FreeTypeFont
|
|
||||||
from nonebot.plugin import PluginMetadata
|
from nonebot.plugin import PluginMetadata
|
||||||
|
from PIL.ImageFont import FreeTypeFont
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
|
||||||
from zhenxun.models.task_info import TaskInfo
|
|
||||||
from zhenxun.models.plugin_info import PluginInfo
|
from zhenxun.models.plugin_info import PluginInfo
|
||||||
|
from zhenxun.models.task_info import TaskInfo
|
||||||
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils._build_image import BuildImage
|
from zhenxun.utils._build_image import BuildImage
|
||||||
from zhenxun.utils.image_utils import text2image, group_image, build_sort_image
|
from zhenxun.utils.image_utils import build_sort_image, group_image, text2image
|
||||||
|
|
||||||
from .utils import get_plugins
|
|
||||||
from .config import SUPERUSER_HELP_IMAGE
|
from .config import SUPERUSER_HELP_IMAGE
|
||||||
|
from .utils import get_plugins
|
||||||
|
|
||||||
|
|
||||||
async def build_usage_des_image(
|
async def build_usage_des_image(
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
import nonebot
|
import nonebot
|
||||||
|
|
||||||
|
from zhenxun.models.plugin_info import PluginInfo
|
||||||
from zhenxun.utils.enum import PluginType
|
from zhenxun.utils.enum import PluginType
|
||||||
from zhenxun.utils.exception import EmptyError
|
from zhenxun.utils.exception import EmptyError
|
||||||
from zhenxun.models.plugin_info import PluginInfo
|
|
||||||
|
|
||||||
from .config import PluginData
|
from .config import PluginData
|
||||||
|
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
from nonebot_plugin_htmlrender import template_to_pic
|
from nonebot_plugin_htmlrender import template_to_pic
|
||||||
|
|
||||||
from zhenxun.configs.config import BotConfig
|
from zhenxun.configs.config import BotConfig
|
||||||
|
from zhenxun.configs.path_config import TEMPLATE_PATH
|
||||||
from zhenxun.models.task_info import TaskInfo
|
from zhenxun.models.task_info import TaskInfo
|
||||||
from zhenxun.utils._build_image import BuildImage
|
from zhenxun.utils._build_image import BuildImage
|
||||||
from zhenxun.configs.path_config import TEMPLATE_PATH
|
|
||||||
|
|
||||||
from .utils import get_plugins
|
|
||||||
from .config import SUPERUSER_HELP_IMAGE
|
from .config import SUPERUSER_HELP_IMAGE
|
||||||
|
from .utils import get_plugins
|
||||||
|
|
||||||
|
|
||||||
async def get_task() -> dict[str, str] | None:
|
async def get_task() -> dict[str, str] | None:
|
||||||
|
|||||||
@ -1,29 +1,29 @@
|
|||||||
import asyncio
|
import asyncio
|
||||||
import secrets
|
import secrets
|
||||||
|
|
||||||
|
from fastapi import APIRouter, FastAPI
|
||||||
import nonebot
|
import nonebot
|
||||||
from fastapi import FastAPI, APIRouter
|
|
||||||
from nonebot.plugin import PluginMetadata
|
|
||||||
from nonebot.log import default_filter, default_format
|
from nonebot.log import default_filter, default_format
|
||||||
|
from nonebot.plugin import PluginMetadata
|
||||||
|
|
||||||
from zhenxun.utils.enum import PluginType
|
|
||||||
from zhenxun.services.log import logger, logger_
|
|
||||||
from zhenxun.configs.config import Config as gConfig
|
from zhenxun.configs.config import Config as gConfig
|
||||||
from zhenxun.configs.utils import RegisterConfig, PluginExtraData
|
from zhenxun.configs.utils import PluginExtraData, RegisterConfig
|
||||||
|
from zhenxun.services.log import logger, logger_
|
||||||
|
from zhenxun.utils.enum import PluginType
|
||||||
|
|
||||||
from .public import init_public
|
|
||||||
from .auth import router as auth_router
|
|
||||||
from .api.logs import router as ws_log_routes
|
from .api.logs import router as ws_log_routes
|
||||||
from .api.logs.log_manager import LOG_STORAGE
|
from .api.logs.log_manager import LOG_STORAGE
|
||||||
from .api.tabs.main import router as main_router
|
|
||||||
from .api.tabs.manage import router as manage_router
|
|
||||||
from .api.tabs.system import router as system_router
|
|
||||||
from .api.tabs.main import ws_router as status_routes
|
|
||||||
from .api.tabs.database import router as database_router
|
|
||||||
from .api.tabs.dashboard import router as dashboard_router
|
from .api.tabs.dashboard import router as dashboard_router
|
||||||
|
from .api.tabs.database import router as database_router
|
||||||
|
from .api.tabs.main import router as main_router
|
||||||
|
from .api.tabs.main import ws_router as status_routes
|
||||||
|
from .api.tabs.manage import router as manage_router
|
||||||
from .api.tabs.manage.chat import ws_router as chat_routes
|
from .api.tabs.manage.chat import ws_router as chat_routes
|
||||||
from .api.tabs.plugin_manage import router as plugin_router
|
from .api.tabs.plugin_manage import router as plugin_router
|
||||||
from .api.tabs.plugin_manage.store import router as store_router
|
from .api.tabs.plugin_manage.store import router as store_router
|
||||||
|
from .api.tabs.system import router as system_router
|
||||||
|
from .auth import router as auth_router
|
||||||
|
from .public import init_public
|
||||||
|
|
||||||
__plugin_meta__ = PluginMetadata(
|
__plugin_meta__ = PluginMetadata(
|
||||||
name="WebUi",
|
name="WebUi",
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import asyncio
|
import asyncio
|
||||||
|
from collections.abc import Awaitable, Callable
|
||||||
from typing import Generic, TypeVar
|
from typing import Generic, TypeVar
|
||||||
from collections.abc import Callable, Awaitable
|
|
||||||
|
|
||||||
_T = TypeVar("_T")
|
_T = TypeVar("_T")
|
||||||
LogListener = Callable[[_T], Awaitable[None]]
|
LogListener = Callable[[_T], Awaitable[None]]
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
from loguru import logger
|
|
||||||
from fastapi import APIRouter
|
from fastapi import APIRouter
|
||||||
|
from loguru import logger
|
||||||
from nonebot.utils import escape_tag
|
from nonebot.utils import escape_tag
|
||||||
from starlette.websockets import WebSocket, WebSocketState, WebSocketDisconnect
|
from starlette.websockets import WebSocket, WebSocketDisconnect, WebSocketState
|
||||||
|
|
||||||
from .log_manager import LOG_STORAGE
|
from .log_manager import LOG_STORAGE
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
from .database import *
|
from .database import * # noqa: F403
|
||||||
from .main import *
|
from .main import * # noqa: F403
|
||||||
from .manage import *
|
from .manage import * # noqa: F403
|
||||||
from .plugin_manage import *
|
from .plugin_manage import * # noqa: F403
|
||||||
from .system import *
|
from .system import * # noqa: F403
|
||||||
|
|||||||
@ -1,21 +1,21 @@
|
|||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
|
|
||||||
|
from fastapi import APIRouter
|
||||||
|
from fastapi.responses import JSONResponse
|
||||||
import nonebot
|
import nonebot
|
||||||
from nonebot import require
|
from nonebot import require
|
||||||
from fastapi import APIRouter
|
|
||||||
from nonebot.config import Config
|
from nonebot.config import Config
|
||||||
from tortoise.functions import Count
|
|
||||||
from tortoise.expressions import RawSQL
|
from tortoise.expressions import RawSQL
|
||||||
from fastapi.responses import JSONResponse
|
from tortoise.functions import Count
|
||||||
|
|
||||||
from zhenxun.models.statistics import Statistics
|
from builtin_plugins.web_ui.base_model import BaseResultModel, QueryModel, Result
|
||||||
from zhenxun.models.chat_history import ChatHistory
|
from builtin_plugins.web_ui.utils import authentication
|
||||||
from zhenxun.models.bot_connect_log import BotConnectLog
|
from zhenxun.models.bot_connect_log import BotConnectLog
|
||||||
|
from zhenxun.models.chat_history import ChatHistory
|
||||||
|
from zhenxun.models.statistics import Statistics
|
||||||
|
|
||||||
from .data_source import BotManage
|
from .data_source import BotManage
|
||||||
from ....utils import authentication
|
from .model import AllChatAndCallCount, BotInfo, ChatCallMonthCount, QueryChatCallCount
|
||||||
from ....base_model import Result, QueryModel, BaseResultModel
|
|
||||||
from .model import BotInfo, ChatCallMonthCount, QueryChatCallCount, AllChatAndCallCount
|
|
||||||
|
|
||||||
require("plugin_store")
|
require("plugin_store")
|
||||||
|
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
import time
|
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
|
import time
|
||||||
|
|
||||||
import nonebot
|
import nonebot
|
||||||
from nonebot.adapters import Bot
|
from nonebot.adapters import Bot
|
||||||
from nonebot.drivers import Driver
|
from nonebot.drivers import Driver
|
||||||
|
|
||||||
|
from builtin_plugins.web_ui.api.tabs.main.data_source import bot_live
|
||||||
|
from zhenxun.models.chat_history import ChatHistory
|
||||||
from zhenxun.models.statistics import Statistics
|
from zhenxun.models.statistics import Statistics
|
||||||
from zhenxun.utils.platform import PlatformUtils
|
from zhenxun.utils.platform import PlatformUtils
|
||||||
from zhenxun.models.chat_history import ChatHistory
|
|
||||||
|
|
||||||
from .model import BotInfo
|
from .model import BotInfo
|
||||||
from ..main.data_source import bot_live
|
|
||||||
|
|
||||||
driver: Driver = nonebot.get_driver()
|
driver: Driver = nonebot.get_driver()
|
||||||
|
|
||||||
|
|||||||
@ -1,18 +1,18 @@
|
|||||||
import nonebot
|
from fastapi import APIRouter, Request
|
||||||
from tortoise import Tortoise
|
|
||||||
from nonebot.drivers import Driver
|
|
||||||
from fastapi import Request, APIRouter
|
|
||||||
from fastapi.responses import JSONResponse
|
from fastapi.responses import JSONResponse
|
||||||
|
import nonebot
|
||||||
|
from nonebot.drivers import Driver
|
||||||
|
from tortoise import Tortoise
|
||||||
from tortoise.exceptions import OperationalError
|
from tortoise.exceptions import OperationalError
|
||||||
|
|
||||||
|
from builtin_plugins.web_ui.base_model import BaseResultModel, QueryModel, Result
|
||||||
|
from builtin_plugins.web_ui.utils import authentication
|
||||||
from zhenxun.configs.config import BotConfig
|
from zhenxun.configs.config import BotConfig
|
||||||
from zhenxun.models.task_info import TaskInfo
|
|
||||||
from zhenxun.models.plugin_info import PluginInfo
|
from zhenxun.models.plugin_info import PluginInfo
|
||||||
|
from zhenxun.models.task_info import TaskInfo
|
||||||
|
|
||||||
|
from .models.model import Column, SqlModel, SqlText
|
||||||
from .models.sql_log import SqlLog
|
from .models.sql_log import SqlLog
|
||||||
from ....utils import authentication
|
|
||||||
from .models.model import Column, SqlText, SqlModel
|
|
||||||
from ....base_model import Result, QueryModel, BaseResultModel
|
|
||||||
|
|
||||||
router = APIRouter(prefix="/database")
|
router = APIRouter(prefix="/database")
|
||||||
|
|
||||||
|
|||||||
@ -1,35 +1,35 @@
|
|||||||
import time
|
|
||||||
import asyncio
|
import asyncio
|
||||||
import contextlib
|
import contextlib
|
||||||
from pathlib import Path
|
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
|
from pathlib import Path
|
||||||
|
import time
|
||||||
|
|
||||||
import nonebot
|
|
||||||
from fastapi import APIRouter
|
from fastapi import APIRouter
|
||||||
from nonebot.config import Config
|
|
||||||
from tortoise.functions import Count
|
|
||||||
from fastapi.responses import JSONResponse
|
from fastapi.responses import JSONResponse
|
||||||
from websockets.exceptions import ConnectionClosedOK, ConnectionClosedError
|
import nonebot
|
||||||
from starlette.websockets import WebSocket, WebSocketState, WebSocketDisconnect
|
from nonebot.config import Config
|
||||||
|
from starlette.websockets import WebSocket, WebSocketDisconnect, WebSocketState
|
||||||
|
from tortoise.functions import Count
|
||||||
|
from websockets.exceptions import ConnectionClosedError, ConnectionClosedOK
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
from builtin_plugins.web_ui.base_model import Result
|
||||||
from zhenxun.models.statistics import Statistics
|
from builtin_plugins.web_ui.config import AVA_URL, GROUP_AVA_URL, QueryDateType
|
||||||
from zhenxun.utils.platform import PlatformUtils
|
from builtin_plugins.web_ui.utils import authentication, get_system_status
|
||||||
from zhenxun.models.plugin_info import PluginInfo
|
from zhenxun.models.bot_connect_log import BotConnectLog
|
||||||
from zhenxun.models.chat_history import ChatHistory
|
from zhenxun.models.chat_history import ChatHistory
|
||||||
from zhenxun.models.group_console import GroupConsole
|
from zhenxun.models.group_console import GroupConsole
|
||||||
from zhenxun.models.bot_connect_log import BotConnectLog
|
from zhenxun.models.plugin_info import PluginInfo
|
||||||
|
from zhenxun.models.statistics import Statistics
|
||||||
|
from zhenxun.services.log import logger
|
||||||
|
from zhenxun.utils.platform import PlatformUtils
|
||||||
|
|
||||||
from ....base_model import Result
|
|
||||||
from .data_source import bot_live
|
from .data_source import bot_live
|
||||||
from ....utils import authentication, get_system_status
|
|
||||||
from ....config import AVA_URL, GROUP_AVA_URL, QueryDateType
|
|
||||||
from .model import (
|
from .model import (
|
||||||
|
ActiveGroup,
|
||||||
BaseInfo,
|
BaseInfo,
|
||||||
HotPlugin,
|
HotPlugin,
|
||||||
QueryCount,
|
|
||||||
ActiveGroup,
|
|
||||||
NonebotData,
|
NonebotData,
|
||||||
|
QueryCount,
|
||||||
TemplateBaseInfo,
|
TemplateBaseInfo,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
import time
|
import time
|
||||||
|
|
||||||
import nonebot
|
import nonebot
|
||||||
from nonebot.drivers import Driver
|
|
||||||
from nonebot.adapters.onebot.v11 import Bot
|
from nonebot.adapters.onebot.v11 import Bot
|
||||||
|
from nonebot.drivers import Driver
|
||||||
|
|
||||||
driver: Driver = nonebot.get_driver()
|
driver: Driver = nonebot.get_driver()
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
from pydantic import BaseModel
|
|
||||||
from nonebot.adapters import Bot
|
from nonebot.adapters import Bot
|
||||||
from nonebot.config import Config
|
from nonebot.config import Config
|
||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
|
|
||||||
class SystemStatus(BaseModel):
|
class SystemStatus(BaseModel):
|
||||||
|
|||||||
@ -1,41 +1,41 @@
|
|||||||
import nonebot
|
|
||||||
from fastapi import APIRouter
|
from fastapi import APIRouter
|
||||||
from tortoise.functions import Count
|
|
||||||
from fastapi.responses import JSONResponse
|
from fastapi.responses import JSONResponse
|
||||||
|
import nonebot
|
||||||
from nonebot.adapters.onebot.v11 import ActionFailed
|
from nonebot.adapters.onebot.v11 import ActionFailed
|
||||||
|
from tortoise.functions import Count
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
from builtin_plugins.web_ui.base_model import Result
|
||||||
|
from builtin_plugins.web_ui.config import AVA_URL, GROUP_AVA_URL
|
||||||
|
from builtin_plugins.web_ui.utils import authentication
|
||||||
from zhenxun.configs.config import BotConfig
|
from zhenxun.configs.config import BotConfig
|
||||||
from zhenxun.models.task_info import TaskInfo
|
|
||||||
from zhenxun.models.fg_request import FgRequest
|
|
||||||
from zhenxun.models.statistics import Statistics
|
|
||||||
from zhenxun.utils.platform import PlatformUtils
|
|
||||||
from zhenxun.models.ban_console import BanConsole
|
from zhenxun.models.ban_console import BanConsole
|
||||||
from zhenxun.models.plugin_info import PluginInfo
|
|
||||||
from zhenxun.utils.exception import NotFoundError
|
|
||||||
from zhenxun.models.chat_history import ChatHistory
|
from zhenxun.models.chat_history import ChatHistory
|
||||||
|
from zhenxun.models.fg_request import FgRequest
|
||||||
from zhenxun.models.group_console import GroupConsole
|
from zhenxun.models.group_console import GroupConsole
|
||||||
from zhenxun.utils.enum import RequestType, RequestHandleType
|
from zhenxun.models.plugin_info import PluginInfo
|
||||||
|
from zhenxun.models.statistics import Statistics
|
||||||
|
from zhenxun.models.task_info import TaskInfo
|
||||||
|
from zhenxun.services.log import logger
|
||||||
|
from zhenxun.utils.enum import RequestHandleType, RequestType
|
||||||
|
from zhenxun.utils.exception import NotFoundError
|
||||||
|
from zhenxun.utils.platform import PlatformUtils
|
||||||
|
|
||||||
from ....base_model import Result
|
|
||||||
from ....utils import authentication
|
|
||||||
from ....config import AVA_URL, GROUP_AVA_URL
|
|
||||||
from .model import (
|
from .model import (
|
||||||
Task,
|
|
||||||
Friend,
|
|
||||||
Plugin,
|
|
||||||
ReqResult,
|
|
||||||
LeaveGroup,
|
|
||||||
UserDetail,
|
|
||||||
GroupDetail,
|
|
||||||
GroupResult,
|
|
||||||
SendMessage,
|
|
||||||
UpdateGroup,
|
|
||||||
ClearRequest,
|
ClearRequest,
|
||||||
DeleteFriend,
|
DeleteFriend,
|
||||||
HandleRequest,
|
Friend,
|
||||||
GroupRequestResult,
|
|
||||||
FriendRequestResult,
|
FriendRequestResult,
|
||||||
|
GroupDetail,
|
||||||
|
GroupRequestResult,
|
||||||
|
GroupResult,
|
||||||
|
HandleRequest,
|
||||||
|
LeaveGroup,
|
||||||
|
Plugin,
|
||||||
|
ReqResult,
|
||||||
|
SendMessage,
|
||||||
|
Task,
|
||||||
|
UpdateGroup,
|
||||||
|
UserDetail,
|
||||||
)
|
)
|
||||||
|
|
||||||
router = APIRouter(prefix="/manage")
|
router = APIRouter(prefix="/manage")
|
||||||
|
|||||||
@ -1,15 +1,15 @@
|
|||||||
import nonebot
|
|
||||||
from fastapi import APIRouter
|
from fastapi import APIRouter
|
||||||
|
import nonebot
|
||||||
from nonebot import on_message
|
from nonebot import on_message
|
||||||
from nonebot_plugin_session import EventSession
|
|
||||||
from nonebot.adapters.onebot.v11 import MessageEvent
|
from nonebot.adapters.onebot.v11 import MessageEvent
|
||||||
from nonebot_plugin_alconna import At, Text, Hyper, Image, UniMsg
|
from nonebot_plugin_alconna import At, Hyper, Image, Text, UniMsg
|
||||||
from starlette.websockets import WebSocket, WebSocketState, WebSocketDisconnect
|
from nonebot_plugin_session import EventSession
|
||||||
|
from starlette.websockets import WebSocket, WebSocketDisconnect, WebSocketState
|
||||||
|
|
||||||
from zhenxun.utils.depends import UserName
|
from builtin_plugins.web_ui.config import AVA_URL
|
||||||
from zhenxun.models.group_member_info import GroupInfoUser
|
from zhenxun.models.group_member_info import GroupInfoUser
|
||||||
|
from zhenxun.utils.depends import UserName
|
||||||
|
|
||||||
from ....config import AVA_URL
|
|
||||||
from .model import Message, MessageItem
|
from .model import Message, MessageItem
|
||||||
|
|
||||||
driver = nonebot.get_driver()
|
driver = nonebot.get_driver()
|
||||||
|
|||||||
@ -1,21 +1,21 @@
|
|||||||
import re
|
import re
|
||||||
|
|
||||||
import cattrs
|
import cattrs
|
||||||
from fastapi import Query, APIRouter
|
from fastapi import APIRouter, Query
|
||||||
from fastapi.responses import JSONResponse
|
from fastapi.responses import JSONResponse
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
from builtin_plugins.web_ui.base_model import Result
|
||||||
|
from builtin_plugins.web_ui.utils import authentication
|
||||||
from zhenxun.configs.config import Config
|
from zhenxun.configs.config import Config
|
||||||
from zhenxun.utils.enum import BlockType, PluginType
|
|
||||||
from zhenxun.models.plugin_info import PluginInfo as DbPluginInfo
|
from zhenxun.models.plugin_info import PluginInfo as DbPluginInfo
|
||||||
|
from zhenxun.services.log import logger
|
||||||
|
from zhenxun.utils.enum import BlockType, PluginType
|
||||||
|
|
||||||
from ....base_model import Result
|
|
||||||
from ....utils import authentication
|
|
||||||
from .model import (
|
from .model import (
|
||||||
PluginInfo,
|
|
||||||
PluginCount,
|
|
||||||
PluginConfig,
|
PluginConfig,
|
||||||
|
PluginCount,
|
||||||
PluginDetail,
|
PluginDetail,
|
||||||
|
PluginInfo,
|
||||||
PluginSwitch,
|
PluginSwitch,
|
||||||
UpdatePlugin,
|
UpdatePlugin,
|
||||||
)
|
)
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
from nonebot import require
|
|
||||||
from fastapi import APIRouter
|
from fastapi import APIRouter
|
||||||
from fastapi.responses import JSONResponse
|
from fastapi.responses import JSONResponse
|
||||||
|
from nonebot import require
|
||||||
|
|
||||||
|
from builtin_plugins.web_ui.base_model import Result
|
||||||
|
from builtin_plugins.web_ui.utils import authentication
|
||||||
from zhenxun.models.plugin_info import PluginInfo
|
from zhenxun.models.plugin_info import PluginInfo
|
||||||
|
|
||||||
from .model import PluginIr
|
from .model import PluginIr
|
||||||
from ....base_model import Result
|
|
||||||
from ....utils import authentication
|
|
||||||
|
|
||||||
router = APIRouter(prefix="/store")
|
router = APIRouter(prefix="/store")
|
||||||
|
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
import os
|
import os
|
||||||
import shutil
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
import shutil
|
||||||
|
|
||||||
import aiofiles
|
import aiofiles
|
||||||
from fastapi import APIRouter
|
from fastapi import APIRouter
|
||||||
from fastapi.responses import JSONResponse
|
from fastapi.responses import JSONResponse
|
||||||
|
|
||||||
|
from builtin_plugins.web_ui.base_model import Result, SystemFolderSize
|
||||||
|
from builtin_plugins.web_ui.utils import authentication, get_system_disk
|
||||||
from zhenxun.utils._build_image import BuildImage
|
from zhenxun.utils._build_image import BuildImage
|
||||||
|
|
||||||
from ....base_model import Result, SystemFolderSize
|
from .model import AddFile, DeleteFile, DirFile, RenameFile, SaveFile
|
||||||
from ....utils import authentication, get_system_disk
|
|
||||||
from .model import AddFile, DirFile, SaveFile, DeleteFile, RenameFile
|
|
||||||
|
|
||||||
router = APIRouter(prefix="/system")
|
router = APIRouter(prefix="/system")
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user