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语言实现机器学习的K-近邻算法

    Python语言实现机器学习的K-近邻算法

    今天学习的算法是KNN近邻算法。KNN算法是一个监督学习分类器类别的算法。下面我们来详细的探讨下
    2015-06-06
  • Python图像处理之图像的灰度线性变换

    Python图像处理之图像的灰度线性变换

    这篇文章主要介绍了Python图像处理之图像的灰度线性变换,文章围绕主题展开详细的内容戒杀,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • python带参数装饰器的两种写法示例代码

    python带参数装饰器的两种写法示例代码

    装饰器是 Python 中非常有用的语法特性,可以用于包装或者修改函数的行为,本文介绍了python带参数装饰器的两种写法,需要的朋友可以参考下
    2023-08-08
  • python链接oracle数据库以及数据库的增删改查实例

    python链接oracle数据库以及数据库的增删改查实例

    下面小编就为大家分享一篇python链接oracle数据库以及数据库的增删改查实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • Python 批量刷博客园访问量脚本过程解析

    Python 批量刷博客园访问量脚本过程解析

    这篇文章主要介绍了Python 批量刷博客园访问量脚本过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • selenium+python设置爬虫代理IP的方法

    selenium+python设置爬虫代理IP的方法

    这篇文章主要介绍了selenium+python设置爬虫代理IP的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • Python中threading库实现线程锁与释放锁

    Python中threading库实现线程锁与释放锁

    threading用于提供线程相关的操作,为了保证安全的访问一个资源对象,我们需要创建锁。那么Python线程锁与释放锁如何实现,感兴趣的小伙伴们可以参考一下
    2021-05-05
  • 使用Python对Csv文件操作实例代码

    使用Python对Csv文件操作实例代码

    这篇文章主要介绍了使用Python对Csv文件操作实例代码,非常具有实用价值,需要的朋友可以参考下
    2017-05-05
  • Python 制作子弹图

    Python 制作子弹图

    这篇文章主要介绍了Python 制作子弹图,众所周知,Python 的应用是非常广泛的,今天我们就通过 matplotlib 库学习下如何制作精美的子弹图,需要的朋友可以参考一下
    2021-12-12
  • Python视频处理模块之moviepy的用法教程

    Python视频处理模块之moviepy的用法教程

    随着自媒体时代,现在对视频的处理变得越来越常见。而 Python 有一个专门用于处理视频的第三方库:moviepy,可以非常方便地对视频进行一些简单处理,下面我们就来看一看
    2022-07-07

最新评论