最近疫情有所反复,很多高校开始使用钉钉进行线上教学
有的时候老师会在钉钉群里进行签到,这可关乎平时成绩
但是这耽误考研复习【开摆划水】啊

于是,几个中午的时间,开发出来这个东西【主要是使用了OCR技术】
OCR技术就是对图像里面的文字进行识别的

项目地址:https://github.com/CEllmemichael/orc_project
如果能帮到大家,希望大家多多点星,球球了
下面介绍一下我的思路
·········

整体的思路呢是对钉钉群的聊天框进行定时的截屏,然后对截屏的图片进行简单的处理之后使用ORC技术识别出来文字。通过识别出来的文字来看看现在聊天框里面有没有钉钉签到的消息,如果有通过发送消息的方式来让我知道

  • 版本1
    整个任务分为两部分:
    (1)对钉钉群的消息进行识别
    (2)根据识别结果来给我发出提醒

    首先介绍任务1:对钉钉群的消息进行识别

    我先将电脑打开钉钉,然后将他全屏,测算出来整个聊天框的四个角的位置坐标,然后使用opencv进行每一秒截取这个地方的屏幕为图片的操作一次。对这个图片进行简单的灰度处理(因为灰度处理后的图像更好识别一点),调用文字识别(OCR)的云服务器API对这个图像进行识别。

    while 1:time.sleep(1)img = pyautogui.screenshot(region=[370,300, 800, 570])  # 分别代表:左上角坐标,宽高# 对获取的图片转换成二维矩阵形式,后再将RGB转成BGR# 因为imshow,默认通道顺序是BGR,而pyautogui默认是RGB所以要转换一下,不然会有点问题img = cv2.cvtColor(np.asarray(img), cv2.COLOR_RGB2BGR)gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#cv2.imshow("截屏", gray)gray2 = cv2.cvtColor(cv2.imread('dashen_compressed.png'), cv2.COLOR_BGR2GRAY)

这个过程中调用的是腾讯云的api这个各个服务器厂商都有免费的,这个过程主要是需要创建一个云服务器的账户,申请一下文字识别的的免费额度,然后下载平台提过的api的包就可以了。
最后通过对返回的文字中的关键字进行遍历便得到了结果。
然后介绍任务2:根据识别结果来给我发出提醒
我使用的是开启邮箱的STMP服务的方法,有使用过手机自带的电子邮箱的同学知道,在使用这个软件的时候需要把把你邮箱的STMP密钥拷贝出来,其实手机自带的这个软件也是使用的这个STMP服务来接受你的邮箱信息的。STMP就像是你邮箱的除了你的账户密码以外的第二把备用钥匙,使用这个钥匙可以不登陆你的邮箱就能接管你的邮箱。除非你主动设置过,这个东西才会开启,一般来讲是不会开的,大家也可以放心。
我使用这个方法接管了我的邮箱然后使用我的邮箱给我发送提示消息这个问题便解决了。

  • 版本2

这个版本一开始使用的挺好的,不过,遇到了以下几个问题

  • 当识别到关键词之后,报警次数太多
  • 腾讯云每天只提供300次的识别,识别次数过多,免费额度不足
  • 每秒访问一次云服务器api经常被认作DOS攻击

于是升级了版本2

上述是通过变换检测方法和设计待机功能解决的

变换检测方法是:
通过将截屏的图像和上一次的做比对,进行矩阵减法然后计算矩阵均值
通过对得到的均值取阈值,对大于阈值的情况才进行识别,这样只有在聊天框发生变化的时候才会进行检测。
这样的好处是降低了检测的次数,而且不会多次报警。这样还不会形成周期型的调用API 不会被认作DOS攻击。

设计待机
因为老师一般不会在一节课内设计两次签到,
所以在签到完成之后进行对程序进行半个小时的待机处理可以节省API调用次数

  • 版本3
    我将这个程序分享给朋友使用的时候发现,他们更希望我能满足以下的需求
  • 使用QQ发送消息
  • 自动签到

这里使用的的是pyautogui工具使用代码模拟鼠标的点击来完成上述的任务。

ALL IN ALL,还是希望同学们能够好好线上听课,我已经恢复线下上课了,希望疫情能够早日结束!!!!!

