itchat是一个开源的微信个人号接口,可以使用该库进行微信网页版中的所有操作,比如:所有好友、添加好友、拉好友群聊、微信机器人等等。详细用户请看文档介绍,在这里。

本文主要使用该库完成一个能够处理微信消息的的图灵器人,包括好友聊天、群聊天。

1、itchat库的安装

pip install itchat

安装完成后运行以下代码,会出现出现一张二维码,扫码登陆之后将会登陆微信网页。

2、登陆

import itchat
# 登陆
itchat.auto_login()   # 可设置hotReload = True
# 运行并保持在线状态
itchat.run()

此外,itchat 也提供短时间内断线重连的功能,只需要添加hotReload = True参数,下次登陆时不需要通过扫描二维码,只需要在手机端确认登陆即可。

3、消息的发送

itchat 库可以发送 文本、图片、视频、附件等内容,如向微信文件传输助手发送消息,可这样:

itchat.send('Hello', toUserName='filehelper')

toUserName 为要向发送消息的人的微信号,可以在微信手机端点击查询,也可以使用itchat库中的search_friends函数来进行查找,返回其微信号,详细用法,自行查找官方文档。

4、消息的接收

###################### 完整代码##############################
# 加载库
from itchat.content import *
import requests
import json
import itchatitchat.auto_login(hotReload = True)
# 调用图灵机器人的api,采用爬虫的原理,根据聊天消息返回回复内容
def tuling(info):appkey = "e5ccc9c7c8834ec3b08940e290ff1559"url = "http://www.tuling123.com/openapi/api?key=%s&info=%s"%(appkey,info)req = requests.get(url)content = req.textdata = json.loads(content)answer = data['text']return answer# 对于群聊信息,定义获取想要针对某个群进行机器人回复的群ID函数
def group_id(name):df = itchat.search_chatrooms(name=name)return df[0]['UserName']# 注册文本消息,绑定到text_reply处理函数
# text_reply msg_files可以处理好友之间的聊天回复
@itchat.msg_register([TEXT,MAP,CARD,NOTE,SHARING])
def text_reply(msg):itchat.send('%s' % tuling(msg['Text']),msg['FromUserName'])@itchat.msg_register([PICTURE, RECORDING, ATTACHMENT, VIDEO])
def download_files(msg):msg['Text'](msg['FileName'])return '@%s@%s' % ({'Picture': 'img', 'Video': 'vid'}.get(msg['Type'], 'fil'), msg['FileName'])# 现在微信加了好多群,并不想对所有的群都进行设置微信机器人,只针对想要设置的群进行微信机器人,可进行如下设置
@itchat.msg_register(TEXT, isGroupChat=True)
def group_text_reply(msg):# 当然如果只想针对@你的人才回复,可以设置if msg['isAt']: item = group_id(u'想要设置的群的名称')  # 根据自己的需求设置if msg['ToUserName'] == item:itchat.send(u'%s' % tuling(msg['Text']), item)itchat.run()

那么,下面你的好友、微信群可以愉快的跟图灵机器人聊天啦~~~

如发现错误或看不懂的地方,可在评论区提出,大家一起交流!

如果文章对您有帮助,点赞+关注,您的支持是我最大的动力

