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)
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)
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)
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"
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 ""
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)
def test_it(): request = GladosRequest(RouteType.Webhook, "send_mock", json={"message": "my message"}) assert request.json.message == "my message"
def send_message_route(route): glados_request = GladosRequest(RouteType.SendMessage, route, json=request.get_json()) return glados.request(glados_request)
def send_message_route(bot, route): glados_request = GladosRequest(RouteType.Webhook, route, bot_name=bot, json=request.get_json()) return glados.request(glados_request)
def post(self, route): glados_request = GladosRequest(RouteType.SendMessage, route, json=request.get_json()) return glados.request(glados_request)