yowsup2接收不完整的消息和奇怪的字符

时间:2016-04-20 09:39:36

标签: whatsapp yowsup

我正在使用演示EchoClient尝试Yowsup2:

yowsup-cli demos -c config.example -e

我收到消息,但是它们不完整,并且在每个文本的末尾都包含奇怪的字符。

例如:我发送"你的名字是什么?"从我的手机到Yowsup2号码,Yowsup2接收(并在终端打印): 回响帽子是你的名字?��������������������������������������������

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我正在研究一个使用这个库的项目,我在这个问题上遇到困难,我正在等待某人修复它,因为没有我试过让我的工作,这就是我做的事情

从github克隆存储库

测试可以在python3.5上运行

yowsup/layers/axolotl/layer.py

中的

替换<{p>} line 192

191                padded.extend(self.encodeInt7bit(len(plaintext)))
192                padded.extend(plaintext) # this is the line. replace it
193                padded.append(ord("\x01"))

用这个

padded.extend(plaintext.encode() if isinstance(plaintext,str) else plaintext)

在此thread中添加@jlguardi修复程序,但我必须修改它以便为我工作

def decodeInt7bit(self, string):
    idx = 0
    while string[idx] >= 128:
        idx += 1
    consumedBytes = idx + 1
    value = 0
    while idx >= 0:
        value <<= 7
        value += string[idx] % 128
        idx -= 1
    return value, consumedBytes

def unpadV2Plaintext(self, v2plaintext):
    print(v2plaintext)
    v2plaintext=bytearray(v2plaintext,'utf8') if isinstance(v2plaintext,str) else v2plaintext
    end = (-(v2plaintext[-1])) # length of the left padding
    length,consumed = self.decodeInt7bit(v2plaintext[1:])
    return v2plaintext[1+consumed:end]
在客户端看起来很干净

2016-05-11-11-27-07

但是,乱码文本仍然出现在服务器上

snapshot2

不安装setup.py install

希望它适合你