feat: 整合开发历史 (#20),大更新。。。
This commit is contained in:
@@ -13,6 +13,7 @@ from typing import Tuple, Set
|
||||
|
||||
from core.bot import Bot
|
||||
from core.command_manager import matcher
|
||||
from core.executor import run_in_thread_pool
|
||||
from models import MessageEvent
|
||||
|
||||
__plugin_meta__ = {
|
||||
@@ -38,9 +39,11 @@ def is_code_safe(code: str) -> Tuple[bool, str]:
|
||||
statements = STATEMENT_SPLIT_PATTERN.split(code)
|
||||
for statement in statements:
|
||||
statement = statement.strip()
|
||||
if not statement: continue
|
||||
if not statement:
|
||||
continue
|
||||
parts = statement.split()
|
||||
if not parts: continue
|
||||
if not parts:
|
||||
continue
|
||||
if parts[0] == 'from' and len(parts) > 1:
|
||||
module_name = parts[1].strip()
|
||||
if module_name in DANGEROUS_MODULES:
|
||||
@@ -83,7 +86,7 @@ async def process_and_reply(bot: Bot, event: MessageEvent, code: str):
|
||||
"""
|
||||
核心处理逻辑:安全检查、执行代码并回复结果。
|
||||
"""
|
||||
safe, message = is_code_safe(code)
|
||||
safe, message = await run_in_thread_pool(is_code_safe, code)
|
||||
if not safe:
|
||||
await event.reply(f"代码安全检查未通过:\n{message}")
|
||||
return
|
||||
@@ -150,11 +153,11 @@ async def handle_code_input(bot: Bot, event: MessageEvent):
|
||||
# 处理取消操作
|
||||
if event.raw_message.strip() == "取消":
|
||||
await event.reply("已取消输入。")
|
||||
return True # 消费事件
|
||||
return True # 消费事件
|
||||
|
||||
# 执行代码
|
||||
await process_and_reply(bot, event, event.raw_message)
|
||||
return True # 消费事件,防止被其他指令匹配
|
||||
return True # 消费事件,防止被其他指令匹配
|
||||
|
||||
# 如果用户不在等待状态,则不处理
|
||||
return False
|
||||
|
||||
Reference in New Issue
Block a user