Small Wiki Monitoring Team/IRC

From Meta, a Wikimedia project coordination wiki

The Small Wiki Monitoring Team (SWMT) has an IRC channel at #cvn-swconnect on Libera Chat, with CVNBots reporting possible vandalism to various small wikis.

Bots[edit]

CVNBots[edit]

These are the CVNBot (formerly known as SWMTBot) instances, monitoring a lot of wikis each. They all understand the CVNBot commands. Issuing a global list-related command to one of these bots will automatically update the other bots (the bots communicate with each other through a hidden channel).

See Bots of Countervandalism Network for more details.

Eternal thanks to Az1568, Melos and rxy for having operated these bots in the past!

ISObot[edit]

Does ISO 639 code translation on demand.

Commands[edit]

Command Description Example
ISObot whatis code Returns the name, in English, of the language that corresponds to the ISO 639 code given (both 2-letter and 3-letter codes are accepted) ISObot whatis tlh

AvicBot[edit]

Does language code translation and handy links

Commands[edit]

Command Description Example Result
!commands Gives this list of commands !commands (this list)
!say Makes AvicBot say something !say Hello Hello!
!lang Returns the name, in English, of the language that corresponds to the language code given !lang sco? sco is Scots!
!link Returns a link using the avicbot.org short domain to a given page !link sco:Main_Page http://avicbot.org/sco:Main_Page
!guc Returns the Global User Contribs for a given user !guc AvicBot https://tools.wmflabs.org/guc/?user=AvicBot&blocks=true
!cauth Returns the CentralAuth Page for a given user !cauth AvicBot http://meta.wikimedia.org/wiki/Special:CentralAuth/AvicBot
!die Forces AvicBot to part the channel - Can be used by anyone !die AvicBot -

The LinkWatchers[edit]

In #cvn-sw-spamconnect and #wikimedia-external-linksconnect there are 'linkwatcher' bots. Bots in this channel are run by Beetstra. Bots have been developed by Shadow1 and Beetstra. Since Shadow1 has retired, the bots are maintained by Beetstra only.

The data is stored in a database. If you need specific info, ask Versageek or en:User:Beetstra.

The bot exists as a main program, with 10 sub-bots to the 730+ wikimedia channels on irc.wikimedia.org, and 3 reporters on Libera (LiWa3_1, LiWa3_2, and LiWa3_3). The many sub-bots ensure continuous operation (almost operating in real-time), there is too much to read for one reader-bots, and too much to report for one report-bot.

