diff --git a/envrc.example b/envrc.example index f0f6c36..5a872fe 100644 --- a/envrc.example +++ b/envrc.example @@ -1,4 +1,5 @@ export SLACK_BOT_TOKEN="xoxb-*" export SLACK_APP_TOKEN="xapp-*" export DB_NAME="" +export DB_DUMP_URL="" export BACKDOOR_USERS="username,username2" diff --git a/kowalski.py b/kowalski.py index 77ad322..7208308 100644 --- a/kowalski.py +++ b/kowalski.py @@ -40,6 +40,7 @@ CONGRATS = [ INDICATOR = "$$" DB_NAME = os.environ.get("DB_NAME", "kowalski.db") BACKDOOR_USERS = os.environ.get("BACKDOOR_USERS", "").split(",") +DB_DUMP_URL = os.environ.get("DB_DUMP_URL", "") logger = logging.getLogger(__name__) # Initialize SQLite database @@ -164,6 +165,19 @@ def handle_message_events(event, say): random_congrats = random.choice(CONGRATS) say(f"{display_name} has ${user_count}, {random_congrats}") +@app.event("app_mention") +def handle_message_events(event, say): + sender_id = event.get("user") + text = event.get("text") + + username, display = get_username(sender_id) + if "dump database" in text and DB_DUMP_URL: + say(f"Sure thing @{display}! You can download my DB from {DB_DUMP_URL}") + return + + say("Sorry, I didn't understand that!") + + # Start the bot if __name__ == "__main__": handler = SocketModeHandler(app, os.environ.get("SLACK_APP_TOKEN"))