whatsapp-web-reveng
whatsapp-web-reveng copied to clipboard
How to send messages?
Hi
I've been trying to figure out how to send messages but haven't found out yet. Is this not available yet? Do we have to implement these functions?
If it's available, could someone please point me to the correct docs. Thank you.
@sigalor I´ll like know to send too, please
@sigalor I am trying below piece of code to send payload but i am receiving status == 401, please help
def sendMessage(self, number,text):
messageId = binascii.hexlify(Random.get_random_bytes(10)).upper()
messageTag = str(getTimestamp())
messageParams = {"key":{"fromMe":True,"remoteJid":number+"@s.whatsapp.net","id":messageId},"messageTimestamp":messageTag,"status":1,"message":{"conversation":text}}
msgData = ["action", {"type": "relay", "epoch": str(self.messageSentCount)}, [["message", None, WAWebMessageInfo.encode(messageParams)]]]
encryptedMessage=WhatsAppEncrypt(self.loginInfo["key"]["encKey"],self.loginInfo["key"]["macKey"],whatsappWriteBinary(msgData))
payload = bytes(messageTag + ",") + bytes(WAMetrics.MESSAGE) + bytes(WAFlags.IGNORE) + encryptedMessage
self.messageSentCount=self.messageSentCount+1
self.messageQueue[messageTag] = {"desc": "__sending"}
self.activeWs.send(payload, websocket.ABNF.OPCODE_BINARY
Try this piece of code
def sendMessage(self, number, text):
messageId = binascii.hexlify(Random.get_random_bytes(10)).upper()
# messageId = "3EB0" + binascii.hexlify(Random.get_random_bytes(8)).upper()
messageTag = str(getTimestamp())
messageParams = {"key": {"fromMe": True, "remoteJid": number + "@s.whatsapp.net", "id": messageId},
"messageTimestamp": getTimestamp(), "status": 1, "message": {"conversation": text}}
msgData = ["action", {"type": "relay", "epoch": str(self.messageSentCount)},
[["message", None, WAWebMessageInfo.encode(messageParams)]]]
encryptedMessage = WhatsAppEncrypt(self.loginInfo["key"]["encKey"], self.loginInfo["key"]["macKey"],
whatsappWriteBinary(msgData))
payload = bytearray(messageId) + bytearray(",") + bytearray(to_bytes(WAMetrics.MESSAGE, 1)) + bytearray(
[0x80]) + encryptedMessage
self.messageSentCount = self.messageSentCount + 1
self.messageQueue[messageId] = {"desc": "__sending"}
self.activeWs.send(payload, websocket.ABNF.OPCODE_BINARY)
Try this piece of code
def sendMessage(self, number, text): messageId = binascii.hexlify(Random.get_random_bytes(10)).upper() # messageId = "3EB0" + binascii.hexlify(Random.get_random_bytes(8)).upper() messageTag = str(getTimestamp()) messageParams = {"key": {"fromMe": True, "remoteJid": number + "@s.whatsapp.net", "id": messageId}, "messageTimestamp": getTimestamp(), "status": 1, "message": {"conversation": text}} msgData = ["action", {"type": "relay", "epoch": str(self.messageSentCount)}, [["message", None, WAWebMessageInfo.encode(messageParams)]]] encryptedMessage = WhatsAppEncrypt(self.loginInfo["key"]["encKey"], self.loginInfo["key"]["macKey"], whatsappWriteBinary(msgData)) payload = bytearray(messageId) + bytearray(",") + bytearray(to_bytes(WAMetrics.MESSAGE, 1)) + bytearray( [0x80]) + encryptedMessage self.messageSentCount = self.messageSentCount + 1 self.messageQueue[messageId] = {"desc": "__sending"} self.activeWs.send(payload, websocket.ABNF.OPCODE_BINARY)
This is sometime not working, If someone finds out why please do post here .. Thanks !
anyone got figured out?
anyone got figured out?
Im try this now. See https://github.com/sigalor/whatsapp-web-reveng/issues/303