Python3 實現消息轉發到微信helper
使用Python3編寫程序,實現從TCP套接字接收消息,並轉發給微信helper。可以做一些監控類的輔助。
應用場景
處理來自測試端的消息。測試端將測試狀態,如測試完成的進度百分比,測試結果等消息,發給本程序運行的HOST端,host端收到消息後轉發給微信登陸的helper用戶。
程序內容
import itchat, socket, time, optparse, threading
def getarguments():
global OS_IP
global OS_Port
parser = optparse.OptionParser()
parser.add_option('--host',dest='IP',type='string',help='host IP eg. --host 192.168.XX.XX')
parser.add_option('--port',dest='PORT',type='int',help='host port eg. --port 54321')
opts,args = parser.parse_args()
OS_IP=opts.IP
OS_Port=opts.PORT
def tcplink(sock, addr):
print('Accept new connection from %s:%s...' % addr)
while True:
data = sock.recv(1024)
time.sleep(1)
if not data:
break
elif data.decode('utf-8').split("|")[0] == 'exit':
exit()
else:
itchat.send("[%s]\nReceive msg from %s\n [Theme]: %s\n[Content]: %s" %(time.ctime(), addr[0], data.decode('utf-8').split("|")[0], data.decode("utf-8").split("|")[1]), toUserName="filehelper")
sock.close()
print('Connection from %s:%s closed.' % addr)
def main():
global OS_IP, OS_Port
getarguments()
itchat.auto_login(enableCmdQR=True)
Socket_R=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
Socket_R.bind((OS_IP, OS_Port))
Socket_R.listen(5)
while True:
sock, addr = Socket_R.accept()
t = threading.Thread(target=tcplink, args=(sock, addr))
t.start()
if __name__ == "__main__":
main()
getarguments
設置運行時參數,設定host’s ip and porttcplink
設置套接字接收消息並轉發給微信端main
寫了微信登陸,其實就是調用itchat
模塊
📌轉載請註明來源,版權歸作者**@hualong1009**所有, 謝謝