打破枯燥工作日,用Python统计键盘和鼠标点击次数,钉钉告诉你今天摸鱼了多少次!

1 前言

是否曾想过,在一天的工作中,你到底点击了键盘多少次,或者鼠标点击了多少下?

是否好奇每天工作的时候,自己究竟有多努力?

本文将带你使用 Python,利用 pynput 监听键盘和鼠标事件,统计每天的点击次数,并通过钉钉机器人告诉你今天到底摸鱼了多少次。

效果如下图:
在这里插入图片描述

其实之前有做过一个类似的小软件:https://blog.csdn.net/weixin_42887343/article/details/121697536
在这里插入图片描述

而这次使用钉钉每天定时上传展示,不得不说钉钉的机器人是个非常好玩的好东西,更多内容可以查看钉钉的官网:
https://open.dingtalk.com/document/orgapp/webhook-stream-free-to-commercialization-announcement

2 准备工作

(1)创建自定义钉钉机器人,这样就可以通过webhook。
官方教程链接:https://open.dingtalk.com/document/robots/custom-robot-access/
(2)安装必要的 Python 库。在终端或命令提示符中执行以下命令:

pip install pynput schedule dingtalkchatbot

总之就是缺什么安装什么。

代码实现

写代码!是不可能自己写代码的!
其实我现在很少写python,忽然想写点东西还真响应不过来,可是不怕,跟进技术潮流,我有ChatGPT。
首先依据自己的需求进行提问1(功能点1):
在这里插入图片描述

再是提问二(功能点2):
在这里插入图片描述
这样我们就得到了我们想要的代码,可是为什么要分开问呢?其实也可以一起问,但是我用的是免费的chatgpt3.5,对他的自信程度就没有那么高咯,所以挨个提问,逐渐递进。

当然得到最终代码后,我们还需要做一些微调,比如把自己的钉钉钩子替换上,发送到钉钉的信息格式调整为自己想要的格式等等。

3 运行脚本

运行脚本,它将会一直在后台监听你的键盘和鼠标事件。每天晚上9点,它会发送一条消息到你指定的钉钉群,告诉你今天的键盘和鼠标点击次数。

nohup python click_counter.py &

使用 nohup + & 表示不阻塞终端,在后台运行。

为了保持稳定性,也可以将代码打包成可执行文件后运行,这样会更加稳定一些。

4 结语

通过这个简单的 Python 脚本,你可以更加有趣地了解自己每天的工作习惯。记得保持好奇心,享受编程的乐趣!

你可以根据自己的需求扩展博客内容,添加更多关于如何使用 pynput、DingTalkChatbot 的说明,或者优化代码的方法。希望这个示例能为你的博客写作提供一些灵感。

5 整体代码

import time
import schedule
from pynput import mouse, keyboard
from dingtalkchatbot.chatbot import DingtalkChatbotclass ClickCounter:def __init__(self, webhook, secret=None):self.keyboard_clicks = 0self.mouse_clicks = 0self.xiaoding = DingtalkChatbot(webhook, secret=secret)self.keyboard_listener = keyboard.Listener(on_press=self.on_key_press)self.mouse_listener = mouse.Listener(on_click=self.on_mouse_click)schedule.every().day.at("20:58").do(self.daily_stats)def on_key_press(self, key):self.keyboard_clicks += 1def on_mouse_click(self, x, y, button, pressed):if pressed:self.mouse_clicks += 1def daily_stats(self):if self.keyboard_clicks == 0 or self.mouse_clicks == 0:returnmsg = f'> mac键盘- {self.keyboard_clicks} 次\n\n> mac鼠标- {self.mouse_clicks} 次\n\n🐟🐟又是摸鱼的一天🐟🐟'self.xiaoding.send_markdown(title='今日工作量统计', text='#### 今日工作量:\n' + msg)self.keyboard_clicks = 0self.mouse_clicks = 0def start_listening(self):self.keyboard_listener.start()self.mouse_listener.start()while True:schedule.run_pending()time.sleep(10)# WebHook地址
webhook_url = 'https://oapi.dingtalk.com/robot/send?access_token=0931814dbcf5e593e9752XXXXXXXXXXf21481b225c4567929c56f926ee08'
secret_key = 'SECef7cd67264bbd03b9dae9bXXXXXXXXX54ed2bfb7de1fcc49b9b5a032c8'  # 可选:创建机器人勾选“加签”选项时使用# 创建ClickCounter实例
click_counter = ClickCounter(webhook_url, secret_key)# 启动监听
click_counter.start_listening()

