关于python:Python实现微信机器人itchat库

2次阅读

共计 1794 个字符,预计需要花费 5 分钟才能阅读完成。

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()

那么,上面你的好友、微信群能够欢快的跟图灵机器人聊天啦~~~

如发现错误或看不懂的中央,可在评论区提出,大家一起交换!

如果文章对您有帮忙,点赞 + 关注,您的反对是我最大的能源

正文完
 0