@synchronized
    def _handle_live_update(self, message):
        if message.get('kind') != 'message':
            return

        id = message.get('topic', {}).get('id')
        group_id = message.get('group')
        topics = self.get_topics()
        ts = message.get('_ts')

        if id in topics:
            topics[id]['date_latest_message'] = ts
        else:
            group_topics = self.get_group_topics(group_id)
            topics[id] = group_topics.get(id, {})
        groups = self.get_groups()
        if group_id not in groups:
            groups = self.get_groups(force=True)
        groups[group_id]['date_latest_message'] = ts
dataset/ETHPy150Open vlasovskikh/convoread/convoread/convore.py/Convore._handle_live_update/original