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

作者:DT0203 关注 时间:2023-07-12 10:38:39 

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库实现微信机器人(好友聊天、群聊天)网站的支持!

来源:https://www.jianshu.com/p/5d4de51f5375

标签:python,itchat,微信,机器人
0
投稿

猜你喜欢

  • 简单介绍Python的Tornado框架中的协程异步实现原理

    2021-06-21 10:00:23
  • python中字典按键或键值排序的实现代码

    2023-07-22 00:26:49
  • 通俗易懂了解Python装饰器原理

    2021-07-18 13:48:20
  • python使用jieba实现中文分词去停用词方法示例

    2021-02-04 11:27:17
  • 发布你的Python模块详解

    2021-06-10 02:03:53
  • JS脚本实现网页自动秒杀点击

    2024-04-16 09:36:09
  • pytorch loss反向传播出错的解决方案

    2023-04-06 07:20:55
  • Vue 2.0+Vue-router构建一个简单的单页应用(附源码)

    2024-05-10 14:17:43
  • Python数据结构与算法之图的基本实现及迭代器实例详解

    2023-03-22 12:22:42
  • Python实现自动驾驶训练模型

    2023-07-28 18:45:29
  • 关于 Web 字体:现状与未来[译]

    2009-11-24 13:50:00
  • Python多线程多进程实例对比解析

    2022-10-09 16:43:20
  • Numpy 三维数组索引与切片的实现

    2021-08-17 22:19:35
  • 变态输入框——再谈校验包容性(一)

    2009-10-10 13:23:00
  • 纯ASP结合VML生成完美图-饼图

    2010-05-11 16:49:00
  • Python自定义函数计算给定日期是该年第几天的方法示例

    2021-07-25 02:38:10
  • 使用OpenCV实现人脸图像卡通化的示例代码

    2023-01-03 13:38:49
  • Python恋爱小助手之必拿下

    2023-09-22 13:09:00
  • SQLite数据库管理相关命令的使用介绍

    2024-01-27 12:41:00
  • 使用Python操作excel文件的实例代码

    2023-07-14 10:45:50
  • asp之家 网络编程 m.aspxhome.com