BoostBots
BoostBots copied to clipboard
[IRC] Channel-specific Boosts
As currently implemented, ANY show that adds BoostBot to their splits gets to use BoostBot's functionality but there's currently no "filter" for the IRC module, meaning ANY channel the bot is in receives notification on ANY boost for ANY show. There's some low-hanging fruit here to adjust this so that only the show the channel is for receives their boost messages, I'm just not sure how to best implement it.
Example:

If the BoostIRC install instructions are followed and a user runs BoostIRC from their node they can get node-specific IRC notifications.
BoostBot (the mastodon bot) was designed to catch all the shows that opt in and toot their boosts over fedi. Right now the IRC bot in Podcasting 2.0 channel is merely relaying the mastodon boosts. If Adam or Dave were to follow the README for setting up the BoostIRC they'd be able to get just their own boosts coming in....given that the node they install it on to watch isn't also getting boosts for other shows too.
I understand that, and running it themselves would also avoid the less than minimum sat splits getting lost in the ether, but the IRC module should likely still have some sort of filtering enabled, there are hosts with nodes that appear on multiple podcasts, yourself included 🙂, and it'd be nice to have those announcements go to the proper IRC channels
Thanks @cottongin I think this is a good idea. @SpencerPearson is right too but I don't mind adding something for this if we can think of a good way to do it. Might be kinda tricky to do cleanly. One of the problem is that boosts might be missing fields. The fields that could identify the podcast are podcast, feedID, url, and guid. I am thinking we would want to specify all of them to capture as many boosts as possible. I would also prefer to only run one instance of boostirc instead of one per channel. TLV 7629169
I am thinking of adding a flag --irc-channel-map, open to a better name, that takes three arguments channel, key, and value. The user would be able to specify the flag multiple times. This way the user can map any field in the boost to any channel. I think this is pretty clean and not overly complicated to do with the Click CLI framework.
boostirc \
--irc-channel-map '#noagenda' podcast 'No Agenda' \
--irc-channel-map '#noagenda' feedID 41504 \
--irc-channel-map '#noagenda' url http://feed.nashownotes.com/rss.xml \
--irc-channel-map '#podcasting20' podcast 'Podcasting 2.0' \
--irc-channel-map '#podcasting20' feedID 920666 \
--irc-channel-map '#podcasting20' url 'http://mp3s.nashownotes.com/pc20rss.xml' \
// ...
This seems a natural feature to leverage the podcast:chat tag
https://github.com/Podcastindex-org/podcast-namespace/discussions/502