Refine Python SDK
This commit is contained in:
parent
79bdc0e8dd
commit
8b11077d09
20
App/App.py
20
App/App.py
@ -6,10 +6,7 @@ import wcferry as sdk
|
|||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
print(dir(sdk)) # 查看SDK支持的方法和属性
|
help(sdk) # 查看SDK支持的方法和属性
|
||||||
help(sdk.WxEnableRecvMsg) # 查看某方法的情况
|
|
||||||
help(sdk.WxMessage) # 查看消息结构
|
|
||||||
help(sdk.WxContact) # 查看通讯录结构
|
|
||||||
|
|
||||||
# 初始化SDK,如果成功,返回0;否则失败
|
# 初始化SDK,如果成功,返回0;否则失败
|
||||||
status = sdk.WxInitSDK()
|
status = sdk.WxInitSDK()
|
||||||
@ -29,12 +26,23 @@ def main():
|
|||||||
|
|
||||||
time.sleep(2)
|
time.sleep(2)
|
||||||
print("发送文本消息......")
|
print("发送文本消息......")
|
||||||
sdk.WxSendTextMsg("filehelper", "", "message from WeChatFerry...")
|
sdk.WxSendTextMsg("filehelper", "message from WeChatFerry...") # 往文件传输助手发消息
|
||||||
|
# sdk.WxSendTextMsg("xxxx@chatroom", "message from WeChatFerry...") # 往群里发消息(需要改成正确的 ID,下同)
|
||||||
|
# sdk.WxSendTextMsg("xxxx@chatroom", "message from WeChatFerry... @ ", "wxid_xxxxxxxxxxxx") # 往群里发消息,@某人
|
||||||
|
# sdk.WxSendTextMsg("xxxx@chatroom", "message from WeChatFerry... @ ", "notify@all") # 往群里发消息,@所有人
|
||||||
|
|
||||||
time.sleep(2)
|
time.sleep(2)
|
||||||
print("发送图片消息......")
|
print("发送图片消息......")
|
||||||
sdk.WxSendImageMsg("filehelper", "test.jpg")
|
sdk.WxSendImageMsg("filehelper", "test.jpg")
|
||||||
|
|
||||||
|
dbs = sdk.WxGetDbNames()
|
||||||
|
for db in dbs:
|
||||||
|
print(db)
|
||||||
|
|
||||||
|
tables = sdk.WxGetDbTables(dbs[0])
|
||||||
|
for t in tables:
|
||||||
|
print(f"{t.table}\n{t.sql}\n\n")
|
||||||
|
|
||||||
# 接收消息。先定义消息处理回调
|
# 接收消息。先定义消息处理回调
|
||||||
def OnTextMsg(msg: sdk.WxMessage):
|
def OnTextMsg(msg: sdk.WxMessage):
|
||||||
s = "收到"
|
s = "收到"
|
||||||
@ -44,7 +52,7 @@ def main():
|
|||||||
|
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
msgType = WxMsgTypes.get(msg.type, '未知消息类型')
|
msgType = WxMsgTypes.get(msg.type, '未知类型')
|
||||||
nickName = contacts.get(msg.wxId, {'wxName': 'NoBody'}).wxName
|
nickName = contacts.get(msg.wxId, {'wxName': 'NoBody'}).wxName
|
||||||
if msg.source == 0:
|
if msg.source == 0:
|
||||||
s += f"来自好友[{nickName}]的{msgType}消息:"
|
s += f"来自好友[{nickName}]的{msgType}消息:"
|
||||||
|
@ -31,6 +31,10 @@ PYBIND11_MODULE(wcferry, m)
|
|||||||
.def_readonly("wxCity", &WxContact::wxCity)
|
.def_readonly("wxCity", &WxContact::wxCity)
|
||||||
.def_readonly("wxGender", &WxContact::wxGender);
|
.def_readonly("wxGender", &WxContact::wxGender);
|
||||||
|
|
||||||
|
py::class_<WxDbTable>(m, "WxDbTable")
|
||||||
|
.def_readonly("table", &WxDbTable::table)
|
||||||
|
.def_readonly("sql", &WxDbTable::sql);
|
||||||
|
|
||||||
m.def("WxInitSDK", &WxInitSDK, "Initiate SDK. Return 0 on success,else on failure.");
|
m.def("WxInitSDK", &WxInitSDK, "Initiate SDK. Return 0 on success,else on failure.");
|
||||||
m.def("WxEnableRecvMsg", &WxEnableRecvMsgPy, "Enable message receiving and provide a callback", py::arg("onMsg"));
|
m.def("WxEnableRecvMsg", &WxEnableRecvMsgPy, "Enable message receiving and provide a callback", py::arg("onMsg"));
|
||||||
m.def("WxDisableRecvMsg", &WxDisableRecvMsg, "Disable message receiving.");
|
m.def("WxDisableRecvMsg", &WxDisableRecvMsg, "Disable message receiving.");
|
||||||
@ -38,6 +42,8 @@ PYBIND11_MODULE(wcferry, m)
|
|||||||
m.def("WxSendImageMsg", &WxSendImageMsg, "Send image message.", py::arg("wxid"), py::arg("path"));
|
m.def("WxSendImageMsg", &WxSendImageMsg, "Send image message.", py::arg("wxid"), py::arg("path"));
|
||||||
m.def("WxGetContacts", &WxGetContacts, py::return_value_policy::reference, "Get contact list.");
|
m.def("WxGetContacts", &WxGetContacts, py::return_value_policy::reference, "Get contact list.");
|
||||||
m.def("WxGetMsgTypes", &WxGetMsgTypes, py::return_value_policy::reference, "Get message types.");
|
m.def("WxGetMsgTypes", &WxGetMsgTypes, py::return_value_policy::reference, "Get message types.");
|
||||||
|
m.def("WxGetDbNames", &WxGetDbNames, py::return_value_policy::reference, "Get DB names.");
|
||||||
|
m.def("WxGetDbTables", &WxGetDbTables, py::return_value_policy::reference, "Get DB tables.", py::arg("db"));
|
||||||
|
|
||||||
#ifdef VERSION_INFO
|
#ifdef VERSION_INFO
|
||||||
m.attr("__version__") = VERSION_INFO;
|
m.attr("__version__") = VERSION_INFO;
|
||||||
|
Loading…
Reference in New Issue
Block a user