python使用itchat库实现微信机器人(好友聊天、群聊天)

 更新时间:2018年01月04日 11:47:02   作者:DT0203 关注  
itchat是一个开源的微信个人号接口,可以使用该库进行微信网页版中的所有操作。本文主要使用该库完成一个能够处理微信消息的的图灵机器人,包括好友聊天、群聊天,感兴趣的朋友跟随小编一起学习吧

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 itchat
itchat.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.text
  data = 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库实现微信机器人(好友聊天、群聊天),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 简单介绍Python下自己编写web框架的一些要点

    简单介绍Python下自己编写web框架的一些要点

    这篇文章主要介绍了简单介绍Python下自己编写web框架的一些要点,示例代码基于Python2.x版本,需要的朋友可以参考下
    2015-04-04
  • python脚本实现数据导出excel格式的简单方法(推荐)

    python脚本实现数据导出excel格式的简单方法(推荐)

    下面小编就为大家带来一篇python脚本实现数据导出Excel格式的简单方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • python构建自定义回调函数详解

    python构建自定义回调函数详解

    在工作中,回调函数使用的场景是非常多的,下面我们就来通过例子程序来详细了解利用了Python的属性机制构建了一个自定义回调函数的使用
    2017-06-06
  • Python常见异常处理总结

    Python常见异常处理总结

    这篇文章主要介绍了Python常见异常处理总结,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-07-07
  • 使用Keras建立模型并训练等一系列操作方式

    使用Keras建立模型并训练等一系列操作方式

    这篇文章主要介绍了使用Keras建立模型并训练等一系列操作方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Python模块/包/库安装的六种方法及区别

    Python模块/包/库安装的六种方法及区别

    这篇文章主要介绍了Python模块/包/库安装六种方法,通过实例代码给大家介绍了python中模块、包、库的区别和使用,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • python脚本实现验证码识别

    python脚本实现验证码识别

    这篇文章主要为大家详细介绍了python脚本实现验证码识别的实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • Python paddleocr快速使用及参数配置详解

    Python paddleocr快速使用及参数配置详解

    PaddleOCR是基于PaddlePaddle深度学习框架的开源OCR工具,但它提供了推理模型/训练模型/预训练模型,用户可以直接使用推理模型进行识别,也可以对训练模型或预训练模型进行再训练,这篇文章主要介绍了Python paddleocr快速使用及参数详解,需要的朋友可以参考下
    2024-06-06
  • Python实现将16进制字符串转化为ascii字符的方法分析

    Python实现将16进制字符串转化为ascii字符的方法分析

    这篇文章主要介绍了Python实现将16进制字符串转化为ascii字符的方法,结合实例形式分析了Python 16进制字符串转换为ascii字符的实现方法与相关注意事项,需要的朋友可以参考下
    2017-07-07
  • Python实现简单拆分PDF文件的方法

    Python实现简单拆分PDF文件的方法

    这篇文章主要介绍了Python实现简单拆分PDF文件的方法,可实现将一个PDF文件拆分成指定份数的功能,涉及pyPdf模块的使用技巧,需要的朋友可以参考下
    2015-07-07

最新评论