In T185319 the Analytics team took ownership of the next developments of IRCRecentChanges. This task is meant to track the work to be done.
Background
The irc.wikimedia.org backend service currently run on kraz.wikimedia.org, on one host running Debian Jessie. The host runs a patched irc daemon, offering recent changes feeds for several wikis in separate IRC channels as the user rc-pmtpa. Example from the en.wikipedia channel:
16:45 @<rc-pmtpa> [[Wikipedia:Correct typos in one click/13]] M https://en.wikipedia.org/w/index.php?diff=927910088&oldid=927910078 * Uziel302 * (-299) .Goa in [[Shripad Hegde]] was dismissed 16:46 @<rc-pmtpa> [[Feria de Agosto]] M https://en.wikipedia.org/w/index.php?diff=927910091&oldid=927269885 * HaeB * (+1) Reverted edits by [[Special:Contribs/192.124.203.1|192.124.203.1]] ([[User talk:192.124.203.1|talk]]) to last version by Crimsonfox 16:46 @<rc-pmtpa> [[Calvin Henry Fix]] !N https://en.wikipedia.org/w/index.php?oldid=927910090&rcid=1208394836 * Aboudaqn * (+28) [[WP:AES|←]]Created page with '#REDIRECT to [[Calvin Fixx]]' 16:46 @<rc-pmtpa> [[User:What Looks Like Crazy on an Ordinary Day]] https://en.wikipedia.org/w/index.php?diff=927910089&oldid=927909390 * Claudiagclark * (+257) 16:46 @<rc-pmtpa> [[Special:Log/move]] move * Litlok * moved [[User talk:LiverpoolUniversityHospitals]] to [[User talk:SteveatLiverpoolUniversityHospitals]]: Automatically moved page while renaming the user "[[Special:CentralAuth/LiverpoolUniversityHospitals|LiverpoolUniversityHospitals]]" to "[[Special:CentralAuth/SteveatLiverpoolUniversityHospitals|SteveatLiverpoolUniversityHospitals]]" 16:46 @<rc-pmtpa> [[Club Puebla (women)]] https://en.wikipedia.org/w/index.php?diff=927910092&oldid=926264808 * 192.122.250.248 * (+27) /* Current squad */ 16:46 @<rc-pmtpa> [[Eastern Illinois Panthers football]] https://en.wikipedia.org/w/index.php?diff=927910093&oldid=926984512 * PWHIT66 * (+0) Updated information box
How it works in detail:
- every mediawiki appserver sends a pre-formatted string, representing a change like the above examples, via UDP to kraz.wikimedia.org port 9390.
- a python-based service, representing the pmtpa bot, reads the UDP message and posts it to the right IRC channel.
- The IRC server is contained in the package ircd-ratbox, that is a patched version that we maintain.
There are currently (Nov 2019) ~286 bots connected to irc.wikimedia.org. They were written by the community in various formats/languages/etc.., and currently we don't exactly know if all of them are maintained and by whom. Some bots currently do important functions, most notably counter-vandalism, and loosing them would be problematic (read https://wikitech.wikimedia.org/wiki/Irc.wikimedia.org).
Proposed solutions
Write a new daemon offering a IRC interface and gathering Recent Changes from Event Streams. Some ideas about how the daemon should look like in T232483#5536868: