維基百科:機器人
方針與指引(列表) |
---|
原則 |
內容 |
行為 |
列表 |
使用者方針 |
參見 |
維基程式 | ||
維基百科中的機器人是指主要用於協助編者執行大量自動化、高速或機械式、繁瑣的編輯工作的電腦程式或指令碼及其所登入的帳號,負責維護中文維基上7,906,923個頁面。獲得機器人權限的帳號被稱為機器人帳號。從技術角度講,一個自動化程式可以登入多個帳號操作,包括機器人帳號及普通帳號,一個帳號也可以被多個不同的程式登入(即使某個自動化程式的執行沒有受到社群的批准)。
如果機器人的編輯會影響到他人,它們會在該使用者的討論頁留言。利用{{bots}}可以阻止部分機器人留言。目前共有29隻機器人擁有機器人權限。獲得機器人權限的帳號所作的修改在近期變更中預設隱藏,其他使用者預設不會看到。如果您想看到機器人所作的修改,可以切換或使用此連結來檢視。機器人使用者群組的權限可以在Special:群組權限檢視。除此之外,亦有大量工具可用於半自動地編輯大量頁面。
- zh: 本維基允許全域機器人,此類機器人權限無需在此再次申請。其他機器人的申請請到Wikipedia:機器人/申請提出。
- en: This wiki uses the standard bot policy, and allows global bots. Other bots should apply here.
歷史
[編輯]機器人曾被用來於短時間內建立大量條目[1]。這為社群的後續處理帶來不少問題,最終催生出機器人方針,及諸如對全自動大量建立條目的限制。
機器人方針
[編輯]機器人方針規定機器人必須有益而無害、獲得批准、使用獨立帳號、及謹慎地操作下才可使用。
機器人審核小組
[編輯]機器人審核小組(簡稱BAG)負責代表中文維基社群監督和審議本地一切機器人運作事務,確保它們符合有關的技術和品質管制要求。然而,只有行政員能夠給予機器人權限。
使用獨立帳號運行全自動機器人前必須提出申請。
如何製作機器人
[編輯]製作機器人前,你必須熟悉編程。初學者可採用Pywikibot,它是為MediaWiki設計的、基於Python程式語言的一系列函式庫。除此之外,也可以使用其他程式語言,包括Python、Node.js、Ruby、PHP、Perl、.Net、Java、Haskell、LISP等。這些語言都有很多可用於開發機器人的函式庫。
如何從你的監視清單中隱藏特定機器人
[編輯]要從監視清單中隱藏所有機器人並不難,但使用一般的監視清單選項及使用者設定無法隱藏特定的機器人。然而,你可用使用者指令碼解決問題。
- 核心步驟
- 到你的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]] window.awbHiddenByDefault = true;
- 記得要繞過瀏覽器快取。
編輯摘要中標明由AWB所作的編輯現在會被隱藏。你可點擊監視清單頂部的"顯示AWB編輯"來重新顯示AWB編輯。(按鈕在右上角「更多」選單中)
- 注意:
- 如果你沒有輸入
window.awbHiddenByDefault = true;
這一行,AWB編輯預設仍會顯示,但你可在監視清單頂部選取"隱藏AWB編輯"來隱藏這些編輯。 - 雖然你可以隱藏AWB編輯,但請記得這些編輯可能包含人類使用者所作的大幅編訂,未必全部都是機器人的小修改或機械性的編輯。
- 使用指令碼隱藏編輯時,較舊的編輯可能會被強制顯示。你可在偏好設定選擇
展開監視清單顯示包含最近以外的所有變更
來顯示其他所有未被隱藏的變更。
例子
[編輯]參見
[編輯]- Wikipedia:機器人方針
- Wikipedia:機器人/列表:機器人列表
- Wikipedia:機器人/申請:申請機器人權限
- Wikipedia:機器人/作業請求:請求機器人幫助作業
- 分類:機器人控制模板:用模板給機器人的執行提供參數
- 元維基上的機器人相關頁面
- meta:bot - 機器人
- meta:Bot policy - 機器人方針
- meta:Countervandalism Network/Bots - 反破壞機器人
資源
[編輯]可對機器人有用的軟體
[編輯]- MediaWiki API:從MediaWiki網站直接查詢資料的多格式API([1])
- Pywikibot:適用於MediaWiki網站的Python庫以及工具集合
- AutoWikiBrowser
- 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 開發中
- User:DGideas/ideasbotkernel:IdeasBot Kernel,基於PHP編寫的機器人指令碼。
- Cewbot 採用了包含製作機器人功能的 JavaScript 軟體架構,可離線開發和運行。
- framework: wikiapi / CeJS MediaWiki 自動化作業用的程式庫
- 可執行環境: node.js, JScript
- 採用 CeJS 函式庫來製作維基百科機器人的範例