維基百科:機器人/20170629

正在和機器人握手的人類
現實中的機器人

維基百科中的機器人是指主要用於協助編者執行大量自動化、高速或機械式、繁瑣的編輯工作的電腦程式或指令碼及其所登入的帳戶,負責維護中文維基上7,863,044個頁面。獲得機器人權限的帳戶被稱為機器人帳戶。從技術角度講,一個自動化程式可以登入多個帳戶操作,包括機器人帳戶及普通帳戶,一個帳戶也可以被多個不同的程式登入(即使某個自動化程式的執行沒有受到社群的批准)。

如果機器人的編輯會影響到他人,它們會在該使用者的討論頁留言。利用{{bots}}可以阻止部分機器人留言。目前共有29隻機器人擁有機器人權限。獲得機器人權限的帳戶所作的修改在最近更改中預設隱藏,其他使用者預設不會看到。如果您想看到機器人所作的修改,可以切換或使用此連結來檢視。機器人使用者群組的權限可以在Special:群組權限檢視。除此之外,亦有大量工具可用於半自動地編輯大量頁面。

歷史

機器人曾被用來於短時間內建立大量條目[1]。這為社群的後續處理帶來不少問題,最終催生出機器人方針,及諸如對全自動大量建立條目的限制

機器人方針

機器人方針規定機器人必須有益而無害、獲得批准、使用獨立帳號、及謹慎地操作下才可使用。

機器人審核小組

機器人審核小組(簡稱BAG)負責代表中文維基社群監督和審議本地一切機器人運作事務,確保它們符合有關的技術和品質管制要求。然而,只有行政員能夠給予機器人權限。

使用獨立帳號運行全自動機器人前必須提出申請

如何製作機器人

製作機器人前,你應對編程及正規表示式有所了解。

Chicken Scheme、 Common Lisp、 Haskell、 Java、 Microsoft .NET、 Perl、 PHP、 Python、Ruby等程式語言都有可用於開發機器人的函式庫。Pywikipedia上有不少為開發機器人而寫的Python庫和工具。

如何從你的監視列表中隱藏特定機器人

要從監視列表中隱藏所有機器人並不難,但使用一般的監視列表選項及使用者設定無法隱藏特定的機器人。然而,你可用使用者指令碼解決問題。

核心步驟
  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]]
    var awbHiddenByDefault = true;
  2. 記得要繞過瀏覽器快取

編輯摘要中標明由AWB所作的編輯現在會被隱藏。你可點擊監視列表頂部的"顯示AWB編輯"來重新顯示AWB編輯。(按鈕在右上角「更多」選單中)

注意:
  • 如果你沒有輸入var awbHiddenByDefault = true;這一行,AWB編輯預設仍會顯示,但你可在監視列表頂部選取"隱藏AWB編輯"來隱藏這些編輯。
  • 雖然你可以隱藏AWB編輯,但請記得這些編輯可能包含人類使用者所作的大幅編訂,未必全部都是機器人的小修改機械性的編輯
  • 使用指令碼隱藏編輯時,較舊的編輯可能會被強制顯示。你可在偏好設定選擇 展開監視清單顯示包含最近以外的所有變更來顯示其他所有未被隱藏的變更。

例子

一些在中文維基上運行的機器人包括:

  • User:Liangent-bot – DYK更新、報告編輯戰、報告繁簡破壞、報告疑似廣告連結等
  • User:Jimmy-bot – 清理沙盒、存檔討論頁、請求快速刪除孤立頁面、修正非條目頁合理使用檔案用法等

參見

元維基上的機器人相關頁面

資源

可對於機器人有用的軟體

framework: wikiapi / CeJS MediaWiki 自動化作業用的程式庫
可執行環境: node.js, JScript
採用 CeJS 函式庫來製作維基百科機器人的範例

Wiki 整合機器人

  • Wikibot 在維基百科以Joomla自動連結 'wikitagged' 的字。
  1. ^ 維基百科:互助客棧/訊息/存檔/2013年5月維基百科:互助客棧/訊息/存檔/2013年8月