diff options
Diffstat (limited to 'main.py')
-rw-r--r-- | main.py | 26 |
1 files changed, 15 insertions, 11 deletions
@@ -1,6 +1,6 @@ """Slack stuff.""" -from datetime import datetime import os +from datetime import datetime from mappings import Message, get_session from slack_sdk import WebClient @@ -21,7 +21,7 @@ def fetch_results(): # Write the results if if r.data["ok"]: - messages = r.data['messages']['matches'] + messages = r.data["messages"]["matches"] write_to_database(messages) print("Archival Complete.") else: @@ -32,16 +32,20 @@ def write_to_database(messages): """Write messages to database.""" session = get_session() for msg in messages: - iid = msg["iid"] - if session.query(Message).filter(Message.iid == iid).count() != 0: + 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: continue - session.add(Message( - iid=iid, - type=msg["type"], - username=msg["username"], - text=msg["text"], - timestamp=datetime.fromtimestamp(int(msg["ts"].split('.')[0])) - )) + print("New notification") + session.add( + Message( + iid=msg["iid"], + type=msg["type"], + username=username, + text=msg["text"], + timestamp=timestamp, + ) + ) session.commit() |