def handle_link_shared(): """{'type': 'event_callback', 'event': {'type': 'link_shared', 'user': '******', 'channel': 'CCXXXXXXXB', 'message_ts': '1564217720.000000', 'links': [{'url': 'http://computer.example.com/1234', 'domain': 'computer.example.com'}]}, 'token': '', 'team_id': 'TCXXXXXY', 'api_app_id': 'ALXXXXXB', 'event_id': 'EvXXXXXXX7', 'event_time': 1564217720, 'authed_users': ['UXXXXXXK'], } """ links = request.json['event']['links'] if events.config['gerrit_domain'] in [link['domain'] for link in links]: run_async(send_unfurl, links=links, token=events.config['slack_oauth_access_token'], channel=request.json['event']['channel'], ts=request.json['event']['message_ts']) else: bg_slack('chat_unfurl', token=events.config['slack_oauth_access_token'], channel=request.json['event']['channel'], ts=request.json['event']['message_ts'], unfurls={ link['url']: gen_unfurl(link) for link in request.json['event']['links'] }) return 'ok'
def handle_tea_earl_gray_hot(): bg_slack( 'chat_postMessage', token=events.config.get('slack_bot_token'), text='https://i.imgur.com/kGypM2u.jpg', channel=request.json['event']['channel'], )
def handle_tea_earl_gray_not(): bg_slack( 'chat_postMessage', token=events.config.get('slack_bot_token'), text='https://www.youtube.com/watch?v=eVUuaDXBhs4', channel=request.json['event']['channel'], )
def handle_me_message(): bg_slack('reactions_add', token=events.config.get('slack_bot_token'), name='blog', channel=request.json['event']['channel'], timestamp=request.json['event']['ts']) return 'ok'
def handle_reaction_added(): if request.json['event']['reaction'] == 'plus2': bg_slack('reactions_add', token=events.config.get('slack_bot_token'), name='shipitparrot', channel=request.json['event']['item']['channel'], timestamp=request.json['event']['item']['ts']) return 'ok'
def send_unfurl(links, token, channel, ts): unfurls = { link['url']: get_changedata(link) for link in links if link['domain'] == events.config['gerrit_domain'] } unfurls = { k: format_changedata(token, v) for k, v in unfurls.items() if v is not None } if unfurls: return bg_slack('chat_unfurl', token=token, channel=channel, ts=ts, unfurls=unfurls) else: print('no unfurls')