From 5e7767f80af281fc332842633158837ceb5ee4cc Mon Sep 17 00:00:00 2001 From: hackrobot Date: Sun, 24 Mar 2024 18:19:30 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=85=B3=E9=94=AE=E8=AF=8D=E5=8F=91?= =?UTF-8?q?=E9=80=81=E5=B0=8F=E7=A8=8B=E5=BA=8F,=E4=BB=A5=E5=8F=8Awxid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- __pycache__/WXBotService.cpython-310.pyc | Bin 0 -> 29129 bytes __pycache__/config.cpython-310.pyc | Bin 0 -> 290 bytes __pycache__/crud.cpython-310.pyc | Bin 0 -> 1532 bytes __pycache__/database.cpython-310.pyc | Bin 0 -> 533 bytes __pycache__/main.cpython-310.pyc | Bin 0 -> 8777 bytes __pycache__/models.cpython-310.pyc | Bin 0 -> 917 bytes __pycache__/planet.cpython-310.pyc | Bin 0 -> 2959 bytes __pycache__/schemas.cpython-310.pyc | Bin 0 -> 1196 bytes __pycache__/utils.cpython-310.pyc | Bin 0 -> 1740 bytes kunpeng.db | Bin 8192 -> 8192 bytes main.py | 61 ++++----------- planet.py | 92 +++++++++++------------ text.xml | 46 ++++++++++++ utils.py | 62 +++++++++++++++ 14 files changed, 167 insertions(+), 94 deletions(-) create mode 100644 __pycache__/WXBotService.cpython-310.pyc create mode 100644 __pycache__/config.cpython-310.pyc create mode 100644 __pycache__/crud.cpython-310.pyc create mode 100644 __pycache__/database.cpython-310.pyc create mode 100644 __pycache__/main.cpython-310.pyc create mode 100644 __pycache__/models.cpython-310.pyc create mode 100644 __pycache__/planet.cpython-310.pyc create mode 100644 __pycache__/schemas.cpython-310.pyc create mode 100644 __pycache__/utils.cpython-310.pyc create mode 100644 text.xml create mode 100644 utils.py diff --git a/__pycache__/WXBotService.cpython-310.pyc b/__pycache__/WXBotService.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ad4f4394b265169969c3f6832097ab3c0a89ed2a GIT binary patch literal 29129 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 literal 0 HcmV?d00001 diff --git a/__pycache__/config.cpython-310.pyc b/__pycache__/config.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3b8704a1104bfd7018ddcd2865272f6127ddce01 GIT binary patch literal 290 zcmd1j<>g`kg8J8uNgY7?F^Gc0tCGklDJihh*EcjW*E0Y@Ln|W#BO`t9fKncy{L9WQ&*nBiUq0jI zq@|jyx0v#aZ?UDPmL!*_L~)kq7iGs6B$i~{;w-O7$}fp8Ey}sY73}I9&7G);KxTF?mm*f}36lbQSDijpuXQd{W#Jt?J>E+J; zXLEKvow?%4u3a(NrFjLZdFg41ImOvA$@zI{ndy23mA5!-a`RJ4b5iXXfyNed00|BT K4ki{x4n_dzPFGa` literal 0 HcmV?d00001 diff --git a/__pycache__/crud.cpython-310.pyc b/__pycache__/crud.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d3dc32865fecc2e4e0e50b81b1aae95c04c655c6 GIT binary patch literal 1532 zcmah}&2Jk;6yMozJN}B3mZ&YI&@YTcC9Vh|q#&VQa*4QDmZJ5}I9Yqw>%LjHv1D$& zA|!4|9GV-w=0^UMx$+_9h$>E8`g`NLmeh_Pu}Z7K<@x#L&)@z2hcc%$?042{l8x9@IjkiSj8J&bT+-<`|Kv`!!GPErFBG4vY83; ztjMaAi?V)r&DaO@4bW!&mjZS7m#?e;?-@h3Mw4*xu)Y{-Z_NJx;%MafC(XjKvbI33vb+bQ}O75CJhz1M0vQ&;Xi1 z3upr!DZXug<08;)4oz^#-809^omUzjBln=!CYwyY-FRA^nkX&j(+a&Gqf;Me(^Q$7 zF6Wf0!-`DIzE_KxGVwG^C)1?B=O?F0YOPF2sz_)8ivmeHQHeCsFgv!3Fi(a&OX2D? z<39eRx4Y4mul*n{61~gB<4W%_-C}y5=>w+QOm~>>GTmdk&-5V(6_V0~X<48bOhjr# zN}sGtcAa-ba%ku3&9ZH!q>@V6Z+x%*2;{rIc-t@hquz~09ee0wY{x(e2)e@SmTBon zd6K6ms#rWIsUU6z8@7owYZLsvjCDCRew87cUWV-35%+XOcF2gk-1g3De)*CO$Nz4+ f_%r-p&2#lR->-Q-8&1cIMJ&2rH|Pd?!Cv$dBNt2` literal 0 HcmV?d00001 diff --git a/__pycache__/database.cpython-310.pyc b/__pycache__/database.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..bafe19b2d2629716588e90899215a3a086e4e54a GIT binary patch literal 533 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 literal 0 HcmV?d00001 diff --git a/__pycache__/schemas.cpython-310.pyc b/__pycache__/schemas.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7210e47ad6870a7f2afbf9f1f0c1984c72ddfbcd GIT binary patch literal 1196 zcmZ{kOK;Oa5XX0I$97)Lqd~lc)N3SEl`E=H)FL5}=%w@$S+cg?ZEND#Vb^IBuI0pq zGZG&FuDy|uvR58bJ^&{q#LPx46|@`qulad)X4kW`DVoh1fzez4Dc(ASd_lN8Jb(c_ zY72xDPBSv5LrTdL!X56uA>0-8+#Nc=99^HR=rIFZF^nkPb6RWX%`*e|6Hrx0DvCqjpLnv8Nb2KU*FB_>MyQjD1# zLByD4*@<9W2Z!mgG5m}jicD#Ll}$UR5BfbF#xW*|V_l2malxk<+Ko7VHD%e#Be6wb zbFh3Xj#-`;B`eb+S8*&W;F3N{fD)oqQLyP`9i@TNL|H>=p|nvtC|!_GMBYLh<;OFS z-G>oYNku}YN%UB#QCUnPm2$BGMR_TbGFo0-EI+^d{$cU${l~A1MKqe`P{iXSmZ?#s zk`t(d+MLWKHXrU^ZGhBBn_mCxQ8WAc{=E+=uJ2#CA1?Rcet753&^M=D(H?%so_13H zUs?*;2Jk2>#-Fr!DYyfT;=Zn9=;m&bAEn1H_WGV&hk3Gxasxz%g&gCFiND2LS+~*a zuL5s^t?>Ip5>j~&jDGM>B6%0*yD2ms&Nh>-N-6Jv7gttz-dM^mHSb_=(5!RL@-j^% c{KpVeN8`IHkq)<4jrIsjV6rtx+wFCJ1D{a=#{d8T literal 0 HcmV?d00001 diff --git a/__pycache__/utils.cpython-310.pyc b/__pycache__/utils.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2f21364b17d5a9864a14df243cf59eca34ca756b GIT binary patch literal 1740 zcmY*Z%WoVt7`JCUkA3FRbla4+1d4>VKn|P`Z`!76q_$K_P>Z!_H5ogb+1N8%+uJ75 zL_#Xp!i5VjDU~?Dg+p)ch5y6XmP)yBL*jr`K2H{!c;)Z&d@p-{-=k=?>Il~N|2*f{ zVuYT!kHZUO=wsMA#t1RQus{-1EIsN;pZeIzJV9hYgX-*ykcJ@hMMR^D$20~`L`~Ld zT{dWAV%Mb2O5dWbinnRI;!|`Acp#?b44tWLLoq9l(PMIs&SA9EsH~35j)yRkC+JCx zZlZjaAU?m{#~_=;KQ*y<$yt1ka(vgl)fcDfY2cAKBhS*am2E6umL1xe_$|;^j@(~k z^{)_pl{Hus_&MgUpl)m5Vbt|)bcv66&a{m#C)#{+W7)Q@tghZz+DiGzWJTV^Hd^6Y z!|{68v(3r*YLO*vYBE@fyxi&VqEE2ux)FYAP+}x4^J_2qO z=c(sjFj*n+0QN=LdI-dzJzSy(c-JdEhUXzg^XL-#;`Lp>^qD`8O1$Z*w~aUSS(KsD z{~3RccZngxz=Zce%gB9iHz)&j-b5_8hcUX{0Bu}p2@CIgPQnmC5ns22B_^Sbw8%}8 znyVQ+o!s5Z82lHHt*JIVXy=3zEF?nlgl#VXl=HQT&->q22x zxVn?2+)fX;=_iaS0I@Gz=ukSGv?ZT`hb5^RvjZy^p})4>cQ+{qi48_7%Z+WMaI4{c zXV498GfC58oSOqf_c~fjgt)9S$Rw?=SA5xUNn0<@pRNsU#MY`9Y6g5N^4AqOU3|Ca zo}znPWohpc*PEso^>oJg!blZEo|@kN!-xBizIpcJ<3GOp<>}+cz0GkBWiwb$gx>6p zO(yi>Xxlb*a);l9*DvSm#c7DF=YZ7lG;YG4#stIJ_r4^5t23ZT36THRkrLPeX^Hlr zTOVNNZTjjxgZI4Bhk_s_*@F^zfT0{ZyMZBPFsu^nI3uO^1NzB3fy$r{ItC>GT9@n@ zgNI=Wsb|rBZ!cmY#PUtNS1WPpB3F}O1v>1YB;ri30GeFw!`MJJ9wh@lO3cPi_>oJ` z2V*yNp8o#Zvu__&;$Upn-+BkCJLY*>uq+>R>(+)4J315Nd|SJPP(YX z@GWCwQ%qDLFxWB(8MPEYc!1diwwLqaxIZ|aklzIR?Wr->ZqZXX}|I8|f zznyYHWR_<)R54JAJP$(c!neITZrAI07Ps-7Ka0tq>J1QgU$fCV41#2oDc7LNcf{q% zw)Jh1h;)O??ZrY#<@!~19C1muk#?#?+t@YJ8jORggjM8}WT=bWdWE(%v*9|Z0>WgH z1G3vJ$xW6jH>qu~?nZ{HxwsBu+W`a?tBJ9gE(tDqZdPG@sHRgkkBH7WQDa$-3T2j* zDwI9`!ugP|Z5;YI06RPwP^#fV5CLv>%K5TFE;{&tTOR~f-Bw5)Lb}4df;)a6dV4JR nhpuS!n?UAJ6QA^_aqP#~{ahn>xC6X{z2~vtgp-rTq}l!#95L31 literal 0 HcmV?d00001 diff --git a/kunpeng.db b/kunpeng.db index 67c68981de7da7496b3e0c95f3c675c9b94c2f5e..2670b8f6d13d6e8bec5c111e9fc3aaaef5c9a942 100644 GIT binary patch delta 404 zcmZp0XmFSy%_uoh#+hG|K`)t+mw|zSkuQURFJoijcizpZd~+B@*{(1!vC1;A%JMB| zm4(60Vggf`nD~P>uMyHEH(mkqOC>~DX*Z^?_su4mhKKkZszn4FkWS)7}glT($ESy`F~ z;!ZXcRE%({sLamyb1ZiDDoyqFv@CK<^GPW(49QH6GV(VH&Q0;pOwKF!H4Syn3pGjc zHt@+SH1jGAO|!_Y^fJh;3NCQ-NeM1WDzyl#hzjvCPBZl>bjnTja|@h&Ph2&IR)*^v H7@7b8L_~o` delta 297 zcmZp0XmFSy&B#Ad#+jd=L9eWfmw|zSkuQURFJoijcizpZd~+B@nN~4yFeo$dujCJ6 zQ06(w<;>B|c4f1ez!WAX28PXRgfv)~n@!j^D~N7kWN9{K6W!b|v4xSnm6=tH!BBYe z1sS!?1yYerEUj!TVw=y(++v*kUvPDOD3dUQq@*MWg8|T928QC2qRhN>O2|+~;*8ZN G(Ix;f$6THO diff --git a/main.py b/main.py index 50133d0..26f629b 100644 --- a/main.py +++ b/main.py @@ -22,6 +22,7 @@ from planet import planetXml from lxml import etree import xml.dom.minidom from pydantic import BaseModel +import utils models.Base.metadata.create_all(bind=engine) @@ -104,42 +105,6 @@ def hellopost(requestData: dict): return json.dumps({"Code": 0}) -# 保存好友信息 -def saveWxidInfo(account_wxid, wxid): - allFriend = WXBotService.get_address_list(account_wxid) - for friendItem in allFriend['data']["contactList"]: - if friendItem['wxid'] == wxid: - friendItemObj = models.User(**friendItem) - # 当前的路由函数 - create_user(db=SessionLocal(), user=friendItemObj) - - -# 发送小程序模版,建议远程更新 -def sendminiProgram(data, account_wxid, wxid, msgXml): - # 发送小程序 - if data.get('isSender') != 1: - root = ET.fromstring(msgXml) #xml-字符串形式 - - #打开xml文档 - # current_dir = os.path.dirname(os.path.abspath(__file__)) - # print('current_dir+/planet.xml',current_dir+'\planet.xml') - # tree = ET.parse(current_dir+'\planet.xml') - # root = tree.getroot() - - # 微信好友的wxid - # wxid='wxid_w2imh7ki5s4q12' - for pagepath in root.iter('pagepath'): - print(pagepath.text) # 打印名字 - pagepath.text = pagepath.text + f'?wxid={wxid}' - print('修改path', pagepath.text) # 打印名字 - - # 修改后的xml转成string , method='xml' - msgXml = ET.tostring(root, encoding='utf-8').decode('utf-8') - WXBotService.send_xml_message( - account_wxid, wxid, msgXml - # account_wxid, "wxid_w2imh7ki5s4q12", planetXml - ) - def kp(event_data): # unicode [\\uxxxxx] 转 emoji 表情 @@ -233,15 +198,20 @@ def kp(event_data): if msg_type == 1: # 1 文本消息/自带表情 kp_log = f'{type_str} 文本消息 内容:{msg}' - # 将好友信息=>保存到数据库 - newFriendDict = WXBotService.get_friend_info(account_wxid, wxid) - # print('newFriendDict[data]---',newFriendDict['data']) - userClass = models.User(**(newFriendDict['data'])) - # print('userClass====',type(userClass)) - # crud.create_user(db=SessionLocal(),user=userClass) + if msg in ['加群']: + # 将好友信息=>保存到数据库 + newFriendDict = WXBotService.get_friend_info(account_wxid, wxid) + # print('newFriendDict[data]---',newFriendDict['data']) + userClass = models.User(**(newFriendDict['data'])) + # print('userClass====',type(userClass)) + # crud.create_user(db=SessionLocal(),user=userClass) - # 保存好友信息 - saveWxidInfo(account_wxid, wxid) + # 保存好友信息 + + utils.saveWxidInfo(account_wxid, wxid) + # 发送小程序 + utils.sendminiProgram(data, account_wxid, wxid, planetXml) + elif msg_type == 3: # 3 图片消息 kp_log = f'{type_str} 图片消息 内容:{filepath}' @@ -316,8 +286,7 @@ def kp(event_data): f'appid:{xml_appmsg.findtext("weappinfo/appid")} ' \ f'pagepath:{xml_appmsg.findtext("weappinfo/pagepath")}' print("---------------------------kp_log", msg) - # 发送小程序 - sendminiProgram(data, account_wxid, wxid, planetXml) + elif xml_type == '57': # 引用消息 kp_log = f'{type_str} 引用消息 内容:{msg}' diff --git a/planet.py b/planet.py index 2abfc8a..05f27c9 100644 --- a/planet.py +++ b/planet.py @@ -1,52 +1,48 @@ #第28行,cmder手动复制,会丢失信息, 可以写到text文件先 -planetXml=''' - - - 异度世界的星球 - 异度世界的星球 - 33 - https://mp.weixin.qq.com/mp/waerrpage?appid=wxa55815dd741a540d&type=upgrade&upgradetype=3#wechat_redirect - - 3057020100044b304902010002043866a09902032f591902044da90c79020465fa34a2042433653236333932352d646237622d343330332d613561302d3031663130346562343634630204051408030201000405004c53d900 - ceccddf866f36866b6fd956330bf32ed - 69368 - 720 - 576 - ab3f1e24e3a0af4c436b308a123bdc02 - ab3f1e24e3a0af4c436b308a123bdc02 - 0 - wxid_haqoszjheyuz22_322_1710910860 - - gh_735af7f13193@app - 异度世界的星球 - ceccddf866f36866b6fd956330bf32ed - - - - 2 - 4 +planetXml=''' + + + 异度世界的星球 + 异度世界的星球 + 33 + https://mp.weixin.qq.com/mp/waerrpage?appid=wxa55815dd741a540d&type=upgrade&upgradetype=3#wechat_redirect + + 3057020100044b304902010002043866a09902032f591902045ba90c79020465fffd3d042438353138636161662d636539352d346166322d393431632d6663393539646437383265390204051408030201000405004c55cd00 + 6619aa9eb04a48f41b34375baa11261c + 74726 + 720 + 576 + 15c4f51dd6761513e0650fec1bed0373 + 15c4f51dd6761513e0650fec1bed0373 + 0 + wxid_sfvsru738v3122_252_1711275446 + + gh_735af7f13193@app + 异度世界的星球 + 6619aa9eb04a48f41b34375baa11261c + + + + 2 + 8 - - - - 2 - - - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - wxid_4413224132412 - 0 - - 1 - - - + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + wxid_4413224132412 + 0 + + 1 + + + ''' \ No newline at end of file diff --git a/text.xml b/text.xml new file mode 100644 index 0000000..90a20f6 --- /dev/null +++ b/text.xml @@ -0,0 +1,46 @@ + + + + 异度世界的星球 + 异度世界的星球 + 33 + https://mp.weixin.qq.com/mp/waerrpage?appid=wxa55815dd741a540d&type=upgrade&upgradetype=3#wechat_redirect + + 3057020100044b304902010002043866a09902032f591902045ba90c79020465fffd3d042438353138636161662d636539352d346166322d393431632d6663393539646437383265390204051408030201000405004c55cd00 + 6619aa9eb04a48f41b34375baa11261c + 74726 + 720 + 576 + 15c4f51dd6761513e0650fec1bed0373 + 15c4f51dd6761513e0650fec1bed0373 + 0 + wxid_sfvsru738v3122_252_1711275446 + + gh_735af7f13193@app + 异度世界的星球 + 6619aa9eb04a48f41b34375baa11261c + + + + 2 + 8 + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + wxid_4413224132412 + 0 + + 1 + + + + \ No newline at end of file diff --git a/utils.py b/utils.py new file mode 100644 index 0000000..1944f48 --- /dev/null +++ b/utils.py @@ -0,0 +1,62 @@ +from fastapi import Depends, FastAPI, HTTPException +from sqlalchemy.orm import Session + +# from . import crud, models, schemas +import crud, models, schemas +from database import SessionLocal, engine +# from .database import SessionLocal, engine + +import json +import os +import threading +import time +from pydantic import BaseModel +from flask import request, Flask +try: + import xml.etree.cElementTree as ET +except ImportError: + import xml.etree.ElementTree as ET + +import WXBotService +from planet import planetXml +from lxml import etree +import xml.dom.minidom +from pydantic import BaseModel + + +# 保存好友信息 +def saveWxidInfo(account_wxid, wxid): + allFriend = WXBotService.get_address_list(account_wxid) + for friendItem in allFriend['data']["contactList"]: + if friendItem['wxid'] == wxid: + friendItemObj = models.User(**friendItem) + db_user = crud.get_user_by_wxid(db=SessionLocal(), wxid=wxid) + if db_user: + print("wxid already registered") + # return db_user + else: + crud.create_user(db=SessionLocal(), user=friendItemObj) + + +# 发送小程序模版,建议远程更新 +def sendminiProgram(data, account_wxid, wxid, msgXml): + # 发送小程序 + if data.get('isSender') != 1: + root = ET.fromstring(msgXml) #xml-字符串形式 + + #打开xml文档 + # current_dir = os.path.dirname(os.path.abspath(__file__)) + # print('current_dir+/planet.xml',current_dir+'\planet.xml') + # tree = ET.parse(current_dir+'\planet.xml') + # root = tree.getroot() + + # 微信好友的wxid + # wxid='wxid_w2imh7ki5s4q12' + for pagepath in root.iter('pagepath'): + print(pagepath.text) # 打印名字 + pagepath.text = pagepath.text + f'?wxid={wxid}' + print('修改path', pagepath.text) # 打印名字 + + # 修改后的xml转成string , method='xml' + msgXml = ET.tostring(root, encoding='utf-8').decode('utf-8') + WXBotService.send_xml_message(account_wxid, wxid, msgXml)