维基百科:机器人/20170629
維基程式 | ||
维基百科中的机器人是指主要用于协助编者执行大量自动化、高速或机械式、繁琐的编辑工作的计算机程序或脚本及其所登录的帐户,負責維護中文維基上7,866,054個頁面。获得机器人权限的账户被称为机器人账户。从技术角度讲,一个自动化程序可以登录多个账户操作,包括机器人账户及普通账户,一个账户也可以被多个不同的程序登录(即使某个自动化程序的运行没有受到社区的批准)。
如果機械人的編輯會影響到他人,它們會在該用戶的討論頁留言。利用{{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 函式庫來製作維基百科機器人的範例