Example #1
0
def setup_stack(credentials, target_dir):
    stack_builder = YowStackBuilder()
    stack = stack_builder.pushDefaultLayers(
        axolotl=True).push(LogLayer).build()
    stack.setCredentials(credentials)
    stack.setProp(LogLayer.PROP_TARGET, target_dir)
    return stack
Example #2
0
    def __init__(self, credentials, encryptionEnabled = False):
        stackBuilder = YowStackBuilder()


        self.stack = stackBuilder.pushDefaultLayers(encryptionEnabled).push(SendLayer).build()
        # self.stack.setProp(YowAuthenticationProtocolLayer.PROP_PASSIVE, True)
        self.stack.setCredentials(credentials)
Example #3
0
    def start(self,config):
        yowsupConfig = config['Yowsup']
        credentials = (yowsupConfig["Username"], yowsupConfig["Password"])  # replace with your phone and password
        sendQueue = queue.Queue()
        stackBuilder = YowStackBuilder()
        self.stack = stackBuilder \
            .pushDefaultLayers(True) \
            .push(QueueLayer(sendQueue)) \
            .push(YowMediaProtocolLayer) \
            .build()

        beanstalkdConfig = config['Beanstalkd']
        beanstalkdStack = BeanstalkStack()
        beanstalkdStack.setConnectParams(beanstalkdConfig["Host"], beanstalkdConfig["Port"], sendQueue, self.stack)

        beanstalkdStack.daemon = True
        beanstalkdStack.start()

        self.stack.setCredentials(credentials)
        connectEvent = YowLayerEvent(YowNetworkLayer.EVENT_STATE_CONNECT)
        self.stack.broadcastEvent(connectEvent)

        while 1:
            try:
                #self.stack.loop(timeout = 0.5, discrete = 0.5)
                self.stack.loop(timeout = 0.5)
            except AuthError as e:
                print("Auth Error, reason %s" % e)
            # Bugfix for : https://github.com/tgalal/yowsup/issues/978
            except DuplicateMessageException as e:
                print('Please delete .yowsup/<yournumber>/axolotl.db')
                break
                pass
Example #4
0
    def start(self, incoming, outgoing):
        # TODO: Is encryption possible with groups?
        use_encryption = False
        self.incoming = incoming

        stackBuilder = YowStackBuilder()
        self.stack = stackBuilder \
            .pushDefaultLayers(use_encryption) \
            .push(MsgCenterLayer) \
            .build()

        self.stack.setCredentials(self.credentials)
        self.stack.setProp(MsgCenterLayer.PROP_OUTGOING, outgoing)
        self.stack.setProp(MsgCenterLayer.PROP_BACKEND_NAME, self.name)
        self.stack.broadcastEvent(YowLayerEvent(YowNetworkLayer.EVENT_STATE_CONNECT))

        # TODO:Use multiprocessing. There seems to be a problem with yowsup:
        # https://github.com/tgalal/yowsup/issues/717
        p = Thread(target=self.wait_incoming_msgs)
        p.start()

        try:            
            self.stack.loop()                
        except AuthError as e:
            print("Authentication Error: %s" % e)
Example #5
0
    def __init__(self, encryptionEnabled=True):
        stackBuilder = YowStackBuilder()

        self.stack = stackBuilder\
            .pushDefaultLayers(encryptionEnabled)\
            .push(YowsupWebLayer)\
            .build()
        self.stack.setProp(PROP_IDENTITY_AUTOTRUST, True)
Example #6
0
 def __init__(self, credentials, messages, encryptionEnabled=True):
     stackBuilder = YowStackBuilder()
     self.stack = stackBuilder\
         .pushDefaultLayers(encryptionEnabled)\
         .push(SendMediaLayer)\
         .build()
     self.stack.setProp(SendMediaLayer.PROP_MESSAGES, messages)
     self.stack.setProp(YowAuthenticationProtocolLayer.PROP_PASSIVE, True)
     self.stack.setCredentials(credentials)
Example #7
0
    def __init__(self, credentials=None, encryptionEnabled=True):
        stackBuilder = YowStackBuilder()

        self.stack = stackBuilder\
            .pushDefaultLayers(encryptionEnabled)\
            .push(layer.Insulter)\
            .build()

        self.stack.setCredentials(CREDENTIALS)
Example #8
0
    def __init__(self, profile):
        stackBuilder = YowStackBuilder()

        self._stack = stackBuilder\
            .pushDefaultLayers()\
            .push(EchoLayer)\
            .build()
        print(dir(self._stack))
        self._stack.setCredentials(profile, )
