让 Onebot private channel 也有 ID

This commit is contained in:
2025-10-24 00:46:05 +08:00
parent 851c9eb3c7
commit 96e3c3fe17

View File

@ -25,6 +25,7 @@ from pydantic import BaseModel, ValidationError
from .path import DATA_PATH
LONGTASK_DATA_DIR = DATA_PATH / "longtasks.json"
QQ_PRIVATE_CHAT_CHANNEL_PREFIX = "_CHANNEL_QQ_PRIVATE_"
class LongTaskTarget(BaseModel):
@ -65,7 +66,7 @@ class LongTaskTarget(BaseModel):
} BOT_CLASS={bot.__class__.__name__}"
)
return False
if self.channel_id == "":
if self.channel_id.startswith(QQ_PRIVATE_CHAT_CHANNEL_PREFIX):
# 私聊模式
await bot.send_private_msg(
user_id=int(self.target_id),
@ -196,7 +197,7 @@ async def get_long_task_target(event: BaseEvent, bot: BaseBot) -> LongTaskTarget
return LongTaskTarget(
platform="qq",
self_id=str(event.self_id),
channel_id="",
channel_id=f"{QQ_PRIVATE_CHAT_CHANNEL_PREFIX}{event.self_id}",
target_id=str(event.user_id),
)
if isinstance(event, ConsoleMessageEvent):