Esempio n. 1
0
def create_slack_beacon(event):
    beacon_key = None
    webhook_settings = event.get('webhook_settings', {})
    slack_webhook_url = webhook_settings.get('slack_webhook_url')
    if slack_webhook_url:
        from uuid import uuid4
        from htk.lib.slack.beacon.cachekeys import SlackBeaconCache
        beacon_key = uuid4().get_hex()[:6]
        payload = {
            'slack_webhook_url': slack_webhook_url,
            'channel_name': event.get('channel_name'),
            'user_name': event.get('user_name'),
        }
        c = SlackBeaconCache(prekey=beacon_key)
        c.cache_store(payload)
    return beacon_key
Esempio n. 2
0
def create_slack_beacon(event):
    beacon_key = None
    webhook_settings = event.get('webhook_settings', {})
    slack_webhook_url = webhook_settings.get('slack_webhook_url')
    if slack_webhook_url:
        from uuid import uuid4
        from htk.lib.slack.beacon.cachekeys import SlackBeaconCache
        beacon_key = uuid4().get_hex()[:6]
        payload = {
            'slack_webhook_url' : slack_webhook_url,
            'channel_name' : event.get('channel_name'),
            'user_name' : event.get('user_name'),
        }
        c = SlackBeaconCache(prekey=beacon_key)
        c.cache_store(payload)
    return beacon_key
Esempio n. 3
0
def slack_beacon_view(request):
    """Receiver for Slack homing beacon
    """

    beacon_key = request.GET.get('k')
    from htk.lib.slack.beacon.cachekeys import SlackBeaconCache
    c = SlackBeaconCache(prekey=beacon_key)
    beacon = c.get()
    ip = extract_request_ip(request)
    if beacon:
        from htk.lib.slack.messages import slack_message_geoip
        slack_text = slack_message_geoip(ip, beacon['user_name'])
        from htk.lib.slack.utils import webhook_call
        webhook_call(
            webhook_url=beacon['slack_webhook_url'],
            channel=beacon['channel_name'],
            text=slack_text,
        )
        response = json_response_okay()
    else:
        response = json_response_error()
    return response
Esempio n. 4
0
def slack_beacon_view(request):
    """Receiver for Slack homing beacon
    """

    beacon_key = request.GET.get('k')
    from htk.lib.slack.beacon.cachekeys import SlackBeaconCache
    c = SlackBeaconCache(prekey=beacon_key)
    beacon = c.get()
    ip = extract_request_ip(request)
    if beacon:
        from htk.lib.slack.messages import slack_message_geoip
        slack_text = slack_message_geoip(ip, beacon['user_name'])
        from htk.lib.slack.utils import webhook_call
        webhook_call(
            webhook_url=beacon['slack_webhook_url'],
            channel=beacon['channel_name'],
            text=slack_text,
        )
        response = json_response_okay()
    else:
        response = json_response_error()
    return response