Python3接收消息並轉發到微信helper

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 port
  • tcplink設置套接字接收消息並轉發給微信端
  • main寫了微信登陸,其實就是調用itchat模塊

📌轉載請註明來源,版權歸作者**@hualong1009**所有, 謝謝

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章