obbyworld/obby

Custom channels list

Open

#45 opened on May 27, 2025

View on GitHub
 (0 comments) (0 reactions) (0 assignees)TypeScript (21 forks)auto 404
IRC ClientIRC Serverenhancementfeature requesthelp wanted

Repository metrics

Stars
 (222 stars)
PR merge metrics
 (PR metrics pending)

Description

I would like to implement a channels list which contains not only the channel topic and number of users, but also show things like how active the conversation is, the current mood/vibe of the channel, as well as a short summary of the channel conversation, updated periodically.

There are also other things to consider such as if I want to mark a channel as "nsfw" for example, and be able to include or filter these explicitly in results.

I have a few considerations with regards to server-side implementation:

  • METADATA - By setting this information as channel METADATA we could, as a client, query each value for each channel as they are received by the client. The problem with this is that could take a while to render depending on the size of the channels list.
  • Message Tags - By including values in the Message Tag body, prefixed to the 322 numeric, we can easily reference all the data we need about a channel for the list frame by frame, meaning rendering might still be a little bit slow but each result will already be fully-formed. This also means we would need to implement some custom commands to set and change the values and propagate them to the client later in some new invented format.

I think we should go for a mix of both of these for most things, i.e. a channel operator could set the channel as nsfw using METADATA, which a user won't need to subscribe to but can still be shown in the channels list via tags, or maybe something like music or channel icon/avatar which a user could subscribe to and also show in the channels list via tags.

Contributor guide