功能:为 danding_qqpush 消息添加标记以支持自动撤回功能
This commit is contained in:
@@ -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))
|
||||
|
||||
|
||||
@@ -2,3 +2,4 @@ from pydantic import BaseModel, Field
|
||||
|
||||
class Config(BaseModel):
|
||||
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小时)
|
||||
@@ -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.
Reference in New Issue
Block a user