CVNBot: Difference between revisions
Revision as of 20:31, 28 October 2010
SWMTBot is a C# bot developed by Tangotango and Az1568. It is designed for use in networked or multiwiki channels. Features include dynamic loading and unloading of wikis and channels, a central configuration file and database, global lists, auto-broadcast of global changes to all other SWMTBot instances, and detection of page blanking and replacement using automated MediaWiki summaries. Although the tresholds and events can be configured per-bot, per-channel event configuration is not possible.
Current approved bots running SWMTBot:
- CVNBot (2,3,4,5,6,7,8,9,10,11,13,14,15) (12 now obsolete, replaced by KrinkleBot7)
- SWBot (*,3,4)
- WikiaRC
- rcbot
- Cubbie
- wbbot
- KrinkleBot (2,3,4,5,6,7)
- SeahorseRC (backup only, approved)
Lists
All global lists are automatically synchronized across all SWMTBots; per-wiki lists are not. 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 lists | Per-wiki lists |
---|---|
|
|
Details for using lists can be found below
Commands
All global lists are automatically synchronized across all SWMTBots; per-wiki lists are not. 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).
Control Commands | ||
---|---|---|
Command | Description | Example |
quit | Quits the bot | SWMTBot quit |
restart | Restarts the bot | SWMTBot restart |
list | Returns a list of all currently monitored wikis | SWMTBot list |
load wiki.name [interwiki] | Loads a wiki for monitoring | SWMTBot load en.wikipedia en: SWMTBot load meta.wikimedia m: SWMTBot load sv.wikiquote q:sv: |
reload wiki.name | Downloads new messages from the wiki; use if any of the log entry messages in the MediaWiki: namespace on that wiki have changed | SWMTBot reload fr.wikipedia |
batchreload | Performs reload for all currently loaded wikis. Extremely resource-intensive and thoroughly not recommended | SWMTBot batchreload |
drop wiki.name | Stops monitoring a wiki | SWMTBot drop als.wikipedia |
purge wiki.name | Removes from the database all users and watchlisted items pertaining to a particular wiki | SWMTBot purge als.wikipedia |
msgs | Re-loads messages from the Console.msgs file; necessary only when the file has changed | SWMTBot msgs |
bleep wiki.name | Finds out which bot monitors a particular project. You can issue this command to any networked bot to receive the same results | SWMTBot bleep commons.wikimedia |
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 | SWMTBot count |
config | Defines current config values defined in SWMTBot.ini | SWMTBot config |
List commands | ||
Command | Description | Example |
bl add/del/show username [x=duration] [r=reason] | Adds, deletes, or shows an item on the global blacklist. Set x=0 to make indefinite | SWMTBot bl add Tangotango x=0 r=Bad vandal (Adds Tangotango to the global blacklist indefinitely) SWMTBot bl del Tangotango (Removes Tangotango from the global blacklist) |
gl del username | Deletes a user from the greylist. Use this if you want to whitelist a user, but they are on the greylist. Remove them from gl and add to wl. | SWMTBot gl del Mike.lifeguard (removes Mike.lifeguard from the greylist) |
wl add/del/show username [x=duration] [r=reason] | Adds, deletes, or shows an item on the whitelist. Set x=0 to make indefinite | (See above; wl has the same syntax as bl) |
cvp add/del/show article name [p=wiki.name] [x=duration] [r=reason] | Adds, deletes, or shows an article on the watchlist. Leave out p= to monitor articles with the same name on all wikis; set x=0 to make indefinite | SWMTBot cvp add United States p=en.wikipedia x=0 (Adds "United States" to the en.wikipedia watchlist) SWMTBot cvp add Main Page x=0 (Adds all pages named "Main Page" on all wikis to the watchlist) |
al add/del/show username p=wiki.name [x=duration] [r=reason] | Adds, deletes, or shows an item on the admin list on a particular wiki. Set x=0 to make indefinite | SWMTBot al add Tangotango p=ga.wikipedia x=0 (Adds Tangotango to the admin list on ga.wikipedia) |
bots add/del/show username p=wiki.name [x=duration] [r=reason] | Adds, deletes, or shows an item on the flagged-bot list on a particular wiki. Set x=0 to make indefinite | (See above; bots has the same syntax as al) |
bnu add/del/show regex [x=duration] [r=reason] | Adds, deletes, or shows an item on the global bad new username list. Set x=0 to make indefinite | SWMTBot bnu add Tangot.*?ngo x=128 r=vandal meme (Adds Tangot.*?ngo as a bad new username) |
bna add/del/show regex [x=duration] [r=reason] | Adds, deletes, or shows an item on the global bad new article title list. Set x=0 to make indefinite | SWMTBot bna add index\.php r=vandal meme (Matches "index.php" as a bad new page title) |
bes add/del/show regex [x=duration] [r=reason] | Adds, deletes, or shows an item on the global bad edit summary list. Set x=0 to make indefinite | SWMTBot bes add !{3,} r=Too many exclamation marks (Makes SWMTBot flag any edit summary with 3 or more exclamation marks) |
getadmins wiki.name | Downloads a list of admins from the specified project and automatically adds it to the SWMTBot database | SWMTBot config getadmins en.wikipedia |
getbots wiki.name | Downloads a list of flagged bots from the specified project and automatically adds it to the SWMTBot database | SWMTBot config getbots da.wiktionary |
batchgetusers | Performs getadmins and getbots for all currently loaded wikis | SWMTBot batchgetusers |
- regex : If you do not know what regex means, don't use commands that have this keyword in their instructions. It could potentially cause of a lot of problems in the network by using it wrong, because commands that use regex can sometimes trigger an automatic greylist causing false positives to be made and thus (for example) an edit of an interwiki bot could be matched and then flooding channels.
Comparison with pgkbot
SWMTBot is a port of pgkbot to C#, specially made to suit the needs of the Small Wiki Monitoring Team and other users who monitor a large number of feeds in one channel. Most commands have been kept identical to their pgkbot equivalents except where necessary; messages have also been kept as close to pgkbot's as possible.
Features new to SWMTBot | Features in pgkbot but not in SWMTBot |
---|---|
|
|
Installation
Stable release 1.19.0
- Download a copy of SWMTBot here
- Create a folder somewhere on your computer named BotNickname (ie. /Users/johndoe/MyRCbot)
- Copy all files from the zip in
/SWMTBot/bin/Release
to this new folder - Copy
Console.msgs
andsqlite3.dll
from the ZIP's root also to this new folder - Create a plain text file in the new folder called SWMTBot.ini and copy the contents of SWMTBot-sample.ini as a base
- Edit SWMTBot.ini making sure atleast "botnick" and "botpass" (NickServ login) are filled in properly
- Now start the bot by executing the command "mono SWMTBot.exe" in your Terminal when in the 'MyRCbot' folder.
- The bot will join the specified "feedchannel" on irc.freenode.org (by default: #cvn-sandbox connect ). Bot is ready for action.
Trunk 1.20beta
- SVN Checkout https://svn.toolserver.org/svnroot/p_swmtbot
- Create a folder somewhere on your computer named BotNickname (ie. /Users/johndoe/MyRCbot)
- Copy all files from the zip in
/SWMTBot/bin/Release
to this new folder - Copy
Console.msgs
,sqlite3.dll
,SWMTBot-sample.ini
andSWMTBot.exe.config
from the ZIP's root also to this new folder - Rename SWMTBot-sample.ini to SWMTBot.ini and edit it making sure atleast "botnick" and "botpass" (NickServ login) are filled in properly
- Now start the bot by executing the command "mono SWMTBot.exe" in your Terminal when in the 'MyRCbot' folder.
- The bot will join the specified "feedchannel" on irc.freenode.org (by default: #cvn-sandbox connect ). Bot is ready for action.
License
The SWMTBot software is licensed under the MIT License.