Skip to content

revoke()方法在人数多的群聊中撤回消息太慢 #1015

Open
@005Lacia

Description

您的itchat版本为:1.5.0.dev

其他的内容或者问题更详细的描述都可以添加在下面:

在人数较多的群聊(300人左右)中撤回消息非常慢,长达6~8秒,而在个位人数的群聊中撤回消息只需要1秒左右。

python代码:
`# 事件消息
@itchat.msg_register(NOTE, isGroupChat=True)
def note(msg):

def revoke_msg():
    revoke_id = revoke_dict[cx_id]
    itchat.revoke(msgId=revoke_id, toUserName=msg.user.userName)  # 撤回查询映射的消息
    revoke_dict.pop(cx_id, None)

content = msg.Content
revoke_sign = re.search('<!\[CDATA\[(.*?)]]>', content)
if revoke_sign:
    if revoke_sign[1][-7:] == '撤回了一条消息':  # 撤回消息事件
        cx_id_sign = re.search('<msgid>(.*?)</msgid>', content)
        if cx_id_sign:
            cx_id = cx_id_sign[1]
            if cx_id in revoke_dict:
                Thread(target=revoke_msg).start()`

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions