MediaWiki 管理员手册/反破坏 IRC 机器人
此页面记录了两个被反破坏频道广泛使用的机器人。
Computer 是最初的近期更改过滤机器人,作为 mIRC 脚本 编写的,由 White Cat 开发。它在 2005 年被 pgkbot 取代。
pgkbot 是一个由 pgk 开发的 python 机器人。它被设计为在一个频道中使用,并包含许多定制选项,例如插件支持、复杂的事件路由器、个人列表、个人用户姓名和文章标题监视列表、页面移动破坏的检测以及 IP 地址类别(如开放代理)。但是,配置很困难,而且它比较资源密集。
SWBot 是一个由 Tangotango 和 Az1568 开发的 C# 机器人。它被设计为在联网或多维基频道中使用。功能包括动态加载和卸载维基和频道、中央配置文件和数据库、全局列表、将全局更改自动广播到所有其他 SWBot 实例以及使用自动 MediaWiki 摘要检测页面清空和替换。但是,无法进行每频道事件配置。
CVNbot 是一个由 Pathoschild 用 Perl 编写的统一集中式机器人。它目前正在开发中,没有积极使用。该机器人旨在促进频道网络管理并提供编辑监控,而无需多余的功能。
- 常见机器人:ErosionBot-1、MiszaBot、TheDJBot、ClueBot(RC)。
通过在行的开头添加其名称或“computer”来向机器人发出命令。如果添加名称,该命令将仅被名为该名称的机器人识别。如果添加“computer”,则在频道中存在的所有机器人都会识别该命令。例如,如果你想将用户添加到 pgkbot 的黑名单中,你应该说 pgkbot bl add username。或者,你可以将用户添加到频道中每个机器人的黑名单中。建议这样做,因为它会同步备份机器人。为此,你应该说 computer bl add username。
用户可以发出哪些命令取决于他们所在的列表。
| 等级 | 用户 | 命令列表 | 
|---|---|---|
| 信息 | 任何用户 | 情报命令;help。 | 
| 操作 | 有声用户 | 监视列表;情报;help、status、quiet、speak。 | 
| 受限 | 频道操作员 | 所有命令。 | 
机器人维护着几个用户列表,这些列表可以被报告、格式化和以不同于彼此的方式处理。
- Admins: 这是一个项目管理员列表。相关命令是 computer al add|del username。
- Whitelist: 这是一个可信用户列表。相关命令是 computer wl add|del username。
- Greylist: 这是一个临时黑名单,机器人会自动用最近被还原的用户或与 bnu 列表表达式匹配的用户来填充它。条目可以从列表中删除,但不能手动添加。
- Blacklist: 这是一个可疑用户列表。黑名单用户的全部编辑都会被报告。相关命令是 computer bl add|del username。
- Bots: 这是一个项目机器人列表。相关命令是 computer bot add|del user。
此表是对命令的简要概述。有关更多帮助,请将以下命令发送到 IRC 上的 pgkbot:pgkbot help <command>。有两种可选标志可用于大多数命令。这些标志可以通过将它们追加到命令末尾来使用(如果同时使用,则必须在理由之前声明过期)。
- "r=value" 提供了一个理由。这对其他用户很有用,他们可能不知道为什么没有理由就将某些内容添加到列表中。
- "x=value" 提供以小时为单位的过期时间。在指定的小时数后,命令将自动撤销。
请注意,表格中使用了符号“[|]”;这些符号不应与机器人一起使用(例如,使用“pgk add blah”,而不是“pgk [add] blah”)。多个可能的动作表示为 [选项 1|选项 2];一次只能使用一个。值被指定为 <value>;所有字符串都接受 正则表达式。
| 命令 | 用法 | 描述 | 
|---|---|---|
| aclo | computer aclo [add|del] IRC_name | 添加或删除可以发出受限机器人命令的用户。 | 
| 配置 (设置) | computer config <option> <newvalue> | 修改配置值。请参阅以下深入文档。 | 
| 配置 (列表) | computer config list | 列出当前设置 | 
| 配置 (获取) | computer config [getadmins|getbots] | 直接从正在监控的维基中检索管理员或机器人的列表 | 
| 配置 (读取) | computer config [readmsgs|readcmds] | 重新读取一些配置文件。 | 
| 目标 (设置) | computer dest [add|del] #<频道名称> grey | 配置要向频道报告的事件。 | 
| 目标 (交换) | computer dest swap #<频道名称> #<第二个频道名称> | 在两个频道之间切换报告的事件,这对于更改为预设设置很有用。 | 
| 阅读器 | computer reader reset | 重置与最近更改频道的连接(如果机器人停止报告)。 | 
| 命令 | 用法 | 描述 | 
|---|---|---|
| 帮助 | computer help <command> | 提供有关命令的详细帮助。如果没有指定命令,它将提供指向此页面的链接。 | 
| 状态 | computer status | 提供有关机器人的基本状态信息,例如它是否正在报告并连接到 RC 馈送。 | 
| 统计数据 | computer stats | 各种频道统计信息。 | 
| 安静 | computer quiet | 停止向频道报告事件。 | 
| 说话 | computer speak | 向频道报告事件。 | 
| acl | computer acl [add|del|show] <IRC_name> | 受信任的 IRC 用户列表。这些用户可以向机器人发出操作命令。 | 
| 命令 | 用法 | 描述 | 
|---|---|---|
| bl | computer bl [add|del|show] <IP 或用户名> | 不受信任或破坏用户列表。 | 
| wl | computer wl [add|del|show] <用户名> | 受信任的用户列表。 | 
| gl | computer gl [del|show] <用户名> | 可能不受信任或破坏用户的列表。 | 
| al | computer al [add|del|show] <用户名> | 管理员列表。 | 
| bot | computer bot [add|del|show] <用户名> | 机器人列表。 | 
| bnu | computer bnu [add|del|show] <字符串> | 报告包含该字符串的所有新用户名。 | 
| bna | computer bna [add|del|show] <字符串> | 报告包含该字符串的所有新建条目。 | 
| cvp | computer cvp [add|del|show] <字符串> | 报告对给定条目的所有编辑。 | 
| cnvp | computer cnvp [add|del|show] <条目名称> | 要忽略的条目列表。 | 
| cvi | computer cvi [add|del|show] <图片名称>.<扩展名> | 报告对特定图片名称的所有上传。 | 
| wheels | computer wheels [add|del|show] <字符串> | 报告重命名为标题包含该字符串的页面。 | 
| 命令 | 用法 | 描述 | 
|---|---|---|
| intel | computer intel <IP 或用户名> | 查询有关 IP 或用户名的信息。 | 
| aintel | computer aintel <条目名称> | 查询有关条目的信息。 | 
| iintel | computer iintel <图片名称>.<扩展名> | 查询有关图片的信息。 | 
这些设置会影响机器人过滤原始最近更改以生成报告事件的方式。它们可以通过命令 computer config list 查看,并通过命令 computer config <option> <new value> 修改。
| 选项 | 描述 | 
|---|---|
| editbig | 可能的胡言乱语(大量添加内容) | 
| editblank | 可能的清空(大量删除内容) | 
| newbig | 可能的版权侵权(新建条目大小很大) | 
| newsmall | 可能的破坏或存根(新建条目大小很小) | 
| 选项 | 描述 | 
|---|---|
| blockconflict | 要报告的单个用户的同时封禁次数。 | 
| glonrollback | 如果管理员回滚了用户的编辑,则将用户添加到灰名单的分钟数。 | 
| flagnewuser | 将新用户添加到灰名单的小时数。 | 
| glonbnu | 将与 bnu 列表上的字符串匹配的新用户添加到灰名单的分钟数。 | 
| 选项 | 描述 | 
|---|---|
| pseudonym | 机器人除了其名称之外,还应该响应的另一个名称。这在反破坏网络频道中应为“computer”。 | 
| startupquiet | 启动时不要报告事件(切换,“yes”或“no”) | 
| bnubnasame | 同步 不良新用户名 和 不良新建条目名称 列表。 | 
这些选项会切换向频道报告哪些事件。它们可以通过命令 computer dest list 和 computer dest [add|del] #<频道名称> <事件> 访问。事件列在下面。每个事件只会向频道报告一次,无论是否符合这些类别中的多个类别。
以下表格中的“操作”是指对数据库的所有可见更改,包括编辑、页面移动和删除。
| 事件 | 描述 | 
|---|---|
| -admin | 不要报告管理员的操作。 | 
| -white | 不要报告白名单用户的操作。 | 
| -bot | 不要报告机器人的操作。 | 
| black | 报告黑名单用户的全部操作。 | 
| grey | 报告灰名单用户的全部操作。 | 
| newuser | 报告所有新用户的创建。 | 
| ip | 报告匿名用户的全部编辑。 | 
| iptmp | 报告未登录用户对模板的所有编辑 | 
| ipcat | 报告未登录用户对分类的所有编辑 | 
| 事件 | 描述 | 
|---|---|
| wwuser | 报告与 **bnu** 列表中的条目匹配的新用户名。 | 
| wheeler | 报告页面移动到与 **wheel** 列表中的条目匹配的标题。 | 
| bna | 报告与 **bna** 列表中的条目匹配的文章创建。 | 
| cvp | 报告对 **cvp** 列表中的页面进行的编辑。 | 
| cvi | 报告对 **cvi** 列表中的图像进行的上传。 | 
| 事件 | 描述 | 
|---|---|
| block | 报告封禁。 | 
| unblock | 报告解除封禁。 | 
| delete | 报告页面删除。 | 
| move | 报告页面移动。 | 
| protect | 报告非用户空间页面保护/取消保护。 | 
| upload | 报告文件上传。 | 
| 事件 | 描述 | 
|---|---|
| bigremove | 报告可能的清空(删除超过配置 **bigremove** 的内容)。 | 
| bigedit | 报告可能的乱码(添加超过配置 **bigedit** 的内容)。 | 
| bignew | 报告可能的版权侵犯(创建大小超过配置 **bignew** 的页面)。 | 
| tinynew | 报告可能的无意义内容(创建大小小于配置 **tinynew** 的页面)。 | 
| 事件 | 描述 | 
|---|---|
| cmdsq | 监听此频道中的命令,但除非通过昵称而不是“computer”进行寻址,否则不会响应。 | 
| cmds | 监听此频道中的命令,并做出响应。 | 
- **Python:** 机器人需要 Python 环境才能运行,可以在 python.org 下载页面 免费获取。建议您为所有用户安装到C:\Python并启用所有选项。
- **Twisted:** 还需要 Twisted Python 库,可以在 官方网站 获取。
- **注意** - Pgkbot 只能与 Python 2.4 或 2.5 版本一起使用,不能与旧版本一起使用。
- 从 pathos.ca/tools/pgkbot 下载 pgkbot 的最新公开版本 (1.7)。
- 将其解压缩到C:\pgkbot.
在使用之前,需要编辑几个文本文件。
| C:\pgkbot\Config\IRCConsole.conf | ||
|---|---|---|
| 字段 | 值 | 说明 | 
| server | irc.freenode.net | 这是机器人将连接到的 IRC 服务器。 | 
| port | 6667 | 要连接到的服务器端口;此值应该没问题。 | 
| nick | botnick | 将其更改为您要使用的机器人的昵称。**不要**使用“pgkbot”或“computer”。 | 
| password | password | 标识时要使用的密码。如果未使用 Nickserv,请注释掉此行。 | 
| owner | yournick | 更改为您的昵称。这使您能够完全访问界面。 | 
| C:\pgkbot\Config\RCReader.conf | ||
|---|---|---|
| 字段 | 值 | 说明 | 
| server | irc.wikimedia.org | 这是机器人将连接到的 IRC 服务器,用于获取 RC 馈送。 | 
| port | 6667 | 要连接到的服务器端口;此值应该没问题。 | 
| nick | yournick | 更改为您的昵称。这使您能够完全访问界面。 | 
| C:\pgkbot\Config\en\StaticConfig | ||
|---|---|---|
| 字段 | 值 | 说明 | 
| controlchannel | #pgktesting | 机器人将报告到的频道。 | 
| rcsourcechannel | #en.wikipedia | 包含原始 RC 馈送的频道(参见 IRC channels)。 | 
- 打开一个 DOS 提示符。
- 导航到 pgkbot 安装所在的目录。
- 输入 **c:\python24\python.exe CVUBot.py en**。
- pgkbot 连接后将保持静默。请务必使其说话并路由一些事件(参见上文)。
- 常见机器人:SWBot*(SWBot2 除外)、SWMTBot*、TheDJBot(3-5)。
SWMTBot 是 pgkbot 移植到 C# 的版本,专门为满足 小型维基监控团队 和其他在单个频道中监控大量馈送的用户的需求而设计。大多数命令都保持与 pgkbot 等效命令相同,除非有必要;消息也尽可能保持与 pgkbot 相似。
| SWMTBot 的新功能 | pgkbot 中存在但 SWMTBot 中不存在的功能 | 
|---|---|
| 
 | 
 | 
