So currently each channel on Warpcast is an NFT , casts within a channel are replies to that NFT . If you have a list of channels on client then it would be easy to replicate the current Warpcast channel’s experience. But there is nothing special to query Hub for channels directly. Is my understanding correct .
That’s what I understand from consuming the APIs, probably the Farcaster team can give a better explanation.
You can just index all the casts from a hub and see which nfts they reply to. That would give you the full channel list
A cast is part of a channel if it has a so called parentUrl. That can be an nft, url or really any text string atm. Replies to those cast are also in that channel. An indexer would help but if you know the parentUrl you could use https://github.com/i001962/Farcaster_Channel_Chat/blob/main/components/useFetchCastsUrl.ts