Example #9
0
    def __init__(self, profile, storage_dir=None):
        stackBuilder = YowStackBuilder()

        self._stack = stackBuilder\
            .pushDefaultLayers()\
            .push(MediaSinkLayer)\
            .build()
        self._stack.setProp(MediaSinkLayer.PROP_STORAGE_DIR, storage_dir)
        self._stack.setProfile(profile)
Example #10
0
    def __init__(self, profile):
        stackBuilder = YowStackBuilder()

        self._stack = (stackBuilder
                       .pushDefaultLayers()
                       .push(SendLayer)
                       .build())

        self._stack.setProfile(profile)
Example #11
0
    def __init__(self, credentials):
        stackBuilder = YowStackBuilder()

        self._stack = stackBuilder\
            .pushDefaultLayers()\
            .push(EchoLayer)\
            .build()

        self._stack.setCredentials(credentials)
Example #12
0
    def __init__(self, profile):
        stackBuilder = YowStackBuilder()

        self._stack = stackBuilder\
            .pushDefaultLayers()\
            .push(EchoLayer)\
            .build()

        self._stack.setProfile(profile)
Example #13
0
    def __init__(self, credentials, encryptionEnabled=True):
        stackBuilder = YowStackBuilder()

        self.stack = stackBuilder\
            .pushDefaultLayers(encryptionEnabled)\
            .push(BridgeLayer)\
            .build()

        self.stack.setCredentials(credentials)
Example #14
0
 def __init__(self, credentials, encryptionEnabled=True):
     stackBuilder = YowStackBuilder()
     self.stack = stackBuilder\
         .pushDefaultLayers(encryptionEnabled)\
         .push(IncomingLayer)\
         .push(OutgoingLayer)\
         .build()
     self.stack.setCredentials(credentials)
     self.stack.setProp(YowAxolotlLayer.PROP_IDENTITY_AUTOTRUST, True)
Example #15
0
    def __init__(self):
        builder = YowStackBuilder()

        self.stack = builder \
            .pushDefaultLayers() \
            .push(MacLayer) \
            .build()
        self.stack.setCredentials(credentials)
        self.stack.setProp(MacLayer.PROP_CONTACTS, list(config.contacts.keys()))
        self.stack.setProp(PROP_IDENTITY_AUTOTRUST, True)
Example #16
0
    def __init__(self, encryptionEnabled = True):
	CREDENTIALS = credentials.get_credentials()
        stackBuilder = YowStackBuilder()

        self.stack = stackBuilder\
            .pushDefaultLayers(encryptionEnabled)\
            .push(EchoLayer)\
            .build()

        self.stack.setCredentials(CREDENTIALS)
Example #17
0
    def __init__(self, profile):
        stackBuilder = YowStackBuilder()

        self._stack = stackBuilder\
            .pushDefaultLayers()\
            .push(YowsupCliLayer)\
            .build()

        self._stack.setProfile(profile)
        self._stack.setProp(PROP_IDENTITY_AUTOTRUST, True)
    def __init__(self, credentials, encryptionEnabled=True):
        stackBuilder = YowStackBuilder()

        self.stack = stackBuilder\
            .pushDefaultLayers(encryptionEnabled)\
            .push(WhatsAppGatewayLayer)\
            .build()

        # Set the credentials set in the config/creds.py
        self.stack.setCredentials(credentials)
Example #19
0
    def __init__(self, credentials):
        stackBuilder = YowStackBuilder()

        self._stack = stackBuilder\
            .pushDefaultLayers()\
            .push(YowsupCliLayer)\
            .build()

        self._stack.setCredentials(credentials)
        self._stack.setProp(PROP_IDENTITY_AUTOTRUST, True)
Example #20
0
def workerwhatsapp():
    stackBuilder = YowStackBuilder()
    stack = stackBuilder.pushDefaultLayers(True).push(laye).build()
    stack.setCredentials(CREDENTIALS)
    stack.broadcastEvent(YowLayerEvent(YowNetworkLayer.EVENT_STATE_CONNECT))
    stack.setProp(YowNetworkLayer.PROP_ENDPOINT, YowConstants.ENDPOINTS[0])
    stack.setProp(YowCoderLayer.PROP_DOMAIN, YowConstants.DOMAIN)
    stack.setProp(YowCoderLayer.PROP_RESOURCE,
                  YowsupEnv.getCurrent().getResource())
    stack.loop(timeout=0.5, discrete=0.5)
