Small Wiki Monitoring Team/IRC
The Small Wiki Monitoring Team (SWMT) has an IRC channel at #cvn-sw on freenode, with SWMTBots reporting possible vandalism to various small wikis (see CVN). There is also #cvn-newpages where a bot relays new page creations on small wikis.
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 Countervandalism Network/Bots for more details.
Dellieplagiat is a multi-function bot for use on #cvn-sw. It has the following features:
- Ability to list a page on any wiki for deletion
The bot only reacts to commands from voiced users.
|!delete [[Page name with interwiki]] r=Reason (default: crap)||Schedules the specified page for deletion on Steward requests/Speedy deletions/Bot-reported||
<Reporter>: [[Page]] has been scheduled for termination
|!update||Updates the list immediately (happens automatically every five minutes)||Updated on-wiki list|
|!prune||Remove deleted pages from the list immediately (happens automatically every 20 minutes)||Pruned on-wiki list|
|!status||Lists time of last update, last prune, the current time, the number of pages on the on-wiki list and the numbers of pages in cache||Last update Mon 02:26:28 | Last prune Mon 14:27:24 | Now Mon 14:32:41 | 3 items on list | 0 new items queued|
|!quit||Quit the bot (only channel ops can do that)||(bot leaves)|
Does ISO 639 code translation on demand.
|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|
Does language code translation and handy links
|!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||-|
In #cvn-sw-spam and #wikimedia-external-links there are 'linkwatcher' bots. Bots in this channel are run by en:User:Beetstra. Bots have been developed by en:User:Shadow1 and en:User:Beetstra. Since Shadow1 has retired, the bots are maintained by Beetstra only.
The bot exists as a main program, with 10 sub-bots to the 730+ wikimedia channels on irc.wikimedia.org, and 3 reporters on freenode (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 (User talk:Beetstra). 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-spam and #cvn-wp-es).
The bots share the database, commanding one will result in being added to the others as well.
|LiWa3_1 user add Username||Adds a user to the whitelist (user is still reported, but no 'count' is given anymore)||EnLinkWatcher2 user wl add Beetstra|
|LiWa3_1 user del Username||Removes a user from the whitelist||user wl 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|
- 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).
The bot gives one line per added link in the format '(pagename) (diff) (username) (list of links)'. Every link in the list is followed by a set of 4 numbers, and may be followed with a warning if the link is on the white, red or blacklist. The four numbers:
- how many links did this user add.
- how many times was this link added.
- 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%).
- 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%).
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 in en:Wikipedia:Conflict of interest, 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.
- 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.
- 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 en:Wikipedia talk:WikiProject Spam (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.
More information is available on en:User:COIBot.
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.
|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|
|*||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|
|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 link 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|
|quickcreate domain||COIBot creates a XWiki report and it will be saved to User:COIBot/XWiki||quickcreate example.com|
|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
|lists the top 5 (or #) links (that are not whitelisted or on the do-not-count list) recorded by COIBot||top links|
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
|lists recent additions for a domain for past 2 (or #) days||recent 2 example.com|
|*||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 en:Wikipedia:WikiProject Spam/LinkReports and User:COIBot/LinkReports (bottom of list).
- 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.