Skip to content

Commit a1e8736

Browse files
committed
将表单独存到一个文件
1 parent 9413462 commit a1e8736

File tree

36 files changed

+633
-226
lines changed

36 files changed

+633
-226
lines changed

core/__init__.py

+7-5
Original file line numberDiff line numberDiff line change
@@ -36,15 +36,16 @@
3636
from graia.saya.builtins.broadcast import BroadcastBehaviour
3737
from creart.creator import AbstractCreator, CreateTargetInfo
3838

39+
from shared.orm import orm
3940
from shared.utils.string import set_log
4041
from shared.models.config import GlobalConfig
4142
from shared.models.blacklist import GroupBlackList
4243
from shared.models.public_group import PublicGroup
43-
from shared.orm import orm, Setting, UserPermission
4444
from shared.models.types import ModuleOperationType
4545
from shared.utils.self_upgrade import UpdaterService
4646
from shared.models.group_setting import GroupSetting
4747
from shared.models.permission import GroupPermission
48+
from shared.orm.tables import Setting, UserPermission
4849

4950
non_log = {
5051
GroupMessage,
@@ -278,18 +279,19 @@ def module_operation(modules: str | list[str], operation_type: ModuleOperationTy
278279
exceptions[c] = e
279280
return exceptions
280281

281-
@staticmethod
282-
def alembic():
282+
def alembic(self):
283283
if not (Path.cwd() / "alembic").exists():
284284
logger.info("未检测到alembic目录,进行初始化")
285285
os.system("alembic init alembic")
286286
with open(Path.cwd() / "resources" / "alembic_env_py_content.txt", "r") as r:
287287
alembic_env_py_content = r.read()
288288
with open(Path.cwd() / "alembic" / "env.py", "w") as w:
289289
w.write(alembic_env_py_content)
290+
db_link = self.config.db_link
291+
db_link = db_link.split(":")[0].split("+")[0] + ":".join(db_link.split(":")[1:])
290292
logger.warning(
291-
f"请前往更改 {Path.cwd() / 'alembic.ini'} 文件"
292-
"将其中的 sqlalchemy.url 替换为自己的数据库url(不需注明引擎)后重启机器人"
293+
f"请前往更改 {Path.cwd() / 'alembic.ini'} 文件"
294+
f"将其中的 sqlalchemy.url 替换为自己的数据库url(不需注明引擎)后重启机器人,注:可能的链接为:{db_link}"
293295
)
294296
exit()
295297
if not (Path.cwd() / "alembic" / "versions").exists():

modules/required/backend_api/__init__.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@
66
from graia.ariadne.message.parser.twilight import Twilight, FullMatch
77

88
from .route import *
9+
from shared.orm import orm
910
from .utils import generate_account
10-
from shared.orm import orm, APIAccount
11+
from shared.orm.tables import APIAccount
1112
from shared.models.config import GlobalConfig
1213
from shared.utils.waiter import FriendConfirmWaiter
1314

modules/required/backend_api/utils.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313
from graia.ariadne.model.relationship import MemberPerm
1414

1515
from .models import *
16-
from shared.orm import orm, APIAccount, ChatRecord
16+
from shared.orm import orm
17+
from shared.orm.tables import APIAccount, ChatRecord
1718

1819
logs = []
1920

modules/required/chat_recorder/__init__.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
from graia.saya.builtins.broadcast.schema import ListenerSchema
88
from graia.ariadne.event.message import Group, Member, GroupMessage
99

10-
from shared.orm import orm, ChatRecord
10+
from shared.orm import orm
11+
from shared.orm.tables import ChatRecord
1112
from shared.utils.control import UserCalledCountControl
1213

1314
# 关闭 jieba 的 Debug log

modules/required/group_member_backup/__init__.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,10 @@
88
from graia.saya.builtins.broadcast.schema import ListenerSchema
99
from graia.ariadne.message.parser.twilight import Twilight, ArgumentMatch, ArgResult
1010

11+
from shared.orm import orm
1112
from shared.models.config import GlobalConfig
12-
from shared.orm import orm, GroupMembersBackup
1313
from shared.utils.type import parse_match_type
14+
from shared.orm.tables import GroupMembersBackup
1415
from shared.utils.module_related import get_command
1516
from shared.utils.control import (
1617
Function,

modules/required/helper/__init__.py

+5-3
Original file line numberDiff line numberDiff line change
@@ -83,11 +83,12 @@ async def helper(app: Ariadne, group: Group, source: Source):
8383
modules.append((
8484
i + 1,
8585
plugin_meta.display_name or saya.channels[c].meta["name"] or c.split(".")[-1],
86-
judge(c, group)
86+
judge(c, group),
87+
plugin_meta.maintaining or False
8788
))
8889

8990
if len(modules) % 3:
90-
modules.extend([(None, None, None) for _ in range(3 - len(modules) % 3)])
91+
modules.extend([(None, None, None, None) for _ in range(3 - len(modules) % 3)])
9192
img = await template2img(
9293
TEMPLATE_PATH / "plugins.html",
9394
{
@@ -145,7 +146,8 @@ async def detail_helper(app: Ariadne, group: Group, source: Source, index: Regex
145146
"authors": plugin_meta.authors or ["暂无"],
146147
"description": plugin_meta.description or "暂无",
147148
"usage": "\n".join(plugin_meta.usage) or "暂无",
148-
"example": "\n".join(plugin_meta.example) or "暂无"
149+
"example": "\n".join(plugin_meta.example) or "暂无",
150+
"maintaining": plugin_meta.maintaining or False
149151
}
150152
)
151153
await app.send_group_message(group, MessageChain(Image(data_bytes=img)), quote=source)

modules/required/helper/templates/plugin_detail.html

+9-1
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,15 @@
175175
<div id="title-box" class="flex-column">
176176
<div style="height: 300px"></div>
177177
<div id="title">
178-
<h1>{{ display_name }}</h1>
178+
<h1>
179+
{% if maintaining %}
180+
<s>
181+
{% endif %}
182+
{{ display_name }}
183+
{% if maintaining %}
184+
</s>【维护中】
185+
{% endif %}
186+
</h1>
179187
</div>
180188
<div id="subtitle">
181189
{{ module }}

modules/required/helper/templates/plugins.html

+14-1
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,15 @@ <h1>{{ title }}</h1>
241241
<td>
242242
{% if setting[0] %}
243243
<div class="plugin-item">
244-
<p>{{ setting[0] }}. {{ setting[1] }}</p>
244+
<p style="text-align: left">
245+
{% if setting[3] %}
246+
<s style="color: red">
247+
{% endif %}
248+
{{ setting[0] }}. {{ setting[1] }}
249+
{% if setting[3] %}
250+
</s>
251+
{% endif %}
252+
</p>
245253
<label class="switch">
246254
<input type="checkbox" {{ 'checked' if setting[2] else '' }}>
247255
<span class="slider round"></span>
@@ -255,6 +263,11 @@ <h1>{{ title }}</h1>
255263
</tr>
256264
{% endfor %}
257265
</table>
266+
<div class="table-title-box">
267+
<div class="detail-help-box">
268+
"<s style="color: red">插件名</s>" 代表该插件正在维护中,插件功能目前不可用或有bug
269+
</div>
270+
</div>
258271
</div>
259272
</div>
260273
</body>

modules/required/mirai_events/__init__.py

-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
from graia.saya.builtins.broadcast.schema import ListenerSchema
1515

1616
from .utils import *
17-
from shared.orm import orm, UserPermission
1817
from shared.models.config import GlobalConfig
1918
from shared.models.public_group import PublicGroup
2019
from shared.utils.waiter import FriendConfirmWaiter

modules/self_contained/anti_revoke/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from graia.ariadne.exception import AccountMuted, UnknownTarget
1111
from graia.saya.builtins.broadcast.schema import ListenerSchema
1212

13-
from shared.orm import Setting
13+
from shared.orm.tables import Setting
1414
from shared.models.config import GlobalConfig
1515
from shared.models.group_setting import GroupSetting
1616
from shared.utils.control import Function, Distribute

modules/self_contained/chat_gpt/__init__.py

-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
channel.description("一个接入 ChatGPT 的插件,在群中发送 `/chat 内容` 即可")
3030
config = create(Sagiri).config
3131
proxy = config.proxy if config.proxy != "proxy" else None
32-
session_token = config.functions.get("openai_cookie")
3332
manager = ConversationManager()
3433

3534

modules/self_contained/chat_gpt/conversation_manager.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,12 @@
1717
email = configs.get("email")
1818
password = configs.get("password")
1919
cookie = configs.get("cookie")
20+
cookie = cookie if cookie != "cookie" else ""
2021
headers = {
2122
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 '
2223
'Safari/537.36 Edg/107.0.1418.62',
2324
}
24-
session_token: str = cookie or ""
25+
session_token: str = cookie
2526

2627

2728
async def create_gpt(response_timeout: int = 100, proxies: str | None = None):

modules/self_contained/chat_gpt/metadata.json

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
"/chat -t 你好",
1818
"/chat -n -t 你好"
1919
],
20+
"maintaining": true,
2021
"icon": "",
2122
"prefix": ["/"],
2223
"triggers": ["chat"]

modules/self_contained/daily_newspaper/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
from graia.ariadne.event.message import FriendMessage, GroupMessage
1717
from graia.ariadne.message.parser.twilight import Twilight, FullMatch
1818

19-
from shared.orm import Setting
19+
from shared.orm.tables import Setting
2020
from shared.models.config import GlobalConfig
2121
from shared.utils.module_related import get_command
2222
from shared.models.group_setting import GroupSetting

modules/self_contained/dice/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from graia.ariadne.message.parser.twilight import RegexMatch
1111
from graia.saya.builtins.broadcast.schema import ListenerSchema
1212

13-
from shared.orm import Setting
13+
from shared.orm.tables import Setting
1414
from shared.models.group_setting import GroupSetting
1515
from shared.utils.control import (
1616
FrequencyLimit,

modules/self_contained/gallery/__init__.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@
2222
UnionMatch
2323
)
2424

25-
from shared.orm import orm, TriggerKeyword
25+
from shared.orm import orm
26+
from shared.orm.tables import TriggerKeyword
2627
from shared.utils.waiter import ConfirmWaiter
2728
from shared.models.config import GlobalConfig
2829
from shared.utils.message_chain import parse_message_chain_as_stable_string

modules/self_contained/genshin_chara_card/__init__.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,7 @@ async def genshin_chara_card(app: Ariadne, group: Group, source: Source, uid: Re
5454
_ = await init_chara_list()
5555
await app.send_group_message(group, MessageChain("初始化完成"))
5656
if chara_pinyin not in characters:
57-
return await app.send_group_message(
58-
group, MessageChain(f"角色列表中未找到角色:{chara},请检查拼写")
59-
)
57+
return await app.send_group_message(group, MessageChain(f"角色列表中未找到角色:{chara},请检查拼写"))
6058
url = f"https://enka.shinshin.moe/u/{uid}"
6159
browser = Ariadne.current().launch_manager.get_interface(PlaywrightBrowser)
6260
async with browser.page() as page:

modules/self_contained/genshin_voice/metadata.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,6 @@
1010
"example": ["原神派蒙说 前面的区域,以后在探索吧"],
1111
"icon": "",
1212
"prefix": ["/", ""],
13-
"triggers": ["原神"]
13+
"triggers": ["原神"],
14+
"maintaining": true
1415
}

modules/self_contained/group_team/__init__.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
WildcardMatch,
1616
)
1717

18-
from shared.orm import orm, GroupTeam
18+
from shared.orm import orm
19+
from shared.orm.tables import GroupTeam
1920
from shared.utils.module_related import get_command
2021
from shared.utils.control import (
2122
Distribute,

modules/self_contained/keyword_respondent/__init__.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@
2323
RegexResult,
2424
)
2525

26-
from shared.orm import orm, KeywordReply
26+
from shared.orm import orm
27+
from shared.orm.tables import KeywordReply
2728
from shared.utils.waiter import ConfirmWaiter
2829
from shared.utils.message_chain import message_chain_to_json, json_to_message_chain
2930
from shared.utils.control import BlackListControl, Function, Distribute, Permission

modules/self_contained/lolicon_keyword_searcher/__init__.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
from graia.saya.builtins.broadcast.schema import ListenerSchema
2020
from graia.ariadne.message.parser.twilight import FullMatch, RegexMatch, RegexResult
2121

22+
from shared.orm import orm
2223
from shared.utils.control import (
2324
Distribute,
2425
FrequencyLimit,
@@ -27,7 +28,7 @@
2728
UserCalledCountControl,
2829
)
2930
from shared.models.config import GlobalConfig
30-
from shared.orm import orm, Setting, LoliconData
31+
from shared.orm.tables import Setting, LoliconData
3132
from shared.models.group_setting import GroupSetting
3233

3334
channel = Channel.current()

modules/self_contained/pdf_searcher/metadata.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,6 @@
1010
"example": ["/pdf 计算机网络"],
1111
"icon": "",
1212
"prefix": ["/", ""],
13-
"triggers": ["pdf"]
13+
"triggers": ["pdf"],
14+
"maintaining": true
1415
}

0 commit comments

Comments
 (0)