Files
abot/utils/revoke/message_auto_revoke.py

47 lines
1.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
from typing import Optional
from utils.revoke.message_revoke_manager import MessageRevokeManager
from wechat_ipad import WechatAPIClient
class MessageAutoRevoke:
"""消息自动撤回工具类"""
def __init__(self, client: WechatAPIClient, default_delay: float = 90.0):
"""
初始化消息自动撤回工具
Args:
client: WechatAPIClient实例
default_delay: 默认撤回延时(秒)
"""
self.client = client
self.revoke_manager = MessageRevokeManager(default_delay)
# 设置撤回回调函数
self.revoke_manager.set_revoke_callback(self.client.revoke_message)
def add_message_to_revoke(self, wxid: str, client_msg_id: int, create_time: int, new_msg_id: int,
delay: Optional[float] = None) -> None:
"""
添加消息到撤回队列
Args:
wxid: 接收人wxid
client_msg_id: 消息ID
create_time: 消息创建时间
new_msg_id: 新消息ID
delay: 延迟撤回时间如果为None则使用默认值
"""
self.revoke_manager.add_message_to_revoke(wxid, client_msg_id, create_time, new_msg_id, delay)
def set_default_delay(self, delay: float) -> None:
"""
设置默认撤回延时
Args:
delay: 默认撤回延时(秒)
"""
self.revoke_manager.set_default_delay(delay)
def stop(self) -> None:
"""停止消息撤回任务"""
self.revoke_manager.stop()