7 最后

此博客的主体框架包含标题,当然也是让ChatGPT帮我干的咯。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/288396.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

有载分接开关测试仪

产品概述 KDKC-2020变压器有载分接开关测试仪是用于测量和分析电力系统中电力变压器及特种变压器有载分接开关电气性能指标的综合测量仪器。它采用计算机控制,通过特殊设计的测量电路,可实现对有载分接开关的过渡时间、过渡波形、过渡电阻、三相同期性、…

node版本与npm版本不对应的解决方案

大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂 错误情况 今天遇到了个问题,原来用的node的版本是v14.16.0的,后来升级到了最新版20多的时候,以前的项目启动不了。 于是我手动将node卸载了&#xff0c…

新能源车企年底冲刺KPI,只能抓住“价格战”做文章?

新能源汽车行业的价格战似乎看不到尽头。 自特斯拉吹响号角后,今年以来,业内已然开启了几轮颇具规模的价格战。 如今进入年底,价格战不仅没有消停,还愈打愈烈。据不完全统计,12月,已有20多家车企先后开启…

如何在公网环境下使用Potplayer访问本地群晖webdav中的影视资源

文章目录 本教程解决的问题是:按照本教程方法操作后,达到的效果是:1 使用环境要求:2 配置webdav3 测试局域网使用potplayer访问webdav3 内网穿透,映射至公网4 使用固定地址在potplayer访问webdav ​ 国内流媒体平台的内…

C++ Qt开发:TabWidget实现多窗体功能

Qt 是一个跨平台C图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍TabWidget标签组件的常用方法及灵活运用。 Q…

TSINGSEE青犀边缘AI计算基于车辆结构化数据的车辆监控方案

随着人工智能技术的不断发展,边缘AI技术逐渐成为智能交通领域的研究热点。其中,基于边缘AI的车辆结构化数据技术与车辆监控系统是实现智能交通系统的重要手段之一。为了满足市场需求,TSINGSEE青犀边缘AI智能分析网关/视频智能分析平台推出了一…

对Ubuntu20.04.2 mate 桌面 Brisk menu 组件的配置

Brisk Menu 让菜单在 mate 桌面上灵活布局, 那个会跳动的精灵还是挺不错的,适当处理后就得到了下面干净利索的桌面。 Ubuntu 安装时,在控制中心留有 plank reference 设置功能,让屏幕中底部的这些组件在不同位置摆放。当进行配置时…

SpringBoot代码混淆与反混淆加密工具详解

目录 反编译 混淆 正文 一共就两步,无需源码,直接对ipa文件进行混淆加密 打开要处理的IPA文件 设置签名使用的证书和描述文件 开始ios ipa重签名 简单就是把代码跑一哈,然后我们的代码 .java文件 就被编译成了 .class 文件 反编译 就是…

从传统型数据库到非关系型数据库

一 什么是数据库 数据库顾名思义保存数据的仓库,其本质是一个具有数据存储功能的复杂系统软件,数据库最终把数据保存在计算机硬盘,但数据库并不是直接读写数据在硬盘,而是中间隔了一层操作系统,通过文件系统把数据保存…

什么牌子的猫粮好?分享五款便宜又好的主食冻猫粮牌子

冻干猫粮因其高营养和适口性,受到了众多铲屎官们的喜爱和追捧。冻干猫粮的喂养方式非常简单,可以直接喂食,也可以将冻干复水后喂食,根据猫咪的不同喜好可以选择不同的喂养方式。然而,有些铲屎官在选择冻干猫粮时可能会…

车辆违规实线变道检测系统:融合Gold-YOLO改进YOLOv8

1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 研究背景与意义 随着城市化进程的加快和交通工具的普及,道路交通安全问题日益凸显。其中,车辆违规实线变道是导致交通事故的重要原因之一。在道路上&…

配置https环境

为什么要配置https环境 在使用 HTML5 的 API 时,很多 API 只能在 https 保证安全的情况下才能开启。这就要求我们在本地开发环境也能够配置 https,否则你需要每次部署到配有 https 的测试环境中才能看到预览效果,这对开发的敏捷度造成了极大…