If you want to send a message to a specific user, use the whisper pubsub topic or the “regular” pubsub topic with a user_id in the message.
Then your frontend can interpret the inbound message.
Whispers are only for that user
Regular pubsub (channel or broadcaster) you can compare the user_id in the message with the user_id the extension has.
Do what works best for you and your extension.
I tend to avoid the whisper topic due to the rate limit implications.
So I’ll use the global topic with many messages and many user_id’s to handle rate limit
So depends on the quantity of messages you need to send.
I also on some extensions don’t use pubsub and run a custom system to do exactly what I need.
So best practice wise: choose whats best for your needs and message send counts.