diff options
Diffstat (limited to 'main.py')
-rw-r--r-- | main.py | 27 |
1 files changed, 20 insertions, 7 deletions
@@ -14,14 +14,20 @@ def get_slack_client(): return WebClient(token=token) -def fetch_results(): - """Query slack for the latest results.""" +def get_messages(): + """Get messages.""" c = get_slack_client() r = c.search_messages(query="@cody", sort="timestamp") - - # Write the results if if r.data["ok"]: - messages = r.data["messages"]["matches"] + return r.data["messages"]["matches"] + else: + return [] + + +def fetch_results(): + """Query slack for the latest results.""" + messages = get_messages() + if messages: write_to_database(messages) print("Archival Complete.") else: @@ -34,7 +40,13 @@ def write_to_database(messages): for msg in messages: username = msg["username"] timestamp = datetime.fromtimestamp(int(msg["ts"].split(".")[0])) - if session.query(Message).filter(Message.username == username).filter(Message.timestamp == timestamp).count() != 0: + if ( + session.query(Message) + .filter(Message.username == username) + .filter(Message.timestamp == timestamp) + .count() + != 0 + ): continue print("New notification") session.add( @@ -49,4 +61,5 @@ def write_to_database(messages): session.commit() -fetch_results() +if __name__ == "__main__": + fetch_results() |