itchat发送微信文本消息、文件等【python】

前言

Itchat是一个开源的微信个人接口。使用python调用itchat的API,可以完成一个能够处理所有信息的微信机器人。比如说你可以写python,利用itchat,去搜索特定的人,然后向这个人发送消息、图片、视频、附件等等。

应用场景

在做自动化测试框架时,往往如果有case没有通过时,一般都会发邮件,或者发送短信进行通知相关人员。因为微信毕竟是现在非常主流的社交工具。如果在case有失败的情况下,如果能通过微信发送信息到相关人,岂不是更好。如果能把自动化运行的报告,最为附件发送给相应人员,那就更加perfect了。

冲着这2点(1是发微信文本消息,2是发微信附件),就是我想了解itchat的原因。

参考

这是网上找的资料。(我只是看了第1个,第2个,第3个)

1.       https://www.cnblogs.com/chenbei-blog/p/7799352.html

这个比较适合入门看,基本上看这里,就够用了。

2.       http://itchat.readthedocs.io/zh/latest

这里面讲的更全面一点,当然也稍微难一点。

3.       http://itchat.readthedocs.io/zh/latest/api/

这里面列举了itchat的所有API。有需求,就可以在这里直接找你需要的API。

4.       http://python.jobbole.com/86532/

这篇文章,我只是瞄了一眼,没有细看。貌似有写很意思的功能,如群发助手、好友删除检测。哈哈哈,以后有时间、有需求,再看。

5.       https://www.cnblogs.com/Chenjiabing/p/6907397.html

这个文章的笔记,整理的比较细和全面。

发送文本消息《itchat-发送消息.py》

如何发送文本附件《itchat-发送附件.py》

如果需要发送附件的话,就是这么简单,几行代码就搞定了。

遗留问题:登录需要扫二维码

遗留问题:登录需要扫二维码

到这里,利用itchat,在python中发送文本消息、以及附件那时相当简单,只有几行代码。

但是这里有个比较悲催的问题:登录。

Itchat提供了2个登录的方法,login()和auto_login()。

这2个方法都会通过微信扫描二维码登录,但是这种登录的方式确实短时间的登录,并不会保留登录的状态,也就是下次登录时还是需要扫描二维码。

用auto_login()方法,如果加上hotReload==True。下面是官网的截图说明。

所以它这么说,如果程序关闭,那么在短时间内重新启动程序可以不用重新扫码(但是有可能在手机上会弹出提示,让你确认登录。就像在PC上登录网页版,会在手机上弹出确认登录的提示一样)。那么如果程序不关闭一直运行着,就不用重新扫码。

但是考虑到自动化测试的可持续集成,我可能定时每隔30分钟运行一次。但是30分钟以后,又要进行扫码,这个很显然是不现实的。上面官方说,一定时间内开启,不需要重新扫码,但是没有说清楚,这个一定时间到底是多久。

我尝试去找用户名、密码的登录方式,但是没有找到。我只找到了login()auto_login()两个方法。希望itchat以后,可以有密码的登录方式。或者由于我的原因没找到这个方式,欢迎告诉我。

登录的API官方说明

下面是这2个API的官方说明:

代码

这里都是我从资料中找的代码,简单练了练手。这边把他截图出来。

《itchat-发送微信消息提醒【偏基础】.py》

《itchat-用户搜索.py》

这里就不截图了,上面《itchat-发送微信消息提醒【偏基础】.py》中已经包括了。

《itchat-发送消息.py》

这里就不截图了,上面已有。

《itchat-发送附件.py》

这里就不截图了,上面已有。

《itchat-各类型消息的注册.py》

《itchat-获取别人发给我的信息,并自动回复.py》

《itchat-退出及登陆完成后调用特定方法.py》

扩展

在官方网站上,还有一个图灵机器人的交互的例子,好像蛮有意思的。以后空了,可以看看。

http://itchat.readthedocs.io/zh/latest/tutorial/tutorial0/

原文地址:http://blog.51cto.com/12075300/2132653

时间: 2024-10-02 12:36:40

itchat发送微信文本消息、文件等【python】的相关文章

(6)微信二次开发 之 微信文本消息接口实现

p.p1 { margin: 13.0px 0.0px 13.0px 0.0px; text-align: justify; font: 16.0px SimSun } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 10.5px SimSun } span.s1 { font: 16.0px Cambria } span.s2 { font: 16.0px "Times New Roman" } s

