微信机器人还能这么玩?截取摄像头图片发给指定好友!

浏览: 1108

作者:欧巴        Python爱好者社区专栏作者

知乎专栏:Python学习之路

https://zhuanlan.zhihu.com/pythonlearn

今天,闲来无聊,还是继续折腾Python,最近看到微信机器人比较有意思,于是就用这个模块做了个好玩的东西,大神请飘过。主要实现的功能有:

1,根据指定好友的指定文本消息截取当前电脑屏幕发送给指定的好友。
2,根据指定好友的指定文本消息打开摄像头拍一张照片给指定的好友(这个比较邪恶哦)

按照我的风格还是画流程图,演示下整体过程,无论做什么都要有思路,都要知道自作要做什么。 

主要代码:

import itchat
from itchat.content import TEXT
from itchat.content import *
from PIL import ImageGrab
from VideoCapture import Device

@itchat.msg_register(TEXT,isFriendChat=True)
def handle_receive_msg(msg):
   msg_from=msg['FromUserName'] #发送人ID
   msg_from_nickname=itchat.search_friends(userName=msg_from)['NickName']
   print(msg_from)
   print(msg_from_nickname)
   print(msg['Text'])
   if '朕就是这样的汉子' == msg_from_nickname and '芝麻开门'==msg['Text']:
      screenRecorde()
      itchat.send_image(fileDir='screen.jpg', toUserName=msg_from)
   elif '朕就是这样的汉子' == msg_from_nickname and '阿里巴巴'==msg['Text']:
      cameraRecord()
      itchat.send_image(fileDir='camera.jpg', toUserName=msg_from)

def screenRecorde():
   """
   定义截取当前屏幕的方法
   :return:
   """
   im = ImageGrab.grab()
   im.save("screen.jpg", 'jpeg')
def cameraRecord():
   interval = 2
   cam = Device()
   cam.saveSnapshot('camera.jpg')


itchat.auto_login(hotReload=True)
itchat.run()

部门代码讲解:大家可以看到主要就是引入了itchat,PIL,VideoCapture 这三个库

itchat是大神写的微信机器人python库,PIL用来截电脑屏幕的,VideoCapture 用来获取摄像头图片的,

运行之后使用自己的微信扫描二维码登录,当程序判断到指定好友发来"芝麻开门"这个消息后,调用屏幕截图的方法,并把图片发回给指定好友,如果发来“阿里巴巴”这个消息则调用获取摄像头的方法,将图片发回给指定好友,就是这么简单。

实际效果:

Python爱好者社区历史文章大合集

Python爱好者社区历史文章列表(每周append更新一次)

福利:文末扫码立刻关注公众号,“Python爱好者社区”,开始学习Python课程:

关注后在公众号内回复课程即可获取

小编的转行入职数据科学(数据分析挖掘/机器学习方向)【最新免费】

小编的Python入门免费视频课程!!!

小编的Python快速上手matplotlib可视化库!!!

崔老师爬虫实战案例免费学习视频。

陈老师数据分析报告制作免费学习视频。

玩转大数据分析!Spark2.X+Python 精华实战课程免费学习视频。

推荐 0
本文由 Python爱好者社区 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册