1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > itchat python_itchat-python搭建微信机器人(附示例)

itchat python_itchat-python搭建微信机器人(附示例)

时间:2024-06-08 08:56:30

相关推荐

itchat python_itchat-python搭建微信机器人(附示例)

itchat是python开源第三方库,用于搭建微信机器人,几十行代码就能帮你实现自动的处理所有信息。比如,添加好友,搭建自动回复机器人,还原撤销信息,分析好友男女比例,地理分布情况,爬朋友圈做数据分析…

安装

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'收到了'

图灵聊天机器人

在图灵机器人官网()注册账号,创建机器人,如果只是学习的话,可以使用免费版,一个账号最多可以创建5个机器人,一个机器人日调用接口数5000次。

#申请机器人后会拿到一个key

key = '3c925fbee6f84ad2aa032ab05d4581b0'

def tuling(info):

url = "/openapi/api?key=%s&info=%s" % (key, info)

r = requests.get(url)

#返回消息

return r.json().get('text')

附上完整代码(文本图片群聊)

# coding: utf-8

# @Time : /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 = "/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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。