Esempio n. 1
0
def send_message(event):
    print("sending message")
    route = event.get("pathParameters").get("route")
    r = GladosRequest(RouteType.Webhook,
                      route,
                      json=json.loads(event.get("body")))
    return glados.request(r)
Esempio n. 2
0
def external_menu():
    slack_info = extract_slack_info(request)
    request_json = request.form.to_dict()
    request_json = json.loads(request_json.get("payload"))
    r = GladosRequest(RouteType.Menu,
                      slack_verify=slack_info,
                      json=request_json)
    return glados.request(r)
Esempio n. 3
0
def slash_command(bot, route):
    slack_info = extract_slack_info(request)
    request_json = request.form.to_dict()
    r = GladosRequest(RouteType.Slash,
                      route,
                      slack_info,
                      bot_name=bot,
                      json=request_json)
    return glados.request(r)
Esempio n. 4
0
def interaction(bot):
    slack_info = extract_slack_info(request)
    request_json = request.form.to_dict()
    request_json = json.loads(request_json.get("payload"))
    r = GladosRequest(RouteType.Interaction,
                      slack_verify=slack_info,
                      bot_name=bot,
                      json=request_json)
    try:
        return glados.request(r)
    except GladosRouteNotFoundError as e:
        logging.error(e)
        return "not found"
Esempio n. 5
0
def event_subscriptions(bot):
    body = request.json
    event_type = body.get("type", "")
    if event_type == "url_verification":
        return body.get("challenge")

    # Build GladosRequest
    r = GladosRequest(
        RouteType.Events,
        slack_verify=extract_slack_info(request),
        bot_name=bot,
        json=request.get_json(),
    )
    try:
        return glados.request(r)
    except KeyError:
        return ""
Esempio n. 6
0
def events(event):
    body = json.loads(event.get("body"))
    event_type = body.get("type", "")
    if event_type == "url_verification":
        return {"challenge": body.get("challenge")}

    bot = event.get("pathParameters").get("bot")
    slack_info = SlackVerification(
        event.get("body"),
        event.get("headers").get("X-Slack-Request-Timestamp"),
        event.get("headers").get("X-Slack-Signature"),
    )
    r = GladosRequest(RouteType.Events,
                      slack_verify=slack_info,
                      bot_name=bot,
                      json=body)
    return glados.request(r)
Esempio n. 7
0
def test_it():
    request = GladosRequest(RouteType.Webhook,
                            "send_mock",
                            json={"message": "my message"})
    assert request.json.message == "my message"
Esempio n. 8
0
def send_message_route(route):
    glados_request = GladosRequest(RouteType.SendMessage,
                                   route,
                                   json=request.get_json())
    return glados.request(glados_request)
Esempio n. 9
0
def send_message_route(bot, route):
    glados_request = GladosRequest(RouteType.Webhook,
                                   route,
                                   bot_name=bot,
                                   json=request.get_json())
    return glados.request(glados_request)
Esempio n. 10
0
 def post(self, route):
     glados_request = GladosRequest(RouteType.SendMessage,
                                    route,
                                    json=request.get_json())
     return glados.request(glados_request)