chattiest-channels is a script that analyzes your WeeChat logs to determine which channels have had the most active discussions lately. It does this by filtering out known bots, join/leave messages, channel messages, away indicators, etc. and counts the remaining lines across a given time interval.

By default, it analyzes the last 24-25 hours of logs; however, it can take an optional parameter to specify a custom number of hours to search back.

Try it now, without installing anything:

sh -c " $( curl -sSL 'https://git.sr.ht/~seirdy/chattiest-channels/blob/master/chattiest-channels' ) " - -n 20

#Flood mitigation

Mitigating the effects of spam and flooding continues to be an ongoing challenge. Current measures include:

Merging consecutive messages from the same nick

Filtering out known bots

Areas of improvement:

Filtering out messages containing a lot of escape sequences (since these usually aren't part of a discussion)

Filter out bots on a per-network or per-channel basis to avoid false positives

chattiest-channels is written in POSIX sh and uses only standard POSIX utilities, with one exception: it requires an implementation of date(1) that supports the -d flag to describe an arbitrary date. The versions of date(1) that come with GNU coreutils, BusyBox, FreeBSD, and macOS satisfy this condition.

Usage: chattiest-channels [options] analyze your WeeChat IRC logs to find the most active channels. -d, --duration <NUM> Start counting messages from <NUM> hours ago, rounded down to the earliest hour. Defaults to 24. -n, --lines <NUM> Show only the <NUM> most active channels. Defaults to showing results from all available log files. -h, --help Print this help and exit

Print the top 20 most active channels from the last 48-49 hours.