From 63d9a30dac76b7d5f002e9b611e87f9621b8da7f Mon Sep 17 00:00:00 2001 From: Samuel Hoffman Date: Mon, 24 Feb 2020 18:13:51 -0500 Subject: [PATCH] slack: add `!foundus` command for Margaret --- CodeChallenge/api/slack.py | 16 ++++++++++++++++ CodeChallenge/core.py | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/CodeChallenge/api/slack.py b/CodeChallenge/api/slack.py index 43689b5..3b569b9 100644 --- a/CodeChallenge/api/slack.py +++ b/CodeChallenge/api/slack.py @@ -4,8 +4,11 @@ import requests from flask import Blueprint, request, jsonify, current_app, abort +from sqlalchemy import func from .. import core +from ..auth import Users +from ..models import db bp = Blueprint("slackapi", __name__, url_prefix="/api/v1/slack") @@ -60,6 +63,19 @@ def handle_message(text, channel): post_message(channel, resp) + if command == "foundus": + found_us = db.session.query(Users.found_us, + func.count(Users.found_us)) \ + .group_by(Users.found_us) \ + .order_by(Users.found_us) \ + .all() + + resp = "" + for row in found_us: + resp += f"*{row[0]}*: {row[1]}\n" + + post_message(channel, resp) + @bp.route("/event", methods=["POST"]) def slack_event(): diff --git a/CodeChallenge/core.py b/CodeChallenge/core.py index a1b4f6a..cde9aa2 100644 --- a/CodeChallenge/core.py +++ b/CodeChallenge/core.py @@ -72,4 +72,4 @@ def challenge_ended() -> bool: def user_count() -> int: - return db.session.query(func.count(Users)).scalar() + return db.session.query(func.count(Users.id)).scalar()