Example #1
0
def geoip(event, **kwargs):
    """GeoIP event handler for Slack webhook events
    """
    text = kwargs.get('text')
    command = kwargs.get('command')
    args = kwargs.get('args')

    if command == 'geoip':
        if args:
            ip = args
            from htk.lib.slack.messages import slack_message_geoip
            slack_text = slack_message_geoip(ip)
        else:
            slack_text = 'Please specify an IP address.'
    else:
        slack_text = 'Illegal command.'

    channel = event['channel_id']

    payload = {
        'text': slack_text,
        'unfurl_links': True,
        'unfurl_media': True,
    }
    return payload
Example #2
0
def geoip(event, **kwargs):
    """GeoIP event handler for Slack webhook events
    """
    text = kwargs.get('text')
    command = kwargs.get('command')
    args = kwargs.get('args')

    if command == 'geoip':
        if args:
            ip = args
            from htk.lib.slack.messages import slack_message_geoip
            slack_text = slack_message_geoip(ip)
        else:
            slack_text = 'Please specify an IP address.'
    else:
        slack_text = 'Illegal command.'

    channel = event['channel_id']

    payload = {
        'text' : slack_text,
        'unfurl_links' : True,
        'unfurl_media' : True,
    }
    return payload
Example #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
Example #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