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)
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)
def template(*event): aws_lambda = Lambda('osbot_browser.lambdas.lambda_browser') payload = { "params": ["maps", "default"], 'data': { 'channel': event[1] } } aws_lambda.invoke_async(payload)
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)
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)
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)