예제 #1
0
    def slack(team_id=None, channel=None, params=None):
        target = Misc.array_pop(params, 0)
        height = Misc.to_int(Misc.array_pop(params, 0))
        width = Misc.to_int(Misc.array_pop(params, 0))
        scroll_by = Misc.to_int(Misc.array_pop(params, 0))
        delay = Misc.to_int(Misc.array_pop(params, 0))

        if target is None: target = 'general'
        if width is None: width = 800
        if height is None: height = 1000
        if scroll_by is None: scroll_by = 0
        if delay is None: delay = 0

        target_url = '/messages/{0}'.format(target)

        slack_message(
            ":point_right: Taking screenshot of slack channel: `{0}` with height `{1}`, width `{2}`, scroll_by `{3}` and delay `{4}`"
            .format(target, height, width, scroll_by,
                    delay), [], channel, team_id)

        payload = {
            'target': target_url,
            'channel': channel,
            'team_id': team_id,
            'width': width,
            'height': height,
            'scroll_by': scroll_by,
            'delay': delay
        }
        aws_lambda = Lambda('osbot_browser.lambdas.slack_web')
        aws_lambda.invoke_async(payload)
예제 #2
0
    def create(*event):
        aws_lambda = Lambda('osbot_browser.lambdas.lambda_browser')
        params = ["maps", "exec_js"]
        params.extend(event[2])

        payload = {"params": params, 'data': {'channel': event[1]}}
        aws_lambda.invoke_async(payload)
 def info(team_id=None, channel=None, params=None):
     name = " ".join(params)
     aws_lambda = Lambda('oss_bot.lambdas.git_lambda')
     payload = {'action' : 'participant_info' ,
                'name'   : name               ,
                'channel': channel            ,
                'commit' : False              }
     aws_lambda.invoke_async(payload)
예제 #4
0
 def template(*event):
     aws_lambda = Lambda('osbot_browser.lambdas.lambda_browser')
     payload = {
         "params": ["maps", "default"],
         'data': {
             'channel': event[1]
         }
     }
     aws_lambda.invoke_async(payload)
예제 #5
0
 def cup_of_tea(*event):
     aws_lambda = Lambda('osbot_browser.lambdas.lambda_browser')
     payload = {
         "params": ["maps", "render", "cup-of-tea"],
         'data': {
             'channel': event[1]
         }
     }
     aws_lambda.invoke_async(payload)
예제 #6
0
 def send_png_file_to_slack(self, team_id, channel, target, png_file):
     if team_id and channel:
         s3_bucket    = 'gs-lambda-tests'
         s3_key       = S3().file_upload_as_temp_file(png_file, s3_bucket)
         png_to_slack = Lambda('utils.png_to_slack')
         payload = {'s3_bucket': s3_bucket, 's3_key': s3_key, 'team_id': team_id, 'channel': channel, 'title': target }
         png_to_slack.invoke_async(payload)
         return None, None
     else:
         return base64.b64encode(open(png_file, 'rb').read()).decode()
    def mine(slack_id, channel, params):
        slack_message(
            ":mag_right: Ok, fetching scheadule for <@{0}>".format(slack_id),
            [], channel)
        name = API_OSS_Slack().slack_id_to_slack_full_name(slack_id)

        text = 'participant view {0}'.format(name)
        from osbot_aws.apis.Lambda import Lambda
        aws_lambda = Lambda('oss_bot.lambdas.oss_bot')
        aws_lambda.invoke_async(
            {'event': {
                'type': 'message',
                'text': text,
                "channel": channel
            }})
 def remove(team_id=None, channel=None, params=None):
     data = " ".join(params).split(',')
     if len(data) != 3:
         return "error: you need to provide 3 fields to append an value (comma delimited): `name`, `field name` and `field value`"
     name, field, value = data
     name = name.strip()
     field = field.strip()
     value = value.strip()
     aws_lambda = Lambda('oss_bot.lambdas.git_lambda')
     payload = {'action': 'participant_remove_from_field',
                'name': name,
                'channel': channel,
                'field': field,
                'value': value}
     aws_lambda.invoke_async(payload)
예제 #9
0
 def git_reset(team_id=None, channel=None, params=None):
     aws_lambda = Lambda('oss_bot.lambdas.git_lambda')
     payload = {'action': 'git_reset',
                'channel': channel,
                'commit': False}
     aws_lambda.invoke_async(payload)