I'd like to make the user tracking system more robust, and I think the best way to do that is to write handlers for WHO replies. This should probably work by buffering up the replies to compute a full user listing for the corresponding channel, and then on the end message, replacing the old listing wholesale. In this way, you should be able to send periodic WHO messages for each channel you're in to keep this information up to date. This setup is roughly inspired by my understanding of how Textual seems to work.
I'd like to make the user tracking system more robust, and I think the best way to do that is to write handlers for WHO replies. This should probably work by buffering up the replies to compute a full user listing for the corresponding channel, and then on the end message, replacing the old listing wholesale. In this way, you should be able to send periodic WHO messages for each channel you're in to keep this information up to date. This setup is roughly inspired by my understanding of how Textual seems to work.