Adding a Thread to our ChatWindow
To get our ChatWindow
class listening for new messages, we will use a thread to repeatedly poll our web service for messages which we haven't seen yet.
In order to determine what we have and have not already received, we will be using the date_sent
column in our conversation table.
Before we can implement a threaded solution, some modifications need to be made to our database, server, and requester.
Creating new endpoints
The first thing we will need is the ability to select new messages from our conversation databases. We will need to provide the current user's username and the last time when we checked for messages. Our database will then return all new messages by a different author since the last time we checked for messages.
Open up your conversation.py
file and add the following method to it:
def get_new_messages(self, timestamp, username): sql = "SELECT author, message FROM conversation WHERE date_sent > ? AND author <> ?" params = (timestamp...