功能:为 danding_qqpush 消息添加标记以支持自动撤回功能
This commit is contained in:
@@ -38,6 +38,15 @@ async def handle_api_result(
|
|||||||
# 获取撤回延迟时间
|
# 获取撤回延迟时间
|
||||||
recall_delay = plugin_config.recall_delay
|
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))
|
asyncio.create_task(recall_message_after_delay(bot, message_id, recall_delay))
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
from pydantic import BaseModel, Field
|
from pydantic import BaseModel, Field
|
||||||
|
|
||||||
class Config(BaseModel):
|
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小时)
|
||||||
@@ -73,11 +73,12 @@ class MessageSender:
|
|||||||
message.append(MessageSegment.at(qq))
|
message.append(MessageSegment.at(qq))
|
||||||
message.append(MessageSegment.image(image_base64))
|
message.append(MessageSegment.image(image_base64))
|
||||||
|
|
||||||
# 发送群消息
|
# 发送群消息,添加 __qqpush_source 标记供 auto_recall 识别
|
||||||
result = await bot.call_api(
|
result = await bot.call_api(
|
||||||
"send_group_msg",
|
"send_group_msg",
|
||||||
group_id=group_id,
|
group_id=group_id,
|
||||||
message=message
|
message=message,
|
||||||
|
__qqpush_source="danding_qqpush" # 添加标记
|
||||||
)
|
)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@@ -121,11 +122,12 @@ class MessageSender:
|
|||||||
message.append(MessageSegment.at(qq))
|
message.append(MessageSegment.at(qq))
|
||||||
message.append(MessageSegment.text(text))
|
message.append(MessageSegment.text(text))
|
||||||
|
|
||||||
# 发送群消息
|
# 发送群消息,添加 __qqpush_source 标记供 auto_recall 识别
|
||||||
result = await bot.call_api(
|
result = await bot.call_api(
|
||||||
"send_group_msg",
|
"send_group_msg",
|
||||||
group_id=group_id,
|
group_id=group_id,
|
||||||
message=message
|
message=message,
|
||||||
|
__qqpush_source="danding_qqpush" # 添加标记
|
||||||
)
|
)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user