卖坚果的怪叔叔 卖坚果的怪叔叔
  • 首页
  • 技术
  • 生活
  • 记录
  • 朋友
  • 常用代码
  • 工具箱
  • 关于
首页 › 技术 › 撤回?你就以为我不到了嘛?

撤回?你就以为我不到了嘛?

坚果大叔
2019-08-12 17:21:30技术阅读 606

文章目录[隐藏]

  • 前提
  • 准备工作
  • 工作原理
  • 注意事项
  • 主要代码
  • 效果展示
  • 源码地址
  • 历史回顾
  • 关于我

前提

昨天在群里,看到小伙伴发了一个 ”不可描述“ 的图片,我刚准备点开看,就发现TA撤回了,该死的撤回。看我怎么整治你。

撤回?你就以为我不到了嘛?-卖坚果的怪叔叔

准备工作

  1. 开发工具
  2. 一个注册一年以上的微信号

工作原理

本项目的防撤回,实际上的原理是这个微信和你聊天的对象同处再一个群里,它会实时监控聊天记录,检测到消息状态为撤回,就会从撤回之前的保存的记录里,拿出这条数据,转发给出去,从而达到一个防撤回的效果。通俗的讲就是实时备份你的聊天记录,然后提取出来撤回的那条。

注意事项

1、如果你想要防撤回效果,本微信号一定要和你当前的微信号再同一个群里。

2、简单的说就是你的机器人微信 和 你的主微信有着同样的群聊,以达到防撤回的目的

3、暂不支持单人撤回,只能对群防撤回。

主要代码

获取你要检测的群对象,如果你想监听所有对象,则不需要

Test = bot.groups().search(u'Test')

将撤回的消息 转发到特定的群里,以供再其他微信查看,可以是单个好友或者文件传输助手

recallNotice = ensure_one(bot.groups().search('recallNotice'))
# 文本 TEXT = 'Text'
# 位置 MAP = 'Map' 1
# 名片 CARD = 'Card' 2
# 分享 SHARING = 'Sharing' 3
# 图片 PICTURE = 'Picture'  4
# 语音 RECORDING = 'Recording' 5
# 文件 ATTACHMENT = 'Attachment' 6
# 视频 VIDEO = 'Video' 7

注册事件,所有群的消息

@bot.register(Group)

主要代码

def handleReceiveMsg(msg):
    '''
    监听消息
    :param msg:
    :param chats:
    :return:
    '''
    ra = msg.raw
    mss = msg.bot.messages
    le = len(mss)

    if ra['Status'] == 4:
        # 获取消息ID
        oldmsgid = re.search(re.compile('<msgid>(.*?)</msgid>', re.S),ra['Content']).group(1)
        for i in range(le-1,-1,-1):
            if oldmsgid == str(mss[i].id):
                name = msg.chat.name    // 获取群名
                username = msg.member.nick_name // 获取撤回消息的人名
                if name == None or name == '':
                    name = msg.chat.nick_name
                    username = msg.member.nick_name

                // 根据不同的消息类型进行撤回提示
                if mss[i].type == 'Text':
                    recallNotice.send('来自【'+ name + '】的【' + username
                    +'】撤回了一条消息:'+ mss[i].text)
                    bot.file_helper.send('来自【'+ name + '】的【' + username
                    +'】撤回了一条消息:'+ mss[i].text)
                    break

效果展示

撤回?你就以为我不到了嘛?-卖坚果的怪叔叔

撤回?你就以为我不到了嘛?-卖坚果的怪叔叔

完美通过测试,看你还怎么撤回。

源码地址

微信公众号 【小夭同学】回复 【防撤回】

历史回顾

超简单!只需简单几步即可为TA定制天气小助理!!!

关于我

小夭同学,页面切图仔。



微信扫描下方的二维码阅读本文

微信 微信机器人
赞赏 赞(0)
本文系作者 @坚果大叔 原创发布在 卖坚果的怪叔叔。未经许可,禁止转载。
前端常用的正则表达式
上一篇
重学Javascript之引用类型
下一篇
近期文章
  • 3月已到月底,今年已过四分之一!
  • 使用encodeURI出现URI malformed报错?
  • 周末,公园,人多!!!
  • Element-Plus的一点疑难问题~
  • 一些AList站点以及有趣的网址
使用encodeURI出现URI malformed报错?
2023-03-14 16:38:10
460 0 0
Element-Plus的一点疑难问题~
2023-02-28 17:21:19
489 3 0
微信小程序批量提交后台审核
2023-01-29 17:56:58
967 0 2
Home
2023-01-19 13:49:05
322 0 1
  • 0
博主

一枚佛系前端开发,会一丢丢摄影,喜欢折腾,爱好美食。分享点前端技巧、笔记以及各种有趣的APP和资源教程♥♥

友链
Lieme
公众号
坚果大叔 执行上下文 卖坚果的怪叔叔
Copyright © 2017-2023 卖坚果的怪叔叔. Designed by nicetheme.

苏ICP备18048410号-2
  • 首页
  • 技术
  • 生活
  • 记录
  • 朋友
  • 常用代码
  • 工具箱
  • 关于
# WordPress # # CSS #
坚果大叔
233
文章
65
评论
174
喜欢