Pgkbot
The #cvn-wp-en channel currently uses bots for monitoring. Pgkbot, is python script maintained by Pgk. Notice that there may be other backup bots around but they will be clones of of pgkbot This document attemps to document the available commands and operations of all of the bots (See also Pgkbot/Help )
Contents |
Operation
The bots maintain several lists for their operation (trusted users, targetted articles, vandal users, etc). The lists and their meaning are described below. The lists are modified by issuing mmands to the bot. The general syntax is
- BOT <command> <parameters>
where BOT is either computer or pgkbot. Addressing commands to computer will also update the other bots in the channel and is the prefered method.
As a side-effect, issuing a command as computer will modify lists on all of the active bots, whereas issuing as pgkbot will work only on pgkbot.
If one only wants the automated vandal reverting bot to check the edits, please address the commands to MartinBot
Examples
- computer cvp add Suffix x=24 r=Spammed will add the article suffix to watchlist on all bots for 24 hours, providing a rationale for doing so
In the following, BOT will be used to refer either, and the bot name will be used when referring to specific capabilities.
Quick overview
The following is a list of commands available on the bots
The following commands only apply to MartinBot which operates similarly to pgkbot, but with the following additional features. All are restricted to operators due to their sensitive nature.
| Command | Example | Description |
| revert | MartinBot revert | Enables MartinBot's automatic revert mode |
| no revert | MartinBot norevert | Disables MartinBot's automatic revert mode |
| angry | MartinBot angry | Enables MartinBot's angry mode which disables the bot's only reverts once rule |
| calm | MartinBot calm | Enables MartinBot's calm mode which only allows one bot revert (bot's 1RR mode) |
The lists maintained by the bots are:
User access
Not anyone can issue any bot command.
For pgkbot the commands have the following levels:
- Restricted commands. Since these deal with configuration or "sensitive" settings, they are restricted to channel operators:
- al, bot, cnvp, config, reader
- Operation commands These deal with everyday bot operation. Any voiced user can issue them:
- bl, bnu, cvi, cvp, wl, quiet, speak, wheels
- Information commands Any user can issue information commands:
- aintel, help, iintel, intel, nhelp, status
For MartinBot accepts the commands at the pgkbot levels plus the additional options
- Restricted commands. Since these deal with configuration or "sensitive" settings, they are restricted to channel operators:
- angry, calm, revert, norevert
Commands
Here's the detailed list of commands available.
When a command is issued to pgkbot optional parameters may also be used:
- x=n
- Makes a temporary modification. The parameter n is in hours.
- Example: pgkbot bl add 127.0.0.1 x=1 puts the 127.0.0.1 ip on blacklist for an hour.
- Makes a temporary modification. The parameter n is in hours.
- r=reason
- Provides a reason for the issued command (highly encouraged), it's displayed on relevant "intel" commands.
- Example: pgkbot bl add Drini r=Drini went crazy and it's vandalizing pages
- Provides a reason for the issued command (highly encouraged), it's displayed on relevant "intel" commands.
You can provide both options, but x= must precede r=
Recall that optional parameters (like x= and r= ) can be addressed to computer as only clones of pgkbot are in the channels
al
| Pgkbot |
Modifies the admin (sysop) list.
Usage:
- pgkbot al <add|del> <Username>
Examples:
- pgkbot al add Drini r=Promoted on September 14
- pgkbot al del Drini
Notes:
- This command is only implemented on pgkbot
- This is a restricted command, only channel ops may issue it.
bl
| Pgkbot |
Adds or removes users from the blacklist.
Usage:
- BOT bl <add|del> <IP/Username>
Examples:
- computer bl add 127.0.0.1
- pgkbot bl del Drini r=He is acting sane again
Lists
Other things
All of these are restricted to bot operators or channel operators
- config reader reset - resets the RCReader
- config getadmins - gets the adminlist
- config getbots - grabs a bots list
- config readcmds - reads command list, uncommon
- config readmsgs - reads messages list, uncommon
FAQ
Lists
- What is the greylist?
- It's a pgkbot special list. It was noticed that when admins reverted a vandal, they would reincide shortly afterwards. Any user reverted by an admin gets added to greylist for 10 minutes, and their edits are monitored during that time. This list is independent from the others, so even a whitelisted user can get greylisted for 10 minutes. Greylisted users can now be deleted with computer gl del username
- Why am I on blacklist if I've never vandalized?
- Most of the times an user/IP gets put on the blacklist because he got blocked. Rationale is that a large part of blocked users are vandals and they should be watched over when the block expires, so they are automatically added.
- However, that doesn't mean that all blacklisted or blocked users are vandals (even Jimbo has been blocked) so don't take it as a form of attack.
- The above statement is specially true with users editing without a wikiname. Keep in mind that many ISPs don't give static ips to their clients, so the warns or blocks for an IP may not refer to you but to someone else using that ip previously.
- You can query pgkbot about why an user was blacklisted with pgkbot intel user, and you can remove him from blacklist with pgkbot bl del user or computer bl del user
Commands
Various
- Another bot died, how can I make a bot report?
- There are 2 ways to achieve the goal, and you'll need a channel operator for that. In any case, Make sure pgkbot is talking by issuing pgkbot speak (any voiced user can do this). If another bot is in the channel, simply tell it to speak. If it is not configured correctly one will need to add the bot to the dest list.
- First approach: Routing new events to the channel
- 1. Get a channel operator to check the routing events list:
<drini> pgkbot dest list <pgkbot> Channel #wikipedia-en-vandalism2 reports event(s): wheeler bigremove move blockconflict grey bignew cmds -bot bigedit black wwuser watched tinynew block delete <pgkbot> Channel #vandalism-en-wp reports event(s): blockconflict cmdsq
- Notice that only the minimum events are sent to #cvn-wp-en, so the other events need to be rerouted.
- 2. Reroute the new events:
<drini> pgkbot dest add #vandalism-en-wp wheeler bigremove move blockconflict grey bignew cmds -bot bigedit black wwuser watched tinynew block delete <pgkbot> Event(s) wheeler bigremove move blockconflict grey bignew cmds -bot bigedit black wwuser watched tinynew block delete now reported on channel #cvn-wp-en
- Second approach: Swap the routed events: Alternatively, a channel operator may issue
<drini> pgkbot dest swap #vandalism-en-wp #wikipedia-en-vandalism2
- to exchange the routed events for the channels, with the side effect of pgkbot being very quiet on #wikipedia-en-vandalism2 (same command will return things to previous state).
- To set all use pgkbot dest set #cvn-wp-en !full