pywxclient.core package¶
Submodules¶
Module contents¶
pywxclient core functions package.
-
class
pywxclient.core.
Client
(session, api_cls=<class 'pywxclient.core.api.WeChatAPI'>)¶ Bases:
object
WeChat 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.Client
Sync 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.MessageBase
WeChat 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.MediaMessagebase
WeChat 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.MediaMessagebase
WeChat 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.MediaMessagebase
WeChat 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.MediaMessagebase
WeChat 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.MediaMessagebase
WeChat 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.MessageBase
Extend message.
-
msg_type
= 49¶
-
Bases:
pywxclient.core.message.MessageBase
Location 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.MessageBase
Business 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.MessageBase
Transfer 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.MessageBase
Chatlog message.
-
msg_type
= 0¶
-
Bases:
pywxclient.core.message.MessageBase
Link 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.MessageBase
WeApp 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.MessageBase
WeChat 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.MessageBase
WeChat 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.MessageBase
WeChat 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:
object
WeChat 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:
object
WeChat 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.
-