我在 python 中有2 个服务器,我想将它们混合在一个 .py 中并一起运行:
服务器.py:
import logging, time, os, sys
from yowsup.layers import YowLayerEvent, YowParallelLayer
from yowsup.layers.auth import AuthError
from yowsup.layers.network import YowNetworkLayer
from yowsup.stacks.yowstack import YowStackBuilder
from layers.notifications.notification_layer import NotificationsLayer
from router import RouteLayer
class YowsupEchoStack(object):
def __init__(self, credentials):
"Creates the stacks of the Yowsup Server,"
self.credentials = credentials
stack_builder = YowStackBuilder().pushDefaultLayers(True)
stack_builder.push(YowParallelLayer([RouteLayer, NotificationsLayer]))
self.stack = stack_builder.build()
self.stack.setCredentials(credentials)
def start(self):
self.stack.broadcastEvent(YowLayerEvent(YowNetworkLayer.EVENT_STATE_CONNECT))
try:
logging.info("#" * 50)
logging.info("\tServer started. Phone number: %s" % self.credentials[0])
logging.info("#" …Run Code Online (Sandbox Code Playgroud) 这听起来可能很老了......
使用 yowsup-cli 注册我的号码时,出现以下错误:
INFO:yowsup.common.http.warequest:{"login":"************","status":"fail","reason":"old_version"}
status: fail
reason: old_version
login: ************
Run Code Online (Sandbox Code Playgroud)
那是因为我有
yowsup-cli v2.0.15
yowsup 2.5.0
Run Code Online (Sandbox Code Playgroud)
我尝试了这里建议的所有解决方案...例如,通过 GitHub 重新安装通过 pip 升级进行更新升级,并尝试了 yowsup 教程...
还有其他选择可以解决这个问题吗?或者这里可能有什么问题?
背景:
我想将 yowsup 集成到我的家庭自动化项目中。我看到了一个关于如何接收消息的简单示例,经过一些小改动后,它工作正常。
问题:
当涉及到集成发送消息功能时,我的问题就开始了。这是我正在使用的两个文件:
运行文件
from layer import EchoLayer
from yowsup.layers.auth import YowAuthenticationProtocolLayer
from yowsup.layers.protocol_messages import YowMessagesProtocolLayer
from yowsup.layers.protocol_receipts import YowReceiptProtocolLayer
from yowsup.layers.protocol_acks import YowAckProtocolLayer
from yowsup.layers.protocol_presence import YowPresenceProtocolLayer
from yowsup.layers.network import YowNetworkLayer
from yowsup.layers.coder import YowCoderLayer
from yowsup.common import YowConstants
from yowsup.layers import YowLayerEvent
from yowsup.stacks import YowStack, YOWSUP_CORE_LAYERS
from yowsup import env
CREDENTIALS = ("phone", "pwd")
if __name__ == "__main__":
layers = (
EchoLayer,
(YowAuthenticationProtocolLayer, YowMessagesProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer, YowPresenceProtocolLayer)
) + YOWSUP_CORE_LAYERS
stack = YowStack(layers)
# …Run Code Online (Sandbox Code Playgroud)