让 Onebot private channel 也有 ID
This commit is contained in:
@ -25,6 +25,7 @@ from pydantic import BaseModel, ValidationError
|
|||||||
from .path import DATA_PATH
|
from .path import DATA_PATH
|
||||||
|
|
||||||
LONGTASK_DATA_DIR = DATA_PATH / "longtasks.json"
|
LONGTASK_DATA_DIR = DATA_PATH / "longtasks.json"
|
||||||
|
QQ_PRIVATE_CHAT_CHANNEL_PREFIX = "_CHANNEL_QQ_PRIVATE_"
|
||||||
|
|
||||||
|
|
||||||
class LongTaskTarget(BaseModel):
|
class LongTaskTarget(BaseModel):
|
||||||
@ -65,7 +66,7 @@ class LongTaskTarget(BaseModel):
|
|||||||
} BOT_CLASS={bot.__class__.__name__}"
|
} BOT_CLASS={bot.__class__.__name__}"
|
||||||
)
|
)
|
||||||
return False
|
return False
|
||||||
if self.channel_id == "":
|
if self.channel_id.startswith(QQ_PRIVATE_CHAT_CHANNEL_PREFIX):
|
||||||
# 私聊模式
|
# 私聊模式
|
||||||
await bot.send_private_msg(
|
await bot.send_private_msg(
|
||||||
user_id=int(self.target_id),
|
user_id=int(self.target_id),
|
||||||
@ -196,7 +197,7 @@ async def get_long_task_target(event: BaseEvent, bot: BaseBot) -> LongTaskTarget
|
|||||||
return LongTaskTarget(
|
return LongTaskTarget(
|
||||||
platform="qq",
|
platform="qq",
|
||||||
self_id=str(event.self_id),
|
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),
|
target_id=str(event.user_id),
|
||||||
)
|
)
|
||||||
if isinstance(event, ConsoleMessageEvent):
|
if isinstance(event, ConsoleMessageEvent):
|
||||||
|
|||||||
Reference in New Issue
Block a user