The Channel Query service queries channels for information about them (in terms of topic and modes) as well as its list of participants.
Different states which tracked channels can be in.
After listing names (upon joining a channel), initiate a channel query run unless one is already running. Additionally don't do it before it has been done at least once, after login.
After successful connection, start a delayed channel query on all channels.
If we get an error that a channel doesn't exist, remove it from channelStates. This stops it from being queried in startChannelQueries.
Adds a channel we join to the internal ChanQueryService.channels list of channel states.
Removes a channel we part from the internal ChanQueryService.channels list of channel states.
Registers that we have seen the topic of a channel.
Queries channels for information about them and their users.
The ChannelPolicy to mix in awareness with depending on whether version OmniscientQueries is set or not.
The Channel Query service queries channels for information about them (in terms of topic and modes) as well as their lists of participants. It does this shortly after having joined a channel, as a service to all other plugins, so they don't each have to independently do it themselves.
It is qualified as a service, so while it is not technically mandatory, it is highly recommended if you plan on mixing in ChannelAwareness into your plugins.