class YowsupBotStack(object): def __init__(self, credentials): """Default Yowsup setup, with the Route Layer on top""" layers = (RouteLayer, YowParallelLayer([YowAuthenticationProtocolLayer, YowGroupsProtocolLayer, YowMessagesProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer, YowMediaProtocolLayer, YowIqProtocolLayer]), YowAxolotlLayer, ) + YOWSUP_CORE_LAYERS self.stack = YowStack(layers) self.stack.setCredentials(credentials) self.credentials = credentials def start(self): "Starts the connection with Whatsapp servers," self.stack.broadcastEvent(YowLayerEvent(YowNetworkLayer.EVENT_STATE_CONNECT)) try: logging.info("#" * 50) logging.info("Server started. Phone number: %s" % self.credentials[0]) logging.info("#" * 50) self.stack.loop() except AuthError as e: logging.exception("Authentication Error: %s" % e.message) except Exception as e: logging.exception("Unknown Error: %s" % e.message) raise e
class YowsupEchoStack(object): def __init__(self, credentials, encryptionEnabled=False): if encryptionEnabled: from yowsup.layers.axolotl import YowAxolotlLayer layers = (EchoLayer, YowParallelLayer([ YowAuthenticationProtocolLayer, YowMessagesProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer, YowMediaProtocolLayer, YowIqProtocolLayer, YowCallsProtocolLayer ]), YowAxolotlLayer, YowLoggerLayer, YowCoderLayer, YowCryptLayer, YowStanzaRegulator, YowNetworkLayer) else: layers = (EchoLayer, YowParallelLayer([ YowAuthenticationProtocolLayer, YowMessagesProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer, YowMediaProtocolLayer, YowIqProtocolLayer, YowCallsProtocolLayer ]), YowLoggerLayer, YowCoderLayer, YowCryptLayer, YowStanzaRegulator, YowNetworkLayer) self.stack = YowStack(layers) self.stack.setCredentials(credentials) def start(self): self.stack.broadcastEvent( YowLayerEvent(YowNetworkLayer.EVENT_STATE_CONNECT)) try: logging.info("Whatsapp IS STARTING : ReceiveStack") self.stack.loop(timeout=1, count=100) logging.info("Stopping ... ") except AuthError as e: logging.info("Authentication Error: %s" % e.message)
class YowsupBotStack(object): def __init__(self, credentials): """Default Yowsup setup, with the Route Layer on top""" layers = (RouteLayer, YowParallelLayer([YowAuthenticationProtocolLayer, YowGroupsProtocolLayer, YowMessagesProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer, YowMediaProtocolLayer, YowIqProtocolLayer]), YowAxolotlLayer, ) + YOWSUP_CORE_LAYERS self.stack = YowStack(layers) self.stack.setCredentials(credentials) self.credentials = credentials def start(self): "Starts the connection with Whatsapp servers," self.stack.broadcastEvent(YowLayerEvent(YowNetworkLayer.EVENT_STATE_CONNECT)) try: logging.info("#" * 50) logging.info("Server started. Phone number: %s" % self.credentials[0]) logging.info("#" * 50) self.stack.loop() except AuthError as e: logging.exception("Authentication Error: %s" % e.message) except Exception as e: logging.exception("Unknown Error: %s" % e.message) raise e
class YowsupSyncStack(object): def __init__(self, credentials, contacts, encryptionEnabled=False): """ :param credentials: :param contacts: list of [jid ] :param encryptionEnabled: :return: """ if encryptionEnabled: from yowsup.layers.axolotl import YowAxolotlLayer layers = (SyncLayer, (YowAuthenticationProtocolLayer, YowContactsIqProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer), YowAxolotlLayer, YowLoggerLayer, YowCoderLayer, YowCryptLayer, YowStanzaRegulator, YowNetworkLayer) else: layers = (SyncLayer, (YowAuthenticationProtocolLayer, YowContactsIqProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer), YowLoggerLayer, YowCoderLayer, YowCryptLayer, YowStanzaRegulator, YowNetworkLayer) self.stack = YowStack(layers) self.stack.setProp(SyncLayer.PROP_CONTACTS, contacts) self.stack.setProp(YowAuthenticationProtocolLayer.PROP_PASSIVE, True) self.stack.setCredentials(credentials) def start(self): self.stack.broadcastEvent( YowLayerEvent(YowNetworkLayer.EVENT_STATE_CONNECT)) try: self.stack.loop() except AuthError as e: print("Authentication Error: %s" % e.message)
class YowsupEchoStack(object): def __init__(self, encryption_enabled = True): if encryption_enabled: from yowsup.layers.axolotl import YowAxolotlLayer layers = ( EchoLayer, (YowAuthenticationProtocolLayer, YowMessagesProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer, YowMediaProtocolLayer, YowIqProtocolLayer, YowCallsProtocolLayer), YowAxolotlLayer, YowLoggerLayer, YowCoderLayer, YowCryptLayer, YowStanzaRegulator, YowNetworkLayer ) else: layers = ( EchoLayer, (YowAuthenticationProtocolLayer, YowMessagesProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer, YowMediaProtocolLayer, YowIqProtocolLayer, YowCallsProtocolLayer), YowLoggerLayer, YowCoderLayer, YowCryptLayer, YowStanzaRegulator, YowNetworkLayer ) self.stack = YowStack(layers) self.stack.setCredentials(settings.CREDENTIALS) def start(self): self.stack.broadcastEvent(YowLayerEvent(YowNetworkLayer.EVENT_STATE_CONNECT)) try: self.stack.loop() except AuthError as e: print("Authentication Error: %s" % e.message)
class YowsupCommandServerStack(object): def __init__(self, credentials, allowed_users, encryptionEnabled = False): if encryptionEnabled: from yowsup.layers.axolotl import YowAxolotlLayer layers = ( CommandServerLayer(allowed_users), YowParallelLayer([YowAuthenticationProtocolLayer, YowMessagesProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer, YowMediaProtocolLayer, YowIqProtocolLayer, YowCallsProtocolLayer]), YowAxolotlLayer, YowLoggerLayer, YowCoderLayer, YowCryptLayer, YowStanzaRegulator, YowNetworkLayer ) else: layers = ( CommandServerLayer(allowed_users), YowParallelLayer([YowAuthenticationProtocolLayer, YowMessagesProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer, YowMediaProtocolLayer, YowIqProtocolLayer, YowCallsProtocolLayer]), YowLoggerLayer, YowCoderLayer, YowCryptLayer, YowStanzaRegulator, YowNetworkLayer ) self.stack = YowStack(layers) self.stack.setCredentials(credentials) def start(self): self.stack.broadcastEvent(YowLayerEvent(YowNetworkLayer.EVENT_STATE_CONNECT)) try: self.stack.loop() except AuthError as e: print("Authentication Error: %s" % e.message)
class YowsupCommandServerStack(object): def __init__(self, credentials, allowed_users, encryptionEnabled=False): if encryptionEnabled: from yowsup.layers.axolotl import YowAxolotlLayer layers = (CommandServerLayer(allowed_users), YowParallelLayer([ YowAuthenticationProtocolLayer, YowMessagesProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer, YowMediaProtocolLayer, YowIqProtocolLayer, YowCallsProtocolLayer ]), YowAxolotlLayer, YowLoggerLayer, YowCoderLayer, YowCryptLayer, YowStanzaRegulator, YowNetworkLayer) else: layers = (CommandServerLayer(allowed_users), YowParallelLayer([ YowAuthenticationProtocolLayer, YowMessagesProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer, YowMediaProtocolLayer, YowIqProtocolLayer, YowCallsProtocolLayer ]), YowLoggerLayer, YowCoderLayer, YowCryptLayer, YowStanzaRegulator, YowNetworkLayer) self.stack = YowStack(layers) self.stack.setCredentials(credentials) def start(self): self.stack.broadcastEvent( YowLayerEvent(YowNetworkLayer.EVENT_STATE_CONNECT)) try: self.stack.loop() except AuthError as e: print("Authentication Error: %s" % e.message)
class YowsupEchoStack(object): def __init__(self, encryption_enabled=True): if encryption_enabled: from yowsup.layers.axolotl import YowAxolotlLayer layers = (EchoLayer, YowParallelLayer([ YowAuthenticationProtocolLayer, YowMessagesProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer, YowMediaProtocolLayer, YowIqProtocolLayer, YowCallsProtocolLayer ]), YowAxolotlLayer, YowLoggerLayer, YowCoderLayer, YowCryptLayer, YowStanzaRegulator, YowNetworkLayer) else: layers = (EchoLayer, YowParallelLayer([ YowAuthenticationProtocolLayer, YowMessagesProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer, YowMediaProtocolLayer, YowIqProtocolLayer, YowCallsProtocolLayer ]), YowLoggerLayer, YowCoderLayer, YowCryptLayer, YowStanzaRegulator, YowNetworkLayer) self.stack = YowStack(layers) self.stack.setCredentials(settings.CREDENTIALS) def start(self): self.stack.broadcastEvent( YowLayerEvent(YowNetworkLayer.EVENT_STATE_CONNECT)) try: self.stack.loop(timeout=120) except AuthError as e: print("Authentication Error: %s" % e.message) except Exception as e: print("Another Error: %s" % str(e))
class YowsupMiddleManStack(object): def __init__(self, credentials, groups, encryptionEnabled=False): if encryptionEnabled: from yowsup.layers.axolotl import YowAxolotlLayer layers = ( MiddleManLayer, ( YowAuthenticationProtocolLayer, YowMessagesProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer, YowMediaProtocolLayer, YowIqProtocolLayer, YowCallsProtocolLayer, ), YowAxolotlLayer, YowLoggerLayer, YowCoderLayer, YowCryptLayer, YowStanzaRegulator, YowNetworkLayer, ) else: layers = ( MiddleManLayer, ( YowAuthenticationProtocolLayer, YowMessagesProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer, YowMediaProtocolLayer, YowIqProtocolLayer, YowCallsProtocolLayer, ), YowLoggerLayer, YowCoderLayer, YowCryptLayer, YowStanzaRegulator, YowNetworkLayer, ) self.stack = YowStack(layers) self.stack.setProp(MiddleManLayer.PROP_GROUPS, groups[0]) self.stack.setCredentials(credentials) def start(self): self.stack.broadcastEvent(YowLayerEvent(YowNetworkLayer.EVENT_STATE_CONNECT)) try: self.stack.loop() except AuthError as e: print("Authentication Error: %s" % e.message)
class YowsupRobotStack(object): def __init__(self, credentials, encryptionEnabled = False,interactionProtocol=None,url=None,flaskApp=None): if encryptionEnabled: from yowsup.layers.axolotl import YowAxolotlLayer layers = ( RobotLayer, (YowAuthenticationProtocolLayer, YowMessagesProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer, YowMediaProtocolLayer, YowIqProtocolLayer, YowCallsProtocolLayer), YowAxolotlLayer, YowLoggerLayer, YowCoderLayer, YowCryptLayer, YowStanzaRegulator, YowNetworkLayer ) else: layers = ( RobotLayer, (YowAuthenticationProtocolLayer, YowMessagesProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer, YowMediaProtocolLayer, YowIqProtocolLayer, YowCallsProtocolLayer), YowLoggerLayer, YowCoderLayer, YowCryptLayer, YowStanzaRegulator, YowNetworkLayer ) self.stack = YowStack(layers) self.stack.setCredentials(credentials) self.stack.setProp('url',url) self.stack.setProp('flaskApp',flaskApp) def start(self): self.stack.broadcastEvent(YowLayerEvent(YowNetworkLayer.EVENT_STATE_CONNECT)) def startThread(): try: self.stack.loop(timeout = 0.5, discrete = 0.5) except AuthError as e: print("Auth Error, reason %s" % e) except KeyboardInterrupt: print("\nYowsdown KeyboardInterrupt") sys.exit(0) except Exception as e: print("\nYowsdown General Exception") print e t1=threading.Thread(target=startThread) t1.daemon=True t1.start()
class YowsupSendStack(object): def __init__(self, credentials, messages, encryptionEnabled = False): """ :param credentials: :param messages: list of (jid, message) tuples :param encryptionEnabled: :return: """ if encryptionEnabled: from yowsup.layers.axolotl import YowAxolotlLayer layers = ( SendLayer, (YowAuthenticationProtocolLayer, YowMessagesProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer), YowAxolotlLayer, YowLoggerLayer, YowCoderLayer, YowCryptLayer, YowStanzaRegulator, YowNetworkLayer ) else: layers = ( SendLayer, (YowAuthenticationProtocolLayer, YowMessagesProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer), YowLoggerLayer, YowCoderLayer, YowCryptLayer, YowStanzaRegulator, YowNetworkLayer ) self.stack = YowStack(layers) self.stack.setProp(SendLayer.PROP_MESSAGES, messages) self.stack.setProp(YowAuthenticationProtocolLayer.PROP_PASSIVE, True) self.stack.setCredentials(credentials) def start(self): self.stack.broadcastEvent(YowLayerEvent(YowNetworkLayer.EVENT_STATE_CONNECT)) try: self.stack.loop() except KeyboardInterrupt as e: raise e except AuthError as e: print("Authentication Error: %s" % e.message)
class YowsupSyncStack(object): def __init__(self, credentials, contacts, encryptionEnabled=False): """ :param credentials: :param contacts: list of [jid ] :param encryptionEnabled: :return: """ if encryptionEnabled: from yowsup.layers.axolotl import YowAxolotlLayer layers = ( SyncLayer, (YowAuthenticationProtocolLayer, YowContactsIqProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer), YowAxolotlLayer, YowLoggerLayer, YowCoderLayer, YowCryptLayer, YowStanzaRegulator, YowNetworkLayer ) else: layers = ( SyncLayer, (YowAuthenticationProtocolLayer, YowContactsIqProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer), YowLoggerLayer, YowCoderLayer, YowCryptLayer, YowStanzaRegulator, YowNetworkLayer ) self.stack = YowStack(layers) self.stack.setProp(SyncLayer.PROP_CONTACTS, contacts) self.stack.setProp(YowAuthenticationProtocolLayer.PROP_PASSIVE, True) self.stack.setCredentials(credentials) def start(self): self.stack.broadcastEvent(YowLayerEvent(YowNetworkLayer.EVENT_STATE_CONNECT)) try: self.stack.loop() except AuthError as e: print("Authentication Error: {0}".format(e))
class YowsupSendStack(object): def __init__(self, credentials, messages, encryptionEnabled = False): """ :param credentials: :param messages: list of (jid, message) tuples :param encryptionEnabled: :return: """ if encryptionEnabled: from yowsup.layers.axolotl import YowAxolotlLayer layers = ( SendLayer, YowParallelLayer([YowAuthenticationProtocolLayer, YowMessagesProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer]), YowAxolotlLayer, YowLoggerLayer, YowCoderLayer, YowCryptLayer, YowStanzaRegulator, YowNetworkLayer ) else: layers = ( SendLayer, YowParallelLayer([YowAuthenticationProtocolLayer, YowMessagesProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer]), YowLoggerLayer, YowCoderLayer, YowCryptLayer, YowStanzaRegulator, YowNetworkLayer ) self.stack = YowStack(layers) self.stack.setProp(SendLayer.PROP_MESSAGES, messages) self.stack.setProp(YowAuthenticationProtocolLayer.PROP_PASSIVE, True) self.stack.setCredentials(credentials) def start(self): self.stack.broadcastEvent(YowLayerEvent(YowNetworkLayer.EVENT_STATE_CONNECT)) try: self.stack.loop() except AuthError as e: print("Authentication Error: %s" % e.message)
class YowsupEchoStack(object): def __init__(self, credentials, encryptionEnabled = False): if encryptionEnabled: from yowsup.layers.axolotl import YowAxolotlLayer layers = ( EchoLayer, YowParallelLayer([YowAuthenticationProtocolLayer, YowMessagesProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer, YowMediaProtocolLayer, YowIqProtocolLayer, YowCallsProtocolLayer]), YowAxolotlLayer, YowLoggerLayer, YowCoderLayer, YowCryptLayer, YowStanzaRegulator, YowNetworkLayer ) else: layers = ( EchoLayer, YowParallelLayer([YowAuthenticationProtocolLayer, YowMessagesProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer, YowMediaProtocolLayer, YowIqProtocolLayer, YowCallsProtocolLayer]), YowLoggerLayer, YowCoderLayer, YowCryptLayer, YowStanzaRegulator, YowNetworkLayer ) self.stack = YowStack(layers) self.stack.setCredentials(credentials) def start(self): self.stack.broadcastEvent(YowLayerEvent(YowNetworkLayer.EVENT_STATE_CONNECT)) try: logging.info("Whatsapp IS STARTING : ReceiveStack"); self.stack.loop(timeout=1, count=100) logging.info("Stopping ... "); except AuthError as e: logging.info("Authentication Error: %s" % e.message)
from yowsup.layers.logger import YowLoggerLayer from yowsup.layers.protocol_iq import YowIqProtocolLayer from yowsup.layers.protocol_calls import YowCallsProtocolLayer from yowsup.layers.axolotl import YowAxolotlLayer from yowsup.common import YowConstants from yowsup import env if os.environ['DEBUG'] == '1': logging.basicConfig(level=logging.DEBUG) CREDENTIALS = (os.environ['PHONE'], os.environ['PASSWORD']) if __name__ == "__main__": layers = (ReceiveLayer, (YowAuthenticationProtocolLayer, YowMessagesProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer, YowMediaProtocolLayer, YowIqProtocolLayer, YowCallsProtocolLayer, YowProfilesProtocolLayer), YowAxolotlLayer, YowLoggerLayer, YowCoderLayer, YowCryptLayer, YowStanzaRegulator, YowNetworkLayer) stack = YowStack(layers) stack.setCredentials(CREDENTIALS) stack.broadcastEvent(YowLayerEvent(YowNetworkLayer.EVENT_STATE_CONNECT)) try: stack.loop(timeout=0.5, discrete=0.5) except AuthError as e: print("Authentication Error: %s" % e.message)
from yowsup.layers.protocol_media import YowMediaProtocolLayer from yowsup.layers.logger import YowLoggerLayer from yowsup.layers.axolotl import YowAxolotlLayer from yowsup.layers.protocol_iq import YowIqProtocolLayer from yowsup.common import YowConstants from yowsup.layers import YowLayerEvent from yowsup.stacks import YowStack, YOWSUP_CORE_LAYERS from yowsup import env #:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: credentials = ("5219993837042","xAhP79MiyDWWgoMswUa+dPZuSiQ=") contMessage = (sys.argv[1], sys.argv[2]) #:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: if __name__== "__main__": layers = ( SendLayer, (YowIqProtocolLayer,YowAuthenticationProtocolLayer, YowMessagesProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer,YowCallsProtocolLayer,YowMediaProtocolLayer), YowLoggerLayer, YowCoderLayer, YowCryptLayer, YowStanzaRegulator, YowNetworkLayer ) stack = YowStack(layers) stack.setProp(SendLayer.PROP_CONTENT, contMessage) stack.setProp(YowAuthenticationProtocolLayer.PROP_PASSIVE, True) stack.setCredentials(credentials) stack.broadcastEvent(YowLayerEvent(YowNetworkLayer.EVENT_STATE_CONNECT)) try: stack.loop() except AuthError as e: print("Authentication Error: %s" % e.message)
class YowsupEchoStack(object): def __init__(self, credentials, encryptionEnabled = False): GPIO.cleanup() GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) GPIO.setup(21, GPIO.OUT) #Led 1 GPIO.setup(20, GPIO.OUT) #Led 2 GPIO.setup(16, GPIO.OUT) #Led 3 GPIO.setup(12, GPIO.OUT) #Led 4 GPIO.setup(25, GPIO.OUT) #Led 5 GPIO.setup(24, GPIO.OUT) #Led 6 GPIO.setup(23, GPIO.OUT) #Led 7 GPIO.setup(18, GPIO.OUT) #Led 8 GPIO.setup(19, GPIO.OUT) GPIO.setup(26, GPIO.OUT) entrada = GPIO.PWM(19,50) entrada.start(12) garaje = GPIO.PWM(26,50) garaje.start(3.5) GPIO.output(21, GPIO.LOW) GPIO.output(20, GPIO.LOW) GPIO.output(16, GPIO.LOW) GPIO.output(12, GPIO.LOW) GPIO.output(25, GPIO.LOW) GPIO.output(24, GPIO.LOW) GPIO.output(23, GPIO.LOW) GPIO.output(18, GPIO.LOW) if encryptionEnabled: from yowsup.layers.axolotl import YowAxolotlLayer layers = ( EchoLayer, (YowAuthenticationProtocolLayer, YowMessagesProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer, YowMediaProtocolLayer, YowIqProtocolLayer, YowCallsProtocolLayer), YowAxolotlLayer, YowLoggerLayer, YowCoderLayer, YowCryptLayer, YowStanzaRegulator, YowNetworkLayer ) else: layers = ( EchoLayer, (YowAuthenticationProtocolLayer, YowMessagesProtocolLayer, YowReceiptProtocolLayer, YowAckProtocolLayer, YowMediaProtocolLayer, YowIqProtocolLayer, YowCallsProtocolLayer), YowLoggerLayer, YowCoderLayer, YowCryptLayer, YowStanzaRegulator, YowNetworkLayer ) logging.basicConfig() self.stack = YowStack(layers) self.stack.setCredentials(credentials) def start(self): self.stack.broadcastEvent(YowLayerEvent(YowNetworkLayer.EVENT_STATE_CONNECT)) try: self.stack.loop() except AuthError as e: print("Authentication Error: %s" % e.message)