所有 **全局** 列表都会自动在所有 SWMTBot 之间同步;**每个维基** 列表则不会同步。所有维基都使用一个全局文章观察列表,每个维基也使用一个单独的列表;您可以通过省略“p=”参数(请参见下面的命令列表以了解更多信息)来添加/删除/显示全局列表中的条目。
| 全局列表 | 每个维基列表 | 
|---|---|
| 
 | 
 | 
| 全局命令 | ||
|---|---|---|
| 命令 | 描述 | 示例 | 
| quit | 退出机器人 | SWMTBot quit | 
| restart | 重启机器人 | SWMTBot restart | 
| list | 返回所有当前监控的维基的列表 | SWMTBot list | 
| **load** wiki.name [interwiki] | 加载一个维基以进行监控 | SWMTBot load en.wikipedia en SWMTBot load meta.wikimedia | 
| **reload** wiki.name | 从维基下载新消息;如果该维基上 MediaWiki: 命名空间中的任何日志条目消息已更改,请使用此命令 | SWMTBot reload fr.wikipedia | 
| batchreload | 对所有当前加载的维基执行 **reload** 操作。极其占用资源,不建议使用 | SWMTBot batchreload | 
| **drop** wiki.name | 停止监控一个维基 | SWMTBot drop als.wikipedia | 
| **purge** wiki.name | 从数据库中删除与特定维基相关的用户和观察列表项目 | SWMTBot purge als.wikipedia | 
| msgs | 从 Console.msgs 文件重新加载消息;仅在文件已更改时才需要 | SWMTBot msgs | 
| **bleep** wiki.name | 查找监控特定项目的机器人。您可以向任何联网机器人发出此命令以接收相同的结果 | SWMTBot bleep commons.wikimedia | 
| count | 查询每个机器人监控的维基数量和每个机器人的版本。您可以向任何联网机器人发出此命令以获得相同的结果 | SWMTBot count | 
| 列出命令 | ||
| 命令 | 描述 | 示例 | 
| bl 添加/删除/显示 用户名 [x=持续时间] [r=原因] | 在全局黑名单中添加、删除或显示项目。将 x=0 设置为无限期 | SWMTBot bl add Tangotango x=0 r=Bad vandal (将 Tangotango 无限期添加到全局黑名单) SWMTBot bl del Tangotango (从全局黑名单中删除 Tangotango) | 
| gl 删除 用户名 | 从灰名单中删除用户。如果您想将用户列入白名单,但他们已在灰名单中,请使用此方法。将他们从 gl 中删除并添加到 wl 中。 | SWMTBot gl del Mike.lifeguard (从灰名单中删除 Mike.lifeguard) | 
| wl 添加/删除/显示 用户名 [x=持续时间] [r=原因] | 在白名单中添加、删除或显示项目。将 x=0 设置为无限期 | (见上文;wl 的语法与 bl 相同) | 
| cvp 添加/删除/显示 文章名称 [p=wiki.name] [x=持续时间] [r=原因] | 在观察列表中添加、删除或显示文章。省略 p= 以监控所有维基中具有相同名称的文章;将 x=0 设置为无限期 | SWMTBot cvp add United States p=en.wikipedia x=0 (将“美国”添加到 en.wikipedia 观察列表) SWMTBot cvp add Main Page x=0 (将所有维基中名为“主页”的页面添加到观察列表) | 
| al 添加/删除/显示 用户名 p=wiki.name [x=持续时间] [r=原因] | 在特定维基的管理员列表中添加、删除或显示项目。将 x=0 设置为无限期 | SWMTBot al add Tangotango p=ga.wikipedia (将 Tangotango 添加到 ga.wikipedia 的管理员列表) | 
| bots 添加/删除/显示 用户名 p=wiki.name [x=持续时间] [r=原因] | 在特定维基的标记机器人列表中添加、删除或显示项目。将 x=0 设置为无限期 | (见上文;bots 的语法与 al 相同) | 
| bnu 添加/删除/显示 正则表达式 [x=持续时间] [r=原因] | 在全局错误的新用户名列表中添加、删除或显示项目。将 x=0 设置为无限期 | SWMTBot bnu add Tangot.*?ngo x=128 r=vandal meme (将 Tangot.*?ngo 添加为错误的新用户名) | 
| bna 添加/删除/显示 正则表达式 [x=持续时间] [r=原因] | 在全局错误的新文章标题列表中添加、删除或显示项目。将 x=0 设置为无限期 | SWMTBot bna add index\.php r=vandal meme (将“index.php”匹配为错误的新页面标题) | 
| bes 添加/删除/显示 正则表达式 [x=持续时间] [r=原因] | 在全局错误的编辑摘要列表中添加、删除或显示项目。将 x=0 设置为无限期 | SWMTBot bes add !{3,} r=Too many exclamation marks (使 SWMTBot 标记任何具有 3 个或更多感叹号的编辑摘要) | 
| config getadmins wiki.name | 从指定的项目下载管理员列表并自动将其添加到 SWMTBot 数据库 | SWMTBot config getadmins en.wikipedia | 
| config getbots wiki.name | 从指定的项目下载标记的机器人列表并自动将其添加到 SWMTBot 数据库 | SWMTBot config getbots da.wiktionary | 
| batchgetusers | 对所有当前加载的维基执行 getadmins 和 getbots | SWMTBot batchgetusers | 
安装
[edit | edit source]SWMTBot 经过测试并积极开发,可在 Mac OS X、Linux (Debian) 和 Windows 上运行。该软件在 MIT 许可证 下获得许可。
CVNbot
[edit | edit source]参见 m:CVN/CVNbot.
另请参见
[edit | edit source]支持
[edit | edit source]- #countervandalism 用于 反破坏网络运营的频道中的 机器人
- pgkbot- pgk— 用于评论、建议和解决机器人脚本故障。
 

