维基百科:机器人

正在和机器人握手的人类
现实中的机器人

维基百科中的机器人是指主要用于协助编者执行大量自动化、高速或机械式、繁琐的编辑工作的电脑程序或脚本及其所登录的帐户,负责维护中文维基上7,893,187个页面。获得机器人权限的账户被称为机器人账户。从技术角度讲,一个自动化程序可以登录多个账户操作,包括机器人账户及普通账户,一个账户也可以被多个不同的程序登录(即使某个自动化程序的运行没有受到社区的批准)。

如果机器人的编辑会影响到他人,它们会在该用户的讨论页留言。利用{{bots}}可以阻止部分机器人留言。目前共有29只机器人拥有机器人权限。获得机器人权限的帐户所作的修改在最近更改中默认隐藏,其他用户默认不会看到。如果您想看到机器人所作的修改,可以切换或使用此链接来查看。机器人用户组的权限可以在Special:群组权限查看。除此之外,亦有大量工具可用于半自动地编辑大量页面。

历史

机器人曾被用来于短时间内创建大量条目[1]。这为社群的后续处理带来不少问题,最终催生出机器人方针,及诸如对全自动大量创建条目的限制

机器人方针

机器人方针规定机器人必须有益而无害、获得批准、使用独立账号、及谨慎地操作下才可使用。

机器人审核小组

机器人审核小组(简称BAG)负责代表中文维基社群监督和审议本地一切机器人运作事务,确保它们符合有关的技术和质量管制要求。然而,只有行政员能够给予机器人权限。

使用独立账号运行全自动机器人前必须提出申请

如何制作机器人

制作机器人前,你必须熟悉编程。初学者可采用Pywikibot,它是为MediaWiki设计的、基于Python编程语言的一系列函数库。除此之外,也可以使用其他编程语言,包括PythonNode.jsRubyPHPPerl.NetJavaHaskellLISP等。这些语言都有很多可用于开发机器人的函数库。

如何从你的监视列表中隐藏特定机器人

要从监视列表中隐藏所有机器人并不难,但使用一般的监视列表选项及用户设置无法隐藏特定的机器人。然而,你可用用户脚本解决问题。

核心步骤
  1. 到你的Special:MyPage/common.js,加上importScript( 'User:Temp3600/smart_watchlist.js' );一句。
  2. 记得要绕过浏览器缓存
  3. 到你的监视列表,选取'显示隐藏用户按钮'。你现在应能在监视列表隐藏特定的机器人和用户。
    注意:如你想避免意外地隐藏用户,可取消选取'显示隐藏用户按钮'。
可选步骤
  1. 如果你觉得这个对话框很烦人,到Special:MyPage/common.css并加上这一行#SmartWatchlistOptions {display:none ! important;} 。(diff)
  2. 记得要绕过浏览器缓存
  3. 如果想对话框重新出现,就把上面一行删掉,并绕过浏览器缓存。

虽然你可以隐藏任意机器人和用户的编辑﹐但你只应隐藏那些你信任不会出错的机器人。

如何从你的监视列表中隐藏AWB编辑

同样地,通过用户参数设置和监视列表选项无法隐藏AWB编辑。但用户脚本可以帮你解决问题。

核心步骤
  1. Special:MyPage/common.js,添加下列两行(diff):
    importScript( 'User:Temp3600/Watchlist-hideAWB.js' ); // Backlink: [[:en:User:Evad37/Watchlist-hideAWB]]
    window.awbHiddenByDefault = true;
    
  2. 记得要绕过浏览器缓存

编辑摘要中标明由AWB所作的编辑现在会被隐藏。你可点击监视列表顶部的"显示AWB编辑"来重新显示AWB编辑。(按钮在右上角“更多”菜单中)

注意:
  • 如果你没有输入window.awbHiddenByDefault = true;这一行,AWB编辑默认仍会显示,但你可在监视列表顶部选取"隐藏AWB编辑"来隐藏这些编辑。
  • 虽然你可以隐藏AWB编辑,但请记得这些编辑可能包含人类用户所作的大幅编订,未必全部都是机器人的小修改机械性的编辑
  • 使用脚本隐藏编辑时,较旧的编辑可能会被强制显示。你可在参数设置选择 展開監視清單顯示包含最近以外的所有變更来显示其他所有未被隐藏的更改。

例子

参见

元维基上的机器人相关页面

资源

可对机器人有用的软件

framework: wikiapi / CeJS MediaWiki 自动化作业用的程序库
可执行环境: node.js, JScript
采用 CeJS 函数库来制作维基百科机器人的示例

Wiki集成机器人

  • Wikibot 在维基百科以Joomla自动链接 'wikitagged' 的字。

注解