功能:为 danding_qqpush 消息添加标记以支持自动撤回功能

This commit is contained in:
2026-01-25 19:54:32 +08:00
parent dedc872f1b
commit ef259bd73c
4 changed files with 17 additions and 5 deletions

View File

@@ -38,6 +38,15 @@ async def handle_api_result(
# 获取撤回延迟时间
recall_delay = plugin_config.recall_delay
# 检查是否为 danding_qqpush 发送的消息
# danding_qqpush 消息会在 data 中包含 __qqpush_source 标记
is_qqpush_message = data.get("__qqpush_source") == "danding_qqpush"
if is_qqpush_message:
# 使用 danding_qqpush 专用的撤回时间
recall_delay = plugin_config.qqpush_recall_delay
logger.info(f"danding_qqpush 消息将在 {recall_delay} 秒后撤回")
# 启动异步任务,延迟撤回消息
asyncio.create_task(recall_message_after_delay(bot, message_id, recall_delay))

View File

@@ -1,4 +1,5 @@
from pydantic import BaseModel, Field
class Config(BaseModel):
recall_delay: int = Field(default=110, env="RECALL_DELAY") # 撤回延迟时间,默认 110 秒
recall_delay: int = Field(default=110, env="RECALL_DELAY") # 撤回延迟时间,默认 110 秒
qqpush_recall_delay: int = Field(default=3600, env="QQPUSH_RECALL_DELAY") # danding_qqpush 消息撤回延迟时间,默认 3600 秒1小时

View File

@@ -73,11 +73,12 @@ class MessageSender:
message.append(MessageSegment.at(qq))
message.append(MessageSegment.image(image_base64))
# 发送群消息
# 发送群消息,添加 __qqpush_source 标记供 auto_recall 识别
result = await bot.call_api(
"send_group_msg",
group_id=group_id,
message=message
message=message,
__qqpush_source="danding_qqpush" # 添加标记
)
return {
@@ -121,11 +122,12 @@ class MessageSender:
message.append(MessageSegment.at(qq))
message.append(MessageSegment.text(text))
# 发送群消息
# 发送群消息,添加 __qqpush_source 标记供 auto_recall 识别
result = await bot.call_api(
"send_group_msg",
group_id=group_id,
message=message
message=message,
__qqpush_source="danding_qqpush" # 添加标记
)
return {

Binary file not shown.