Python实现微信机器人——itchat库相关推荐

  1. 用python创建微信机器人_用Python创建微信机器人

    原标题:用Python创建微信机器人 文/裸睡的猪哥 图片来源于网络 微信,一个日活10亿的超级app,不仅在国内社交独领风骚,在国外社交也同样占有一席之地.今天我们要讲的便是如何用Python来做一 ...

  2. Python+爬虫+微信机器人 打造属于你的网购价格监督利器!

    写在最前 程序是为人类服务的,最近正好身边小伙伴们在做球衣生意,当然是去nikenba专区购买了,可是有些热门球衣发布几分钟就被抢完,有些折扣球衣也是很快就被抢售一空,那么我们只能靠自己的眼睛一直盯着 ...

  3. python+爬虫+微信机器人 打造属于你的网购价格监督利器

    写在最前 程序是为人类服务的,最近正好身边小伙伴们在做球衣生意,当然是去nikenba专区购买了,可是有些热门球衣发布几分钟就被抢完,有些折扣球衣也是很快就被抢售一空,那么我们只能靠自己的眼睛一直盯着 ...

  4. python实现微信机器人: 登录微信、消息接收、自动回复功能

    这篇文章主要介绍了python实现微信机器人: 登录微信.消息接收.自动回复功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 ...

  5. 利用Python制作微信机器人(三)实现爬取JD商品价格

    从前两篇的博客来看,目前已经实现了机器人单向给微信发消息,和与机器人进行交互式发消息,详情如下: 利用Python制作微信机器人(一)机器人单向发消息 利用Python制作微信机器人(二)与机器人进行 ...

  6. 利用Python制作微信机器人(二)

    上次写了利用Python制作微信机器人,其中只实现了通过api来控制微信机器人来给自己发送消息,具体详情可查看: 利用Python制作微信机器人(一) 本篇博客主要编写如何是实现给微信机器人发送消息, ...

  7. python企业微信机器人发送文件

    python企业微信机器人发送文件 import requests#传入文件 def post_file(id_url,wx_url,file):data = {'file': open(file,' ...

  8. 基于python 开发 微信机器人自动回复 app

    基于python 开发 微信机器人自动回复 app # coding:utf-8 __author__ = "zhou" # create by zhou on 2020/3/3 ...

  9. 2019最新Python学习路线图:如何用Python创建微信机器人

    微信,一个日活10亿的超级app,不仅在国内社交独领风骚,在国外社交也同样占有一席之地.今天我们要讲的最新Python学习路线教程便是如何用Python来做一个微信聊天机器人,突然想起鲁迅先生曾经说过 ...

  10. 用python创建微信机器人_手把手教你用Python创建微信机器人

    微信,一个日活10亿的超级app,不仅在国内社交独领风骚,在国外社交也同样占有一席之地.今天我们要讲的便是如何用Python来做一个微信聊天机器人. 因为是微信机器人系列的第一篇文章,所以笔者会特别详 ...

最新文章

  1. foreach遍历进阶_“枚举器“/GetEnumerator()方法
  2. Hibernate学习之hibernate状态
  3. Linux Kernel TCP/IP Stack — L2 Layer — Linux Bridge(虚拟网桥)的基本操作
  4. (五)操作系统安全概念和设计思想
  5. SDNU 1045.石子合并1(区间dp)
  6. 【Java】synchronized关键字笔记
  7. oc总结 --oc基础语法相关知识
  8. Matlab Tricks( 八)—— 将 pgm 格式文件转换为 png 格式
  9. intel 酷睿core系列cpu的类型:U M H HQ MQ
  10. SHA256算法原理及其实现
  11. php开发App接口
  12. 朱丹超级搜索术笔记:百度搜索相关的技巧
  13. C语言 数据结构 实验二 线性表的链式存储及其操作
  14. 云课堂智慧职教中c语言答案,云课堂智慧职教查答案自动答题
  15. Ubuntu配置软件源
  16. 学人工智能看什么书?AI入门书籍推荐
  17. 小菜鸟的C++游戏编程学习日记(一)
  18. 单片机小白学步系列(八) 用面包板搭建实验电路
  19. hwd分别是长宽高_DS-2CD7A87HWD-XZS 海康威视800万AI人脸抓拍比对筒型网络摄像机
  20. HTML+css+js实现网页时钟、全网做得最好的时钟!

热门文章

  1. vb6源码 ymodem_VB爱好者乐园(VBGood)
  2. 学术墙报模板_【征集】|复旦大学2019博士生学术论坛之生命科学论坛墙报展
  3. 使用RAID 5虚拟磁盘时,dell的perc控制器H310的性能较差
  4. Android 游戏开发入门 视频+源码
  5. 数据库设计—— 使用Java实现数据库编程
  6. 程序员数学(7)--平面直角坐标系
  7. win7开机动画_分享win7开机画面修改方法
  8. 远程控制计算机软件有哪些,支持远程控制电脑的工具有哪些?这几款软件值得一试!...
  9. 用Java实现邮件的发送
  10. Lingo 软件的使用 数学建模 司守奎