itchat入门

1. itchat概述

itchat是一个开源的微信个人号接口,是用python对微信API的封装,该接口与公众号接口itchatmp共享类似的操作方式,学习一次掌握两个工具。

  • 支持发送消息、图片、视频、地图、名片、文件等

  • 支持热登陆,不用每次登陆都要扫描二维码

  • 支持上传中文文件

    1.1. 安装

    打开终端,使用pip工具安装itchat:

    pip install itchat
    

    安装成功之后,在python的安装路径:…\Python27\Lib\site-packages\会增加一个itchat的文件,进入之后,可以查看所有的功能接口,如下图所示

    1.2 itchat的API

    itchat中所封装的方法可以在core.py中进行查看,打开core.py文件, Core类中介绍了40个方法,对其作用进行解读如下:

    1) 在components/login.py中进行定义的方法:
Function-name Description Usage
login 和微信网页版登录一样:
一个登录二维码被打开
需要扫描数据、需要手机确认
最后登录并显示nickName
参数:enableCmdQR、picDir、qrCallback、loginCallback、exitCallback import itchat
itchat.login()
get_Qruuid 得到一个的uuid:
登录前、下载二维码、检查登录数据,都需要uuid
get_QR 下载和展示二维码:
参数:uuid、enableCmdQR、picDir、qrCallback
check_login 检查登录数据:
参数:uuid 返回值:string 200(success)201(等待确认)408(uuid超时)0(不明错误)
web_init 得到初始化的必要信息:
参数:show_mobile_login 显示网页微信登录标识
start_receiving 打开一个主循环线程和接收信息:
参数:get_msg 获取信息
logout 登出
2) 在components/contact.py中进行定义的方法:
Function-name Description Usage
update_chatroom 更新聊天室 参数:userName、detailedMember
update_friend 更新聊天室 参数:userName
get_contact fetch part of contact 参数:update;返回值:chatroomList will be returned
get_friends 获取朋友列表:fetch friends list 参数:update;返回值:friends 信息字典
get_chatrooms 获取聊天室列表:fetch chatrooms list 参数:update、contactOnly;返回值:chatrooms(dict)
get_mps 获取大平台列表:fetch massive platforms list 参数:update;返回值:platforms(dict)
set_alias 设置朋友的别名: 参数:userName、alias
set_pinned 设置固定的朋友或者聊天室: 参数:userName、isPinned
add_friend 添加朋友或者接受添加 参数:userName、status(2/3):2为添加,3为接受
get_head_img place for docs参数:userName、chatroomUserName、picDir get chatroom header:
only set chatroomUserName-get friend header:
only set userName-get chatroom member header:
set both
create_chatroom 创建一个聊天室: 参数:memberList(dict)、topic(str)
set_chatroom_name 设置聊天室名称: 参数:chatroomUserName、name
delete_member_from_chatroom 删除成员:
不能删除自己
严格限制操作频率;
参数:chatroomUserName(dict), memberList(dict)
add_member_into_chatroom 添加成员:
不能添加自己或者已存在的成员
人员超过40,需要邀请
严格限制操作频率
参数:chatroomUserName,memberList, useInvitation
3) 在components/messages.py中进行定义的方法:
Function-name Description Usage
send_raw_msg 发送多条消息:
many messages are sent in a common way
@itchat.msg_register(itchat.content.CARD)
def reply(msg):
itchat.send_raw_msg(msg[‘MsgType’], msg[‘Content’], msg[‘FromUserName’])
send_msg 发送纯文本消息 参数:msg(unicode)、toUserName
upload_file 上传文件得到mediaID:
upload file to server and get mediaId
参数:fileDir、isPicture、isVideo
send_file 发送附件:send attachment 参数:fileDir、mediaId、toUserName
send_image 发送图片:send image 参数:fileDir、mediaId、toUserName
send_video 发送视频:send video 参数:fileDir、mediaId、toUserName
send 所有发送方法的预方法: 参数:
msg: 不同的字符代表不同的类型:[’@fil@’, ‘@img@’, ‘@msg@’, ‘@vid@’]代表[文件、图片、纯文本、视频],如果没有匹配的,代表纯文本;
toUserName: ‘UserName’ key of friend dict;
mediaId: if set, uploading will not be repeated
revoke 撤销消息 参数:msgId、toUserName、localId;
msgId为服务器的消息Id,localId为本地的消息Id
4) 在components/hotreload.py中进行定义的方法:
Function-name Description Usage
dump_login_status 将登陆状态转储为特定文件 参数:fileDir(dir for dumping login status)、loginCallback、exitCallback
load_login_status
5) 在components/register.py中进行定义的方法:
Function-name Description Usage
auto_login 同login,只是参数不同 参数:hotReload、statusStorageDir、enableCmdQR、picDir、qrCallback、loginCallback、exitCallback
configured_reply null
msg_register 装饰器的构造函数,基于给定的信息,返回一个特定的装饰器
run 启动自动回复 参数:debug,如果进行设置,debug信息会在界面显示。
search_friends
search_chatrooms
search_mps

2. 简单入门实例

2.1. 给文件传输助手发一条信息

import itchat 
itchat.auto_login() 
itchat.send('Hello, filehelper', toUserName='filehelper')

2.2. 回复发给自己的文本消失

import itchat 
@itchat.msg_register(itchat.content.TEXT) 
def text_reply(msg): 
return msg['Text'] 
itchat.auto_login() 
itchat.run()

你可能感兴趣的:(有意思的事,itchat,python)