itchat发送微信消息

1.1 微信机器人自动回复消息 1.运行程序,会弹出二维码,扫描授权后即可实现自动回复信息 参考01  参考02 #coding=utf8 import itchat, time from itchat.content import * @itchat.msg_register([TEXT, MAP, CARD, NOTE, SHARING]) def text_reply(msg): itchat.send('%s: %s' % (msg['Type'], msg['Text']), msg[

在测试环境发送 微信模板消息 调试 --Sangit

一.如何在测试环境发送 1.强制access_token,把正式公众号的token写到测试环境代码,发送模板消息微信只根据access_token来判断公众号 2.同时把测试用户在正式环境的openid也写到测试环境的代码 二.如何查看模板消息是否发送成功 因为系统发送模板消息用的是 swoole服务 来监听发送,所以需要通过 strace命令 追踪进程状态信息 1.通过ps命令查看进程的pid 2.通过strace命令追踪进程 3.然后调用发送模板消息,可以看到追踪进程 发送的数据与返回值,可

PHP发送微信模版消息

1 public function payResult($params) { 2 3 global $_GPC, $_W; 4 5 $weid = $this->_weid; 6 7 $order = pdo_fetch("SELECT id, status, hotelid, roomid FROM " . tablename('hotel2_order') . " WHERE id = {$params['tid']} AND weid = {$weid} LIMI

发送微信模板消息 已测试通过

public function http_request_json($url){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $result = c

C#开发微信门户及应用(19)-微信企业号的消息发送(文本、图片、文件、语音、视频、图文消息等)

我们知道,企业号主要是面向企业需求而生的,因此内部消息的交流显得非常重要,而且发送.回复消息数量应该很可观,对于大企业尤其如此,因此可以结合企业号实现内部消息的交流.企业号具有关注安全.消息无限制等特点,很适合企业内部的环境.本文主要介绍如何利用企业号实现文本.图片.文件.语音.视频.图文消息等消息的发送操作. 1.企业号特点 对于企业号,有以下一些特点: 1)关注更安全 –只有企业通讯录的成员才能关注企业号,分级管理员.保密消息等各种特性确保企业内部信息的安全. 企业可以设置自行验证关注者身份

微信公众平台API测试——接收文本消息

一.简介 当普通微信用户向公众账号发消息时,微信服务器将用户发送的消息封装成XML数据包,通过POST消息发送到开发者的URL上.      微信服务器在五秒内收不到服务器的响应会断掉连接,并且重新发起请求,总共重试三次.关于重试的消息排重,推荐使用msgid排重.      假如服务器无法保证在五秒内处理并回复,可以直接回复空串,微信服务器不会对此作任何处理,并且不会发起重试. 当前支持如下的普通消息: 1 文本消息 2 图片消息 3 语音消息 4 视频消息 5 地理位置消息 6 链接消息 二

微信公号开发之文本消息技巧:长度限制、换行和表情

微信公众账号文本消息的内容长度限制揭秘 相信不少朋友都遇到过这样的问题:当发送的文本消息内容过长时,微信将不做任何响应.那么到底微信允许的文本消息的最大长度是多少呢?我们又该如何计算文本的长度呢?为什么还有些人反应微信好像支持的文本消息最大长度在1300多呢?这篇文章会彻底解除大家的疑问. 接口文档中对消息长度限制为2048: 可以看到,接口文档中写的很明确:回复的消息内容长度不超过2048字节.那为什么很多人测试反应消息内容长度在1300多字节时,微信就不响应了呢?我想这问题应该在这部分人没有

微信程序开发系列教程(三)使用微信API给微信用户发文本消息

这个系列的第二篇教程,介绍的实际是被动方式给微信用户发文本消息,即微信用户关注您的公众号时,微信平台将这个关注事件通过一个HTTP post发送到您的微信消息服务器上.您对这个post请求做了应答(格式为文本),则该应答会通过微信平台投递到您粉丝的微信应用上. 微信开发者中心的文档将这种行为称为"被动回复用户消息": 回复消息报文的格式在开发者文档里也有清晰的定义,是一个xml格式的字符串.我的第二篇教程里也有具体的发送该报文的代码示例. 本文作为这个开发系列的第三篇教程,介绍的是如何