我正在尝试了解如何将Yowsup库用于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其中39xxxxxxxxxx是我使用上一个命令获得的用户号码.我希望你能帮帮我
我认为您不想将yowsup-cli用于开发目的.我认为它的目的是成为一个功能非常有限的简单演示客户端.
如果查看yowsup-cli源代码,您会看到它实际上导入了包含的示例以提供命令行消息功能.
您在此代码中看到的是您python yowsup-cli -c config.example -l实际调用的内容
wa = WhatsappListenerClient(args['keepalive'], args['autoack'])
wa.login(login, password)
Run Code Online (Sandbox Code Playgroud)
另一方面,该示例侦听器客户端具有向message_received信号注册的回调函数.
self.signalsInterface.registerListener("message_received", self.onMessageReceived)
Run Code Online (Sandbox Code Playgroud)
现在,如果你仔细看看这个功能
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))
Run Code Online (Sandbox Code Playgroud)
您可以在此信号jid的参数列表中找到您所需的电话号码.如果您希望在他向您发送消息后与用户进行互动,我猜您应该将您自己订户中的jid或电话号码存储到此信号中.
简而言之 - 不要使用yowsup-cli本身进行开发.使用它作为构建自己的应用程序的起点.祝好运!
| 归档时间: |
|
| 查看次数: |
7631 次 |
| 最近记录: |