itchat-python搭建微信机器人(附示例)
作者:lsn 加油鸭 时间:2022-05-04 00:00:54
itchat是python开源第三方库,用于搭建微信机器人,几十行代码就能帮你实现自动的处理所有信息。比如,添加好友,搭建自动回复机器人,还原撤销信息,分析好友男女比例,地理分布情况,爬朋友圈做数据分析…
本文只是简单实现聊天机器人,想了解更多关于itchat的用法请参照:https://itchat.readthedocs.io/zh/latest/
安装
pip install itchat
登录
itchat.auto_login(hotReload=True)
执行后会出现一个二维码,扫码登录。hotReload=True可以保留登录状态,以至于往后的重启程序可以跳过扫码登录。
消息类型
参数 | 类型 |
---|---|
TEXT | 文本 |
MAP | 位置 |
CARD | 名片 |
SHARING | 分享 |
PICTURE | 图片表情 |
RECORDING | 语音 |
ATTACHMENT | 附件 |
VIDEO | 小视频 |
发送消息
send(msg='text',toUserName=None)
msg:发送的内容
toUserName:发送对象,None表示自己
内容类型:
图片:@img@img_path
视频:@vid@vid_path
文件:@fil@file_path
ps:接收到的附件路径一般默认存放在当前路径的msg[‘FileName']下
注册会话监听
#TEXT:监听的消息类型
@itchat.msg_register(TEXT)
def text_reply(msg):
#过滤掉某人,NickName是昵称
if msg.User['NickName'] == 'xxx':
pass
else:
# return_text = tuling(msg.text)
#这种send方法会自己回复自己的消息
# msg.user.send(u'收到了')
#只回复对方的消息
return u'收到了'
图灵聊天机器人
在图灵机器人官网(http://www.tuling123.com)注册账号,创建机器人,如果只是学习的话,可以使用免费版,一个账号最多可以创建5个机器人,一个机器人日调用接口数5000次。
#申请机器人后会拿到一个key
key = '3c925fbee6f84ad2aa032ab05d4581b0'
def tuling(info):
url = "http://www.tuling123.com/openapi/api?key=%s&info=%s" % (key, info)
r = requests.get(url)
#返回消息
return r.json().get('text')
附上完整代码(文本图片群聊)
# coding: utf-8
# @Time : 2019/2/20 23:32
# @Author : lsn
# @File : itchat_demo.py
# @Software: PyCharm
import itchat
import requests
from itchat.content import *
key = '3c925fbee6f84ad2aa032ab05d4581b0'
def tuling(info):
url = "http://www.tuling123.com/openapi/api?key=%s&info=%s" % (key, info)
r = requests.get(url)
return r.json().get('text')
@itchat.msg_register(TEXT)
def text_reply(msg):
if msg.User['NickName'] == 'xxx':
pass
else:
return_text = tuling(msg.text)
# msg.user.send(return_text)
return return_text
@itchat.msg_register(
[PICTURE, RECORDING, ATTACHMENT, VIDEO])
def download_files(msg):
print msg['Type']
print msg['FileName']
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):
group_list = list()
# 针对指定群回复
group_list.append(u'弹一弹')
group_list.append(u'养生游戏分享')
# 当然如果只想针对@你的人才回复,可以设置if msg['isAt']:
if msg.User['NickName'] in group_list:
return tuling(msg.text)
else:
pass
itchat.auto_login(hotReload=True)
itchat.run()
参考:https://www.jb51.net/article/162809.htm
来源:https://blog.csdn.net/auto_mind/article/details/87868705
标签:python,itchat,微信机器人
0
投稿
猜你喜欢
Python Excel处理库openpyxl详解
2021-10-18 13:59:04
关于Python八大排序实现方法(冒泡排序、快速排序等)
2022-03-23 09:08:38
PyTorch模型转TensorRT是怎么实现的?
2021-09-01 08:14:02
sqlserver 中时间为空的处理小结
2024-01-13 06:07:40
MySQL数据库的触发器和事务
2024-01-15 21:35:08
SQLServer与服务器连接时出错的解决方案
2009-06-28 14:35:00
不管你的Python报什么错,用这个模块就能正常运行
2023-08-29 14:42:43
详解vue数组遍历方法forEach和map的原理解析和实际应用
2024-05-05 09:06:18
matplotlib基础绘图命令之errorbar的使用
2022-03-10 23:20:38
pandas pd.cut()与pd.qcut()的具体实现
2022-08-03 03:41:36
JS实现倒序输出的几种常用方法示例
2024-04-22 13:27:15
TypeScript入门-接口
2024-06-07 15:55:26
Python实现批量梯度下降法(BGD)拟合曲线
2023-03-31 07:18:03
使用Python在Windows下获取USB PID&VID的方法
2021-02-15 19:31:20
微信小程序之多文件下载的简单封装示例
2023-10-19 21:10:06
Javascript vue.js表格分页,ajax异步加载数据
2024-05-21 10:13:05
Python淘宝或京东等秒杀抢购脚本实现(秒杀脚本)
2023-01-23 20:25:14
pycharm创建scrapy项目教程及遇到的坑解析
2022-05-02 12:55:38
python连接mongodb密码认证实例
2022-09-02 07:08:21
Python的多态性实例分析
2023-04-15 04:37:18