How to "listen" for 15 minute bar updates?

Hi,
you could use the websocket subscription with AM (aggregated minutes), and then test if 15 minutes past since your last operation.
then you could take the 15 1 minute bars and resample them to 1, 15 minute bar.
if you save them in a dataframe you could do it like this:

df.resample('15T').agg(dict(
                    open='first',
                    high='max',
                    low='min',
                    close='last',
                    volume='sum',
                ))

if you save them as bars, just do the operations described manually