【怎么解决钉钉群签到】相关推荐

  1. 【工具类】钉钉群机器人告警-解决限流

    钉钉机器人配置文档 https://developers.dingtalk.com/document/robots/custom-robot-access 安装 <!-- 钉钉 -->&l ...

  2. java推送到 钉钉用户_javaweb利用钉钉机器人向钉钉群推送消息(解决中文乱码)...

    可以参考 官方文档:https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.karFPe&treeId=257& ...

  3. 钉钉发群通知报{“errcode“:310000,“errmsg“:“keywords not in content“}解决办法

    网上查了好多都没查到,最后问同事才知道原来是有关键词这个东西,就是你创建钉钉群时会输入一个关键词,然后你发消息时必须得带有这个关键词才行,比如我这个钉钉群里的关键词是 自动化测试,我用代码发群通知的时 ...

  4. 钉钉用不同的手机签到后台怎么显示的代签到有用吗

    钉钉签到功能是钉钉办公软件里面一个给外出人员记录考勤的功能,所以签到是所有使用钉钉软件公司用的最多的功能,那么大家会有很多的问题: Q:钉钉可以帮同事签到吗 答案是肯定不可以的,因为钉钉后台会记录手机 ...

  5. python发送文件到钉钉群_iOS python 自动化打包,并在钉钉群里发通知

    最近感觉iOS 打包给测试人员测试,用Xcode 打包太费经了.项目编译太慢,一次打包可能需要20来分钟.于是就想用下自动化打包.本来想尝试下Fastlane 或者jenkins 但是觉得还是有点麻烦 ...

  6. Python 实现 T00ls 自动签到脚本(邮件+钉钉通知)

    T00ls 每日签到是可以获取 TuBi 的,由于常常忘记签到,导致损失了很多 TuBi .于是在 T00ls 论坛搜索了一下,发现有不少大佬都写了自己的签到脚本,签到功能实现.定时任务执行以及签到提 ...

  7. 钉钉机器人关键词应答_Gmail 邮件推送到钉钉群机器人(详细)教程|国内接收 Gmail 邮件...

    做这个功能费了我老大劲了,首先想到的还是利用现成的软件,尝试了一圈发现都不满意.然后不想重复造轮子,就搜索如何把 Gmail 推送到钉钉,结果只搜到了诸如 Python 如何调用 Gmail API. ...

  8. xxl-job集成钉钉群告警

    xxl-job集成钉钉群告警 1.申请钉钉群机器人webhook 钉钉群里添加智能群助手 添加机器人 选择自定义(通过webhook接入自定义服务) 给机器人起个名字,再进行下安全设置,我选择的是自定 ...

  9. 【浙政钉】第四篇:浙政钉创建群聊、消息接入、发送

    背景 浙政钉上架应用可创建群聊,和用户单聊等. 版权 本文允许转载,转载请写上原文地址,谢谢!作者:曹震 目录 一.准备工作 二.浙政钉系列 三.接口开发 1.特别说明 1.1访问IP不在白名单中,r ...

  10. WinForm开发钉钉(1) 调用机器人发送消息到钉钉群

    此文章借鉴钉钉系列教程http://blog.csdn.net/wxbluethink/article/details/77435242,增加自己的理解,记录钉钉通过调用机器人发送消息到钉钉群. 环境 ...

最新文章

  1. 百炼智百炼智能获5000万元Pre-A轮融资,深耕智能获客赛道
  2. Python Tesseract 图片识别-小操练
  3. move std 函数 示例_确保(值类型)可拷贝类有默认构造函数
  4. html 文件上传与移除,js jquery分别实现动态的文件上传操作按钮的添加和删除
  5. 注释驱动的 Spring cache 缓存介绍--转载
  6. 【转】我们今年二十三四岁。。。
  7. 深入理解Elasticsearch(原书第2版)》一1.2 何为Elasticsearch
  8. 聊聊统一身份认证服务
  9. DB2常用傻瓜问题1000问(之一)
  10. Serverless在游戏运营行业进行数据采集分析的最佳实践
  11. php json获取get请求,PHP简单的Curl的Get请求和Curl的Post请求和file_get_contents的Get请求获取接口JSON数据...
  12. ActiveBpel部署运行BPEL流程实例
  13. 基4fft算法的蝶形图_原地且自动整序的FFT算法
  14. 虚幻4 Object和序列化
  15. ASP.net2.0调试JavaScript脚本
  16. 生成32位字母数字的随机数
  17. 服务器证书有问题苹果手机,iPhone应用程序中的“服务器证书不可信”错误
  18. 旋翼无人机及摄影测量基础
  19. UEFI模式创建Grub2引导ubuntu16.04和windows10,并安装Linux Nvidia驱动
  20. Java序列化(Serialize)

热门文章

  1. 进程间通信方式之信号量基本知识
  2. vue项目添加背景图报路径不存在
  3. 微信小程序教学系列(1)- 入门指南
  4. 2021年电工(中级)考试及电工(中级)考试总结
  5. Linux中SAMBA服务管理与搭建
  6. 1.3 中国云创行业地图
  7. jquery制作的多种选项卡效果
  8. 4515DO-DS3BK004DP压差传感器MEAS
  9. AV1代码学习1:aomenc的main函数
  10. 【NOIP 2018 提高组】 货币系统 —— 贪心 + DP