website icon indicating copy to clipboard operation
website copied to clipboard

List popular slack channels and descriptions on site

Open willa75 opened this issue 7 years ago • 12 comments

Issue Type

  • [x] Feature Request

Description

I think it would be a good idea to have a list somewhere on the site of popular slack channels @daredevil82 (Ovv) suggested only showing channels with over x amount of people in them.

willa75 avatar Jan 17 '18 15:01 willa75

I wonder how complex it would be to show the most active channels, underneath that we could have a drop down or something that shows them all if anyone is interested and wants a quick list.

m1yag1 avatar Jan 17 '18 23:01 m1yag1

I'd love for us to be able to move to the pyslackers/slack-sansio library - perhaps this could be the dogfood for it?

mattrasband avatar Jan 18 '18 03:01 mattrasband

sir-bot-a-lot query once per day the slack api to get the list of channels (it's used for the topics monitoring). Maybe the website can leverage that.

ovv avatar Jan 30 '18 13:01 ovv

I was looking more into this and realized that the /purpose and /topic are user provided, it's probably best to not show these on the site in the off change that a user may updated either in poor taste before we sync and then show it until the next scheduled sync.

Closing for now, but please feel free to re-open if this seems unreasonable.

mattrasband avatar Jun 20 '19 02:06 mattrasband

Also, what defines popular? The easy to find metric is member count, however popularity is probably weighted based on member count and messages per time period, which requires a bit more.

mattrasband avatar Jun 20 '19 02:06 mattrasband

I think showing a list of available channels with their topics is already a nice step for helping people navigate the slack

ovv avatar Jun 20 '19 16:06 ovv

And what is the best approach to do that ?

The idea i have now is getting the messages from the api once per day, and then compare the length of every channel, and then show the top-5. Any better idea ?

Moha369 avatar Jul 30 '19 13:07 Moha369

We grab the channels on a schedule here: https://github.com/pyslackers/website/blob/master/pyslackersweb/website/tasks.py#L118

So yeah, from there it’s just finding some way to decide which are the channels to feature. Could be based on messages, member counts, or probably a few other ways.

For now I’d probably just do it based on memberships for anything that isn’t “general” (see the slack channel type here: https://api.slack.com/methods/channels.list). Once sirbot is pulled over we can query a rolling popularity and make the site a little more dynamic.

mattrasband avatar Jul 30 '19 14:07 mattrasband

you/we could potentially also store the daily amount of users, messages etc, and make some long term statistics of each channel and their growth. not for any particular reason but for data purposes.

Could be based on messages, member counts, or probably a few other ways.

Maybe utilize some function based on a combination of those, based on some magic numbers.

C0DK avatar Jul 30 '19 14:07 C0DK

That would be pretty cool, maybe a volume weighted average?

mattrasband avatar Jul 30 '19 14:07 mattrasband

Amount of messages is not something slack makes available. While the bot is still split it would make sense to rely on the user count.

ovv avatar Jul 31 '19 16:07 ovv

Just be sure to ignore the channel with is_general set to True, since everyone has to be there (which is #announcements for our group).

mattrasband avatar Jul 31 '19 16:07 mattrasband