pywxclient.core package¶
Submodules¶
Module contents¶
pywxclient core functions package.
-
class
pywxclient.core.Client(session, api_cls=<class 'pywxclient.core.api.WeChatAPI'>)¶ Bases:
objectWeChat client base class.
Request WeChat authorize.
-
close()¶ Close client.
-
dump()¶ Dump client object as dict.
-
flush_sync_key()¶ Update WeChat session sync key.
This must be invoked after successfully handling new messages. Otherwise client is at risk of losing messages.
Get WeChat authorize url.
-
get_batch_contact(user_list)¶ Batch getting WeChat contacts.
Parameters: user_list – a list contains dict like { ‘UserName’: ‘username’, ‘EncryChatRoomId’: ‘’}.
-
get_contact()¶ Get WeChat contacts.
-
classmethod
load(client_dict)¶ Restore client from dict.
-
login()¶ Login in WeChat.
-
logout()¶ Logout WeChat.
-
ok_login_code= (200, 201, 400, 408)¶
-
send_message(message)¶ Send WeChat message.
-
sync_check()¶ Check WeChat sync status.
-
sync_message()¶ Sync WeChat message.
-
upload(file_obj, to_username)¶ Upload message resource to WeChat.
-
class
pywxclient.core.SyncClient(session, api_cls=<class 'pywxclient.core.api.WeChatAPI'>)¶ Bases:
pywxclient.core.client.ClientSync request WeChat client.
Start wechat authorization.
Get WeChat authorize url.
-
get_batch_contact(user_list)¶ Batch getting contact.
-
get_contact()¶ Get wechat contact.
-
get_head_img(headimg_url)¶ Get user head image.
Parameters: headimg_url – headimg url.
-
get_icon(icon_url)¶ Get user icon.
Parameters: icon_url – icon url.
-
get_message_media(message)¶ Get message media content.
-
login()¶ Login wechat session.
-
logout()¶ Logout wechat session.
-
msg_send_routines= {1: <bound method WeChatAPI.send_text_message of <class 'pywxclient.core.api.WeChatAPI'>>, 3: <bound method WeChatAPI.send_image_message of <class 'pywxclient.core.api.WeChatAPI'>>, 6: <bound method WeChatAPI.send_file_message of <class 'pywxclient.core.api.WeChatAPI'>>, 43: <bound method WeChatAPI.send_video_message of <class 'pywxclient.core.api.WeChatAPI'>>, 47: <bound method WeChatAPI.send_gif_message of <class 'pywxclient.core.api.WeChatAPI'>>}¶
Open WeChat authorization url in system-default browser.
-
send_message(message)¶ Send message to WeChat.
-
set_user_remark(username, remark)¶ Set user wechat remark.
-
sync_check()¶ Check session status.
-
sync_message()¶ Sync wechat message.
-
upload(file_obj, to_username)¶ Upload resource to WeChat.
-
class
pywxclient.core.TextMessage(from_user, to_user, message, local_msg_id=None, create_time=None, msg_id=None)¶ Bases:
pywxclient.core.message.MessageBaseWeChat text message.
-
msg_type= 1¶
-
-
class
pywxclient.core.ImageMessage(from_user, to_user, media_id, message='', local_msg_id=None, create_time=None, msg_id=None)¶ Bases:
pywxclient.core.message.MediaMessagebaseWeChat image message.
-
msg_type= 3¶
-
-
class
pywxclient.core.GifImageMessage(from_user, to_user, media_id, message='', local_msg_id=None, create_time=None, msg_id=None)¶ Bases:
pywxclient.core.message.MediaMessagebaseWeChat gif image message.
-
msg_type= 47¶
-
-
class
pywxclient.core.VoiceMessage(from_user, to_user, media_id, message='', local_msg_id=None, create_time=None, msg_id=None)¶ Bases:
pywxclient.core.message.MediaMessagebaseWeChat voice message.
-
msg_type= 34¶
-
-
class
pywxclient.core.FileMessage(from_user, to_user, media_id, filename, filesize, fileext, message='', local_msg_id=None, create_time=None, msg_id=None)¶ Bases:
pywxclient.core.message.MediaMessagebaseWeChat file message.
-
fileext¶
-
filename¶
-
filesize¶
-
classmethod
from_value(msg_value)¶ Construct a message object from message value.
-
get_body_value()¶ Return message body.
-
get_message_content()¶ Return file message content.
-
msg_type= 6¶
-
-
class
pywxclient.core.VideoMessage(from_user, to_user, media_id, message='', local_msg_id=None, create_time=None, msg_id=None)¶ Bases:
pywxclient.core.message.MediaMessagebaseWeChat video message.
-
msg_type= 43¶
-
-
class
pywxclient.core.ExtendMessage(from_user, to_user, message, local_msg_id=None, create_time=None, msg_id=None)¶ Bases:
pywxclient.core.message.MessageBaseExtend message.
-
msg_type= 49¶
-
Bases:
pywxclient.core.message.MessageBaseLocation share message.
Construct message instance.
-
class
pywxclient.core.BusinessCardMessage(from_user, to_user, message, local_msg_id=None, create_time=None, msg_id=None)¶ Bases:
pywxclient.core.message.MessageBaseBusiness card message.
-
msg_type= 42¶
-
-
class
pywxclient.core.TransferMessage(from_user, to_user, message, local_msg_id=None, create_time=None, msg_id=None)¶ Bases:
pywxclient.core.message.MessageBaseTransfer message.
-
msg_type= 2000¶
-
-
class
pywxclient.core.ChatLogMessage(from_user, to_user, message, local_msg_id=None, create_time=None, msg_id=None)¶ Bases:
pywxclient.core.message.MessageBaseChatlog message.
-
msg_type= 0¶
-
Bases:
pywxclient.core.message.MessageBaseLink share message.
-
class
pywxclient.core.WeAppMessage(from_user, to_user, message, local_msg_id=None, create_time=None, msg_id=None)¶ Bases:
pywxclient.core.message.MessageBaseWeApp message.
-
msg_type= 33¶
-
-
class
pywxclient.core.NoticeMessage(from_user, to_user, message, local_msg_id=None, create_time=None, msg_id=None)¶ Bases:
pywxclient.core.message.MessageBaseWeChat notice message.
-
msg_type= 10000¶
-
-
class
pywxclient.core.RevokeMessage(from_user, to_user, message, local_msg_id=None, create_time=None, msg_id=None)¶ Bases:
pywxclient.core.message.MessageBaseWeChat revoke message.
-
msg_type= 10002¶
-
-
class
pywxclient.core.StatusNotifyMessage(from_user, to_user, message, local_msg_id=None, create_time=None, msg_id=None)¶ Bases:
pywxclient.core.message.MessageBaseWeChat user status notify message.
-
msg_type= 51¶
-
-
pywxclient.core.parse_message(msg_value)¶ Parse mesage value to specific MesageBase object.
-
class
pywxclient.core.Session(request_session_cls=<class 'pywxclient.core.session.RequestsSession'>, session_data=None, endpoint=None, **kwargs)¶ Bases:
objectWeChat client session class.
Indicate whether session has authorized.
-
close()¶ Close session.
-
dump()¶ Dump session as a dict.
Session has authorized successfully.
Return session cookies.
-
get_wx_session_data()¶ Return WxSession related data.
-
initialize_wx_session(wx_session_data)¶ Initialize WxSession instance.
-
is_active()¶ Check whether session is active.
-
load(session_data)¶ Load session from data.
-
sync(sync_key)¶ Sync session state.
-
wx_endpoint¶ Return wechat session endpoint.
-
class
pywxclient.core.WeChatAPI¶ Bases:
objectWeChat http api.
-
api_url_template= '{schema}://{endpoint}{url}'¶
-
appid= 'wx782c26e4c19acffb'¶
-
batch_contact_list_url= '/cgi-bin/mmwebwx-bin/webwxbatchgetcontact'¶
-
classmethod
check_sync(session)¶ Check sync status.
-
contact_list_url= '/cgi-bin/mmwebwx-bin/webwxgetcontact'¶
-
classmethod
do_sync(session)¶ Do WeChat session status sync.
-
do_sync_url= '/cgi-bin/mmwebwx-bin/webwxsync'¶
-
file_sub_host= 'file.'¶
-
classmethod
get_base_request(wx_session_data)¶ Construct base request.
-
classmethod
get_client_msg_id()¶ Generate client message id.
-
classmethod
get_contact_list(session)¶ Get user contact list.
-
classmethod
get_device_id()¶ Generate a random device id.
-
classmethod
get_file_endpoint(session)¶ Return wechat file related api endpoint.
-
classmethod
get_head_img(session, headimg_url)¶ Get wechat head img.
-
classmethod
get_icon(session, icon_url)¶ Get user wechat icon.
-
classmethod
get_login_endpoint(session)¶ Return wechat login related api endpoint.
-
classmethod
get_login_info(session, uuid)¶ Get login authorize info.
-
classmethod
get_msg_img(session, msg_id, original=True, stream=True)¶ Get message image.
-
classmethod
get_msg_media(session, from_username, media_id, filename, stream=True)¶ Get message media data.
-
classmethod
get_msg_voice(session, msg_id, stream=True)¶ Get voice message data.
-
classmethod
get_push_endpoint(session)¶ Return wechat push related api endpoint.
-
classmethod
get_qrcode_url(session, uuid)¶ Get authorize qrcode url.
-
classmethod
get_qrcode_uuid(session)¶ Get login qrcode uuid.
-
classmethod
get_wx_endpoint()¶ Return wechat api endpoint.
-
high_timeout= (30, 60)¶
-
init_url= '/cgi-bin/mmwebwx-bin/webwxinit'¶
-
login_sub_host= 'login.'¶
-
login_url= '/cgi-bin/mmwebwx-bin/login'¶
-
classmethod
logout(session)¶ Logout wechat session.
-
logout_url= '/cgi-bin/mmwebwx-bin/webwxlogout'¶
-
low_timeout= (10, 15)¶
-
max_file_body= 524288¶
-
classmethod
mget_contact_list(session, user_list)¶ Batch get user contact list.
-
middle_timeout= (15, 30)¶
-
msg_img_url= '/cgi-bin/mmwebwx-bin/webwxgetmsgimg'¶
-
msg_media_url= '/cgi-bin/mmwebwx-bin/webwxgetmedia'¶
-
msg_voice_url= '/cgi-bin/mmwebwx-bin/webwxgetvoice'¶
-
classmethod
new_login_page(session, login_api_path)¶ Create login page.
-
classmethod
notify_status(session, user)¶ Notify session status.
-
oplog_url= '/cgi-bin/mmwebwx-bin/webwxoplog'¶
-
push_sub_host= 'webpush.'¶
-
qrcode_url= '/qrcode'¶
-
qrcode_uuid_url= '/jslogin'¶
-
schema= 'https'¶
-
classmethod
send_app_message(session, message)¶ Send app message api.
-
classmethod
send_file_message(session, message)¶ Send file message api.
-
classmethod
send_gif_message(session, message)¶ Send gif message api.
-
classmethod
send_image_message(session, message)¶ Send image message api.
-
classmethod
send_text_message(session, message)¶ Send text message api.
-
classmethod
send_video_message(session, message)¶ Send video message api.
-
sendmsg_app_url= '/cgi-bin/mmwebwx-bin/webwxsendappmsg'¶
-
sendmsg_gif_url= '/cgi-bin/mmwebwx-bin/webwxsendemoticon'¶
-
sendmsg_img_url= '/cgi-bin/mmwebwx-bin/webwxsendmsgimg'¶
-
sendmsg_url= '/cgi-bin/mmwebwx-bin/webwxsendmsg'¶
-
sendmsg_video_url= '/cgi-bin/mmwebwx-bin/webwxsendvideomsg'¶
-
classmethod
set_user_remark(session, username, remark)¶ Set user remark api.
-
status_notify_url= '/cgi-bin/mmwebwx-bin/webwxstatusnotify'¶
-
sync_check_url= '/cgi-bin/mmwebwx-bin/synccheck'¶
-
classmethod
upload_file(session, file_obj, from_username, to_username)¶ Upload file to WeChat.
-
upload_file_url= '/cgi-bin/mmwebwx-bin/webwxuploadmedia'¶
-
wx_endpoints= ('wx.qq.com', 'wx2.qq.com')¶
-
classmethod
wx_init(session)¶ Initialize WeChat session.
-