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, 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, 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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 麦洁文.1989-新曲与精丫新艺宝】【WAV+CUE】
- SNH48《薄荷糖 (Mint Candy)》[320K/MP3][33.72MB]
- SNH48《薄荷糖 (Mint Candy)》[FLAC/分轨][78.59MB]
- 刘美麟《同生》[320K/MP3][70.99MB]
- 群星.1994-宝丽金最流行3CD【宝丽金】【WAV+CUE】
- 群星.2024-聆听“某某”影视原声带【华纳】【FLAC分轨】
- 陈慧娴.1989-永远是你的朋友(2024环球MQA-UHQCD限量版)【环球】【WAV+CUE】
- 何洛洛.2024-别叫醒我(EP)【光羽】【FLAC分轨】
- 林忆莲.1996-爱莲说2CD【华纳】【WAV+CUE】
- 黄妃.2005-红【亚律】【WAV+CUE】
- 刘美麟《同生》[FLAC/分轨][161.95MB]
- 群星《前途海量 电影原声专辑》[320K/MP3][106.26MB]
- 群星《前途海量 电影原声专辑》[FLAC/分轨][227.78MB]
- 张信哲.1992-知道新曲与精丫巨石】【WAV+CUE】
- 王翠玲.1995-ANGEL【新艺宝】【WAV+CUE】