维基百科:机器人/20170629
维基程序 | ||
维基百科中的机器人是指主要用于协助编者执行大量自动化、高速或机械式、繁琐的编辑工作的计算机程序或脚本及其所登录的帐户,负责维护中文维基上7,872,179个页面。获得机器人权限的账户被称为机器人账户。从技术角度讲,一个自动化程序可以登录多个账户操作,包括机器人账户及普通账户,一个账户也可以被多个不同的程序登录(即使某个自动化程序的运行没有受到社区的批准)。
如果机器人的编辑会影响到他人,它们会在该用户的讨论页留言。利用{{bots}}可以阻止部分机器人留言。目前共有29只机器人拥有机器人权限。获得机器人权限的帐户所作的修改在最近更改中默认隐藏,其他用户默认不会看到。如果您想看到机器人所作的修改,可以切换或使用此链接来查看。机器人用户组的权限可以在Special:群组权限查看。除此之外,亦有大量工具可用于半自动地编辑大量页面。
- zh: 本维基允许全局机器人,此类机器人权限无需在此再次申请。其他机器人的申请请到Wikipedia:机器人/申请提出。
- en: This wiki uses the standard bot policy, and allows global bots. Other bots should apply here.
历史
[编辑]机器人曾被用来于短时间内创建大量条目[1]。这为社群的后续处理带来不少问题,最终催生出机器人方针,及诸如对全自动大量创建条目的限制。
机器人方针
[编辑]机器人方针规定机器人必须有益而无害、获得批准、使用独立账号、及谨慎地操作下才可使用。
机器人审核小组
[编辑]机器人审核小组(简称BAG)负责代表中文维基社群监督和审议本地一切机器人运作事务,确保它们符合有关的技术和质量管制要求。然而,只有行政员能够给予机器人权限。
使用独立账号运行全自动机器人前必须提出申请。
如何制作机器人
[编辑]制作机器人前,你应对编程及正则表达式有所了解。
Chicken Scheme、 Common Lisp、 Haskell、 Java、 Microsoft .NET、 Perl、 PHP、 Python、Ruby等编程语言都有可用于开发机器人的函数库。Pywikipedia上有不少为开发机器人而写的Python库和工具。
如何从你的监视列表中隐藏特定机器人
[编辑]要从监视列表中隐藏所有机器人并不难,但使用一般的监视列表选项及用户设置无法隐藏特定的机器人。然而,你可用用户脚本解决问题。
- 核心步骤
- 到你的Special:MyPage/common.js,加上
importScript('User:Temp3600/smart watchlist.js');
一句。 - 记得要绕过浏览器缓存。
- 到你的监视列表,选取'显示隐藏用户按钮'。你现在应能在监视列表隐藏特定的机器人和用户。
- 注意:如你想避免意外地隐藏用户,可取消选取'显示隐藏用户按钮'。
- 可选步骤
- 如果你觉得这个对话框很烦人,到Special:MyPage/common.css并加上这一行
#SmartWatchlistOptions {display:none ! important;}
。(diff) - 记得要绕过浏览器缓存。
- 如果想对话框重新出现,就把上面一行删掉,并绕过浏览器缓存。
虽然你可以隐藏任意机器人和用户的编辑﹐但你只应隐藏那些你信任不会出错的机器人。
如何从你的监视列表中隐藏AWB编辑
[编辑]同样地,通过用户首选项和监视列表选项无法隐藏AWB编辑。但用户脚本可以帮你解决问题。
- 核心步骤
- 到Special:MyPage/common.js,添加下列两行(diff):
importScript( 'User:Temp3600/Watchlist-hideAWB.js' ); // Backlink: [[:en:User:Evad37/Watchlist-hideAWB]]
var awbHiddenByDefault = true;
- 记得要绕过浏览器缓存。
编辑摘要中标明由AWB所作的编辑现在会被隐藏。你可点击监视列表顶部的"显示AWB编辑"来重新显示AWB编辑。(按钮在右上角“更多”菜单中)
- 注意:
- 如果你没有输入
var awbHiddenByDefault = true;
这一行,AWB编辑默认仍会显示,但你可在监视列表顶部选取"隐藏AWB编辑"来隐藏这些编辑。 - 虽然你可以隐藏AWB编辑,但请记得这些编辑可能包含人类用户所作的大幅编订,未必全部都是机器人的小修改或机械性的编辑。
- 使用脚本隐藏编辑时,较旧的编辑可能会被强制显示。你可在首选项选择
展開監視清單顯示包含最近以外的所有變更
来显示其他所有未被隐藏的变更。
例子
[编辑]一些在中文维基上运行的机器人包括:
- User:Liangent-bot – DYK更新、报告编辑战、报告繁简破坏、报告疑似广告链接等
- User:Jimmy-bot – 清理沙盒、存档讨论页、请求快速删除孤立页面、修正非条目页合理使用文件用法等
参见
[编辑]- Wikipedia:机器人方针
- Wikipedia:机器人/列表:机器人列表
- Wikipedia:机器人/提议:一些开发机器人脚本的想法可以在这里提出
- Wikipedia:机器人/申请:申请机器人权限
- Wikipedia:机器人/作业请求:请求机器人帮助作业
- 分类:机器人控制模板:用模板给机器人的运行提供参数
- 元维基上的机器人相关页面
- meta:bot - 机器人
- meta:Bot policy - 机器人方针
- meta:Countervandalism Network/Bots - 反破坏机器人
资源
[编辑]- botwiki: - 机械用户维基社群
可对于机器人有用的软件
[编辑]- mw:API/ Query API— 一个多格式的 API 从Wiki服务器直接查询资料 ([1])
- PyWikipediaBot— Python Wikipedia Robot Framework (主页,SF计划页, meta:pywikipedia)
- WikiLink (Mathematica package)— 实际上是一个包装,里面有一个 java class 以支持登录。
- .NET
- DotNetWikiBot Framework (基于.NET Framework 2.0,用C#编写)
- WikiFunctions .NET library— 联同AWB一起,对于机器人一个有用的数据库的东西,像一个表,加载/编辑文章,连到最近更改IRC频道,还有更多。
- Perl
- Anura— 用libww-perl的Perl接口为MediaWiki而设。不建议使用,因为现在的版本是不会检查编辑冲突的。
- WWW::Mediawiki::Client— perl 模块及指令客户端
- WWW::Wikipedia— 整理维基百科接口的 perl 模块
- en:user:Shadow1/perlwikipedia - Perlwikipedia 开发中
- AutoWikiBrowser
- User:DGideas/ideasbotkernel - IdeasBot Kernel,基于PHP编写的机器人脚本。
- Cewbot 采用了包含制作机器人功能的 JavaScript 软件架构,可离线开发和运行。
- framework: wikiapi / CeJS MediaWiki 自动化作业用的程序库
- 可执行环境: node.js, JScript
- 采用 CeJS 函数库来制作维基百科机器人的示例