The bots read the diffs from in total 738 wikis on irc.wikimedia.org (see sitematrix, ignoring the specials). The diffs are parsed and external links that are added are reported by the bots. If you want the bot on a specific wiki (I need the IRC channel on irc.wikimedia.org), please contact me on my talkpage). If your wiki has an own channel where the bot could report link additions, or alerts, I can redirect specific messages to specific channels (for examples, see #wikipedia-de-spamconnect and #cvn-wp-esconnect).

Commands[edit]

The bots share the database, commanding one will result in being added to the others as well.

Command Description Example
LiWa3_1 user add Username Adds a user to the whitelist (user is still reported, but no 'count' is given anymore) user add Beetstra
LiWa3_1 user del Username Removes a user from the whitelist user del Beetstra
LiWa3_1 link wl add regex Adds a link to the whitelist link wl add \bexample\.com
LiWa3_1 link wl del regex Removes a link from the whitelist link wl del \bexample\.com
LiWa3_1 link rl add regex Adds a link to the redlist link rl add \bexample\.com
LiWa3_1 link rl del regex Removes a link from the redlist link rl del \bexample\.com
LiWa3_1 link nr add regex Adds link to noredir list so as to not further expand link nr add \bexample\.com
LiWa3_1 link nr del regex Removes link from noredir list link nr del \bexample\.com
LiWa3_1 link nr search regex Searches for link in noredir list link nr search \bexample\.com
!info statistics !info


  • Commands can be issued to one of the other LiWa3 bots as well (LiWa3_2, LiWa3_3, ...). Note that the bot answering may not be the one that is being commanded
  • Whitelist is for 'good' links. Please note that the link-additions by this user are still logged.
  • RedList for links which need attention
  • Blacklist for bad links (on #wikipedia-en-spam these are transferred to AntiSpamBot and reverted, except when the user is whitelisted).

LiWa3 output[edit]

The bot gives one line per added link in the format:

  • [[<wiki>:<pagename>]] <diff link> [[<wiki>:User:<user>]] <added link> (<link data>) <counts> (< for wikidata: English descriptor>)

The link may be followed by link concerns ('<link data>'), and will be followed by a set of 2 or 4 numbers ('<counts>'). On Wikidata, the English descriptor is appended.

The <link data> (which is not always present):

  • Whether the link is on a revert list ('BL'), red/monitor list ('RL') or automatic red list ('ARL', where LiWa3 detected that statistics earlier passed some addition threshold) or white list ('WL' - if showing whitelisted links is turned on)
  • STATUS ###: Page status (a.o. the well known '404')
  • REDIR <link>: The site is a redirect site. Redirect target may get a separate set of BL/RL/ARL/WL tags if the redirect target matches rules.
  • Whether the page has tracking data on them:
    • WB (Urchin account number issued by Google)
    • FS (stopForumSpam, an email spam tracking site; the reported percentage is how forumspam evaluates the domain).
    • CB (clickbank)
    • AS (AdSense)
    • PL (Plimus)

The four numbers in <counts>:

  1. how many links did this user add.
  2. how many times was this link added.
  3. how many times did this user add this link. Turns blue when that is higher than 5, turns red when higher than 25. The number may be followed by "!!" (in red), in that case more than 90% of this link was added by this user, "!" in red (more than 66%) or by "?" (more than 33%).
  4. to how many wikipedia did this user add this link. Turns blue when higher than 2, turns red when higher than 5. The number may be followed by "!!" (in red), in that case more than 90% of this link was added interwiki by this user, "!" in red (more than 66%) or by "?" (more than 33%).

Sometimes only two numbers are shown:

  1. how many links did this user add.
  2. how many times was this link added.

That means that either the number of links the user added is larger than the setting largenumberoflinkadditions, or that the number of times the domain was added is larger than the setting largenumberoflinks (see User:LiWa3/Settings). When either reaches that threshold further numerical statistics are generally useless, and are only a strain on the database.

Sometimes the second number is replaced with 'NC', which means that that domain is on the 'do not count list'. That list is used for domains that need to be monitored (including those that are revertlisted) but where the count does not yield any information (e.g. youtube.com, where millions of additions are recorded but where link additions are sometimes reason for concerns, see e.g. en:WP:YOUTUBE).

COIBot[edit]

In #cvn-sw-spamconnect, #cvn-swconnect and #wikimedia-external-linksconnect. Bots are developed and run by Beetstra.

COIBot ('Conflict Of Interest Bot') was originally developed to catch overlaps between usernames with either the page they edit, or with an external link they added. It now also does more sophisticated checks to catch conflicts of interest (as defined on the en-wikipedia, which discourages such edits strongly), and monitors the additions of external links as reported by the LinkWatchers (vide supra).

In short, COIBot reports when:

  • Username overlaps with the pagename the user just edited;
  • Username overlaps with the domain of the external link added;
  • IP of user is close to the IP of the computer the webserver for the domain of the external link is hosted on;
  • IP/IP-range/Username is blacklisted for a certain pagename;
  • IP/IP-range/Username is blacklisted for a certain domain;
  • The domain/IP of domain is on COIBot's monitorlist.

Further:

  • Users/IPs who get caught accidentally, or for who the conflict of interest has been discussed (and been resolved) can be whitelisted against a page or domain.
  • Users/IPs can be whitelisted completely, so none of their edits will be recorded.

Notes:

  • COIBot automatically puts links which get caught because of IP/Username overlap on its monitorlist. So every next addition will be recorded. This 'automonitoring' of the link can be disabled for certain links. After this it will still report the link when COIBot calculates overlap, but will not put the domain on the monitorlist afterwards.
  • COIBot automatically puts links that have been reported to English Wikipedia Spam Project (in the spamlink template), or been blacklisted on one of the local blacklists, or on the meta-blacklist, on its monitorlist. Hence, if a link gets blacklisted on e.g. the Spanish wikipedia, and someone then decides to start adding it to another wikipedia, COIBot will report the additions of that link.

You can read more on English Wikipedia bot user page.

Commands[edit]

Most commands on COIBot are 'cloak-controlled'. If you have a cloak, and that cloak is on COIBot's trusted list, you can perform the commands below that are tagged with an asterisk. Everyone can use the other commands. To be added to the trusted-list of COIBot, ask Dirk Beetstra.

CP Command Description Example
Help and test commands
help Shows your rights, and which commands are available (quite old) help
help command shows some more help specifically to the command you want to perform (quite old) help wl
test string1 string2 show overlap between the two strings using COIBots overlap calculation test Beetstra example.com
Monitoring commands
* monitor domain domain reason Adds the domain to the monitorlist, matched against the domain of an added external link, and edit is reported when matched (preferred command) monitor domain example.com
* ml del regex Deletes the regex from the monitorlist ml del \bexample\.com
ml search regex Searches if the regex is on the monitorlist ml search \bexample\.com
Blacklist commands — for linkwatcher
* bl add username string connects the text string to the username, COIBot reports when overlap string <-> page edited or string <-> domain is detected bl add Beetstra example
* bl del username string Deletes the connection from the blacklist bl del Beetstra example
bl search username string searches if username is connected to string on the blacklist bl search beetstra example
bl search user username searches if username is connected to any text on the blacklist (if so, shows which strings) bl search user beetstra
bl search string string searches if string is connected to any user on the blacklist (if so, shows users) bl search string example
Whitelist commands — for linkwatcher
* wl add username string connects the text string to the username, COIBot ignores when string is pagename edited or string is domain added wl add Beetstra example
* wl del username string Deletes the connection from the whitelist wl del Beetstra example
wl search username string searches if username is connected to string on the whitelist wl search beetstra example
wl search user username searches if username is connected to any text on the whitelist (if so, shows which strings) wl search user beetstra
wl search string string searches if string is connected to any user on the whitelist (if so, shows users) wl search string example
* wl add username * globally whitelists the user, all edits by user will be ignored wl add Beetstra *
* wl add * domain disable automonitoring for domain. COIBot will report conflicts of interest regarding the domain, but the link will not automatically be added to its monitorlist wl add * example.com
Tool commands — consists of commands to access the database created by the LinkWatchers, and other quick-commands giving information on external links and users. The list of commands gets expanded on a regular basis, entering COIBot help in a channel where COIBot is active may give a more up-to-date list.
Report generation commands — reported on wiki
quickcreate domain COIBot creates a XWiki report and it will be saved to User:COIBot/XWiki quickcreate example.com
repoke synonym
repoke https://zh.wikipedia.org/w/index.php?title=<title>
COIBot regenerates reports on the poked page [synonym meta: metapokemetabl; enwp: wtwpspamenpokeenblenwl.†] repoke metapoke
repoke https://zh.wikipedia.org/w/index.php?title=MediaWiki_talk:Spam-blacklist
report link domain COIBot creates a report of all additions of domain in its database. Reports are saved to en:Wikipedia:WikiProject Spam/LinkReports and User:COIBot/LinkReports (bottom of list) report link example.com
report ip ip COIBot creates a report of all additions of domains on ip in its database. Reports are saved to en:Wikipedia:WikiProject Spam/LinkReports and User:COIBot/LinkReports (bottom of list) report ip 127.0.0.1
report xwiki domain COIBot creates a report of all additions of domain in its database. Reports are only saved to User:COIBot/LinkReports (bottom of list). This is faster than the 'report link' report xwiki example.com
report local domain COIBot creates a report for local link additions of domain in its database. Reports are saved to User:COIBot/Local. report local example.com
report user username COIBot creates a report of all edits performed by user username in its database. Reports are saved to en:Wikipedia:WikiProject Spam/UserReports and User:COIBot/UserReports (bottom of list) report user Beetstra
report page pagename COIBot creates a report of all edits performed on page pagename in its database. Reports are saved to en:Wikipedia:WikiProject Spam/PageReports and User:COIBot/PageReports (bottom of list) report user Beetstra
Query commands — data returned in IRC
resolve domain show the IP of the server the domain is hosted on resolve example.com
whoadded domain Gives the top ten of people who added domain whoadded example.com
whoadded domain id_string Gives the top ten of people who added the domain with the id_string in the full url whoadded youtube.com qxdjdhd563
ipadded domain Gives the top ten of IPs that added domain ipadded example.com
whatadded username Gives the top ten of domains added by user whatadded Beetstra
whenadded link domain Gives the timeframe and top ten of dates when domain was added whenadded link example.com
whenadded user username Gives the timeframe and top ten of dates when user was adding links whenadded user Beetstra
whereadded link domain Gives the top ten of wikis where domain was added whereadded link example.com
whereadded user username Gives the top ten of wikis where user was adding links whereadded user Beetstra
domainsadded domain Gives the top 10 of domains on the server of domain domainsadded example.com
whatserveradded username Gives the top 10 of servers the user added whatserveradded Beetstra
count link domain Gives the number of times the domain was added count link example.com
count user username Gives the number of times user added a link count user Beetstra
research link domain Gives statistics etc. for domain research link example.com
research user username Gives statistics etc. for user (not fully implemented yet) research user Beetstra
convert domain converts the domain/link into a regex convert example.com
top links
top # links
lists the top 5 (or #) links (that are not whitelisted or on the do-not-count list) recorded by COIBot top links
top users
top # users
lists the top 5 (or #) users (who are not whitelisted) recorded by COIBot top links
adsense domain queries AdSense, Web bug, Plimus and Clickbank databases adsense example.com
added adsense adsense_id
added clickbank clickbank_id
queries respective database to find all domains with relevant id added adsense (string)
added clickbank (string)
recent domain
recent # domain
lists recent additions for a domain for past 2 (or #) days recent 2 example.com
Push commands
* do not count domain stops COIBot from counting the number of links to a domain do not count example.com
* clear domain removes domain from redlist and poke, and adds domain to whitelist clear example.com
* read blacklist domain refreshes the blacklist from the specified wiki, useful when fixed and immediate update required read blacklist ms.wikipedia.org
* read whitelist domain refreshes the whitelist from the specified wiki read whitelist ms.wikipedia.org
* read revertlist en.wikipedia.org refreshes the revertlist from en.wikipedia (specific for this wiki only) read revertlist en.wikipedia.org
  • Some commands can be given without directing the command at COIBot (i.e. 'research link example.com' in stead of 'COIBot research link example.com').
  • When a link gets added which is on the monitorlist, gets matched with the username/IP that is adding the link, COIBot also creates a linkreport for that link in in English Wikipedia and in its Meta subpage (bottom of list).

† Further synonyms can be added by adapting the relevant parameters (numsynonyms, fromsynonym#, and tosynonym#) in User:COIBot/Settings.

wm-bot[edit]

Main article: Wm-bot

wm-bot is an IRC bot which has several commands. The ones everyone can use in #cvn-sw are listed in @info, and include !luxo and !ca. The bot also supports @link [[zh:b:foo]] linking.