当前位置: 首页 > 工具软件 > ItChat > 使用案例 >

itchat入门

饶高雅
2023-12-01

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-nameDescriptionUsage
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-nameDescriptionUsage
update_chatroom更新聊天室参数:userName、detailedMember
update_friend更新聊天室参数:userName
get_contactfetch 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_imgplace for docs参数:userName、chatroomUserName、picDirget 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-nameDescriptionUsage
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-nameDescriptionUsage
dump_login_status将登陆状态转储为特定文件参数:fileDir(dir for dumping login status)、loginCallback、exitCallback
load_login_status
5) 在components/register.py中进行定义的方法:
Function-nameDescriptionUsage
auto_login同login,只是参数不同参数:hotReload、statusStorageDir、enableCmdQR、picDir、qrCallback、loginCallback、exitCallback
configured_replynull
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()
 类似资料: