我正在努力理解如何将尤素普库用于WhatsApp。我可以发送信息,我可以收到它,但我感兴趣的是获得电话号码,以启动新的聊天。换句话说,将开发一个可以与WhatsApp用户交互的计算机应用程序,目前我可以这样做:
python yowsup-cli -c config.example --requestcode sms和python yowsup-cli -c config.example --register xxx-xxxpython yowsup-cli -c config.example -s 39xxxxxxxxxx "!"python yowsup-cli -c config.example -i 39xxxxxxxxxxpython yowsup-cli -c config.example -l现在,当用户向我发送信息时,我如何与他/她进行交互?我想我应该从命令python yowsup-cli -c config.example -l中获得电话号码,然后使用以下命令开始一个新的交互对话:python yowsup-cli -c config.example -i 39xxxxxxxxxx,其中39xxxxxxxx是我在前面命令中得到的用户的号码。我希望你能帮我
发布于 2014-07-08 12:26:06
我不认为你想把yowsup-cli用于开发目的。我认为这是一个简单的演示客户端,功能非常有限。
如果您查看yowsup-cli源代码,您将看到它实际上导入了包括实例以提供命令行消息功能。
您在代码中看到的是,您的python yowsup-cli -c config.example -l实际上调用了
wa = WhatsappListenerClient(args['keepalive'], args['autoack'])
wa.login(login, password)另一方面,此示例侦听器客户端有一个向message_received信号注册的回调函数。
self.signalsInterface.registerListener("message_received", self.onMessageReceived)现在,如果你仔细看一下这个函数
def onMessageReceived(self, messageId, jid, messageContent, timestamp, wantsReceipt, pushName, isBroadCast):
formattedDate = datetime.datetime.fromtimestamp(timestamp).strftime('%d-%m-%Y %H:%M')
print("%s [%s]:%s"%(jid, formattedDate, messageContent))
if wantsReceipt and self.sendReceipts:
self.methodsInterface.call("message_ack", (jid, messageId))你可以看到jid,因此你说你需要的电话号码在此信号的参数列表上。如果您希望在用户发送消息后与其进行交互,我猜您应该将jid或电话号码存储在您自己的订户中。
简而言之,不要使用yowsup-cli本身来进行开发。用它作为一个起点来构建你自己的应用程序。祝好运!
https://stackoverflow.com/questions/22834486
复制相似问题