Example #21
0
 def __init__(self, credentials, encryptionEnabled = True):
     stackBuilder = YowStackBuilder()
     self.stack = stackBuilder\
         .pushDefaultLayers(encryptionEnabled)\
         .push(WhaLayer)\
         .build()
     self.stack.setCredentials(credentials)
     self.stack.setProp(PROP_IDENTITY_AUTOTRUST, True) #not in jlguardi
     self.wantReconnect = True
     self.abortReconnectWait = queue.Queue()
Example #22
0
    def __init__(self, credentials, image_path, encryptionEnabled=True):
        stackBuilder = YowStackBuilder()

        self.stack = stackBuilder\
            .pushDefaultLayers(encryptionEnabled)\
            .push(WhatsappImageSendLayer)\
            .build()

        self.stack.setCredentials(credentials)
        self.stack.setProp(PROP_IDENTITY_AUTOTRUST, True)
Example #23
0
    def __init__(self, credentials):
        "Creates the stacks of the Yowsup Server,"
        self.credentials = credentials
        stack_builder = YowStackBuilder().pushDefaultLayers(True)

        # on the top stack, the two layers that controls the bot and respond to messages and notifications
        # see both of classes for more documentation
        stack_builder.push(YowParallelLayer([EchoLayer]))
        ##        stack_builder.push(YowParallelLayer([RouteLayer, NotificationsLayer]))
        self.stack = stack_builder.build()
        self.stack.setCredentials(credentials)
Example #24
0
    def __init__(self, credentials, number, path, encryptionEnabled=True):
        stackBuilder = YowStackBuilder()

        self.stack = stackBuilder\
            .pushDefaultLayers(encryptionEnabled)\
            .push(YowsupCliLayer)\
            .build()
        myLayer = self.stack.getLayer(7)
        myLayer.queueCmd('/login %s %s' % credentials)
        myLayer.queueCmd('/image send %s %s' % (number, path))
        self.stack.setCredentials(credentials)
    def prepare_stack(self, credentials, messages):
        stackBuilder = YowStackBuilder()
        stack = stackBuilder.pushDefaultLayers(True).push(EchoLayer).build()

        stack.setProp("messages", messages)
        stack.setCredentials(credentials)

        stack.broadcastEvent(YowLayerEvent(
            YowNetworkLayer.EVENT_STATE_CONNECT))

        return stack
Example #26
0
    def __init__(self):
        builder = YowStackBuilder()

        self.stack = builder\
            .pushDefaultLayers(encryption)\
            .push(BotLayer)\
            .build()

        self.stack.setCredentials(credentials)
        self.stack.setProp(BotLayer.PROP_CONTACTS, contacts_numbers)
        self.stack.setProp(PROP_IDENTITY_AUTOTRUST, True)
Example #27
0
    def __init__(self):
        stackBuilder = YowStackBuilder()
        self.profile = os.environ['phone_number']

        self._stack = stackBuilder\
            .pushDefaultLayers()\
            .push(MainStrongFastSuperBot)\
            .build()

        self._stack.setProfile(self.profile)
        self._stack.setProp(PROP_IDENTITY_AUTOTRUST, True)
Example #28
0
    def __init__(self, credentials, encryptionEnabled=False):
        stackBuilder = YowStackBuilder()

        if not encryptionEnabled:
            env.CURRENT_ENV = S40YowsupEnv()

        self.stack = stackBuilder\
            .pushDefaultLayers(encryptionEnabled)\
            .push(BridgeMPPCliLayer)\
            .build()

        self.stack.setCredentials(credentials)
Example #29
0
    def __init__(self,
                 credentials,
                 date,
                 encryptionEnabled=True,
                 verbose=False):
        stackBuilder = YowStackBuilder()

        self.stack = stackBuilder.pushDefaultLayers(encryptionEnabled).push(
            YowsupNewsbotLayer(date, verbose)).build()

        self.stack.setCredentials(credentials)
        self.stack.setProp(PROP_IDENTITY_AUTOTRUST, True)
Example #30
0
    def __init__(self, credentials, encryptionEnabled=True):
        stackBuilder = YowStackBuilder()

        self.stack = stackBuilder\
            .pushDefaultLayers(encryptionEnabled)\
            .push(EchoLayer)\
            .build()

        self.stack.setCredentials(credentials)

        self.stack.broadcastEvent(
            YowLayerEvent(YowNetworkLayer.EVENT_STATE_CONNECT))