Skip to content

Documentation

CosmicAlpha edited this page Feb 25, 2023 · 6 revisions

CVTBot is an IRC bot written in C# designed for use as a wiki feed CVT bot. Features include dynamic loading and unloading of wikis and channels, a central configuration file and database, global lists, and detection of page blanking and replacement using automated MediaWiki summaries.

It is a modified version of CVNBot, modified to support Miraheze and other wiki farms formatted like the same feed Miraheze uses, and to provide more configuration, primarily for usage by a global IRC feed channel, rather than per-wiki feeds the original bot supported.

Messages

  • Copyvio?: "Copyvio?" is given for when a non-Admin user or IP creates a new large page.
  • Possible gibberish?: "Possible gibberish?" is given for when a non-Admin user or IP makes a large edit to an existing page.

Lists

All global lists are automatically synchronised across the bots in the network (through the broadcast channel). Local lists are stored in the local database only. There is a global article watchlist for all wikis, and one for each one; you can add/delete/show items on the global list by leaving out the "p=" parameter (see the command lists below for more information).

Global

  • Bad new usernames (BNU)
  • Bad new article titles (BNA)
  • Bad edit summaries (BES)
  • User trustlist (TL)
  • User blocklist (BL)
  • User greylist (GL)
  • Global article watchlist (CVP)

Local

  • Lists of admins (AL)
  • Lists of bots (BOTS)
  • Article watchlists (CVP)

Commands

Only voiced users (aka +) can use these commands, with the exception of control commands which are restricted to operators only (aka @).

Info commands

Command Description
status When the last message was received from the source.
SampleBot status
config
settings
version
Version of the bot and the currently loaded configuration (2 lines).
SampleBot config
bleep wikiname Finds out which bot monitors a particular project. You can issue this command to any networked bot to receive the same results.
SampleBot bleep metawiki
count Finds out how many wikis each bot monitors, and each bot's version. You can issue this command to any networked bot to receive the same results.
SampleBot count
list Returns a list of all currently monitored wikis.
SampleBot list
help Link to this documentation page.
SampleBot help

List commands

Command Description
bl action user [x=duration] [r=reason] Add (add), delete (del), or show (show) an item on the global blocklist.
SampleBot bl add 80.10.20.123
SampleBot bl del MrVandal
SampleBot bl add MrVandal r=Vandal on metawiki
gl del user Delete an item from the (global) greylist.
SampleBot gl del MrVandal
tl action user [x=duration] [r=reason] Add, delete, or show an item on the global trustlist.
Same as bl
al action user p=wikiname [x=duration] [r=reason] Add, delete, or show an item on the admin list for a particular wiki.
SampleBot al add MrGood p=metawiki
bots action user p=wikiname [x=duration] [r=reason] Add, delete, or show an item on the bot list for a particular wiki.
Same as al
cvp action page [p=wikiname] [x=duration] [r=reason] Add, delete, or check a page on the watchlist. Use without p= for the global watchlist over all wikis. The default duration is x=0, for indefinite.
SampleBot cvp add Main Page
SampleBot cvp add Main Page x=24
SampleBot cvp add Main Page p=metawiki
SampleBot cvp add Main Page p=metawiki x=24
SampleBot cvp show Main Page
SampleBot cvp show Main Page p=metawiki
SampleBot cvp del Main Page
SampleBot cvp del Main Page p=metawiki
bnu action pattern [x=duration] [r=reason] Add, delete, or check a "Bad New Username" pattern (regex). These are always global. The default duration is x=0, for indefinite.
SampleBot bnu add Sh.t r=Watch account creation like Shat, or Shot.
SampleBot bnu add Sh.?t r=Watch account creation like Sht, Shat, or Shot.
SampleBot bnu add Sh.*t r=Watch account creation like Sht, Shalalit, or Shower Kit.
SampleBot bnu show Sh.it
SampleBot bnu del Sh.it
bna action pattern [x=duration] [r=reason] Add, delete, or check a "Bad New Article" pattern (regex). These are always global. The default duration is x=0, for indefinite.
SampleBot bna add Sh.t r=Watch page creation like Shat, or Shot.
SampleBot bna add Sh.?t r=Watch page creation like Sht, Shat, or Shot.
SampleBot bna add Sh.*t r=Watch page creation like Sht, Shalalit, or Shower Kit.
SampleBot bna show Sh.it
SampleBot bna del Sh.it
bes action pattern [x=duration] [r=reason] Add, delete, or check a "Bad Edit Summary" pattern (regex). These are always global. The default duration is x=0, for indefinite.
SampleBot bes add Sh.t r=Watch edits with summary like Shat, or Shot.
SampleBot bes add Sh.?t r=Watch edits with summary like Sht, Shat, or Shot.
SampleBot bes add Sh.*t r=Watch edits with summary like Sht, Shalalit, or Shower Kit.
SampleBot bes show Sh.it
SampleBot bes del Sh.it

Duration

The duration is measured in number of hours. x=24 will make the entry active for 24 hours (1 day). In all list commands a duration value of 0 is used to indicate that the entry should be active indefinitely (until it is changed or removed). Otherwise the entry will expire (removed from the database) after the set duration.

The default duration is 0 for all lists, except for blocklist where the entries expire after a duration of 744 hours by default (31 days).

Control commands

Command Description
quit Quits the bot.
SampleBot quit
restart Restarts the bot.
SampleBot restart
drop wikiname Stop monitoring a wiki.
SampleBot drop metawiki
purge wikiname Removes all user list information in the database pertaining to this wiki.
SampleBot purge metawiki
msgs Rebuilds message cache from the Console.msgs file. Only necessary when the file has changed. This automatically hapends on restart, so only use it if the messages file has changed while the bot is running without, and want the bot to start using the new version without restarting it.
SampleBot msgs
reload wikiname Rebuilds wiki cache from the wiki over HTTP. Use this if any of the log entry message templates have changed (either by MediaWiki software update or due to a local override by the wiki administrators).
SampleBot reload metawiki
batchreload
SampleBot batchreload
getadmins wikiname
SampleBot getadmins metawiki
getbots wikiname
SampleBot getbots metawiki
batchgetusers
SampleBot batchgetusers

Configuration

Installation

See docs/install: Install and Upgrade.

Clone this wiki locally