MediaWiki 管理員手冊/反破壞 IRC 機器人
此頁面記錄了兩個被反破壞頻道廣泛使用的機器人。
Computer 是最初的近期更改過濾機器人,作為 mIRC 指令碼 編寫的,由 White Cat 開發。它在 2005 年被 pgkbot 取代。
pgkbot 是一個由 pgk 開發的 python 機器人。它被設計為在一個頻道中使用,幷包含許多定製選項,例如外掛支援、複雜的事件路由器、個人列表、個人使用者姓名和文章標題監視列表、頁面移動破壞的檢測以及 IP 地址類別(如開放代理)。但是,配置很困難,而且它比較資源密集。
SWBot 是一個由 Tangotango 和 Az1568 開發的 C# 機器人。它被設計為在聯網或多維基頻道中使用。功能包括動態載入和解除安裝維基和頻道、中央配置檔案和資料庫、全域性列表、將全域性更改自動廣播到所有其他 SWBot 例項以及使用自動 MediaWiki 摘要檢測頁面清空和替換。但是,無法進行每頻道事件配置。
CVNbot 是一個由 Pathoschild 用 Perl 編寫的統一集中式機器人。它目前正在開發中,沒有積極使用。該機器人旨在促進頻道網路管理並提供編輯監控,而無需多餘的功能。
- 常見機器人:ErosionBot-1、MiszaBot、TheDJBot、ClueBot(RC)。
透過在行的開頭新增其名稱或“computer”來向機器人發出命令。如果新增名稱,該命令將僅被名為該名稱的機器人識別。如果新增“computer”,則在頻道中存在的所有機器人都會識別該命令。例如,如果你想將使用者新增到 pgkbot 的黑名單中,你應該說 pgkbot bl add username。或者,你可以將使用者新增到頻道中每個機器人的黑名單中。建議這樣做,因為它會同步備份機器人。為此,你應該說 computer bl add username。
使用者可以發出哪些命令取決於他們所在的列表。
| 等級 | 使用者 | 命令列表 |
|---|---|---|
| 資訊 | 任何使用者 | 情報命令;help。 |
| 操作 | 有聲使用者 | 監視列表;情報;help、status、quiet、speak。 |
| 受限 | 頻道操作員 | 所有命令。 |
機器人維護著幾個使用者列表,這些列表可以被報告、格式化和以不同於彼此的方式處理。
- Admins: 這是一個專案管理員列表。相關命令是
computer al add|del username。 - Whitelist: 這是一個可信使用者列表。相關命令是
computer wl add|del username。 - Greylist: 這是一個臨時黑名單,機器人會自動用最近被還原的使用者或與 bnu 列表表示式匹配的使用者來填充它。條目可以從列表中刪除,但不能手動新增。
- Blacklist: 這是一個可疑使用者列表。黑名單使用者的全部編輯都會被報告。相關命令是
computer bl add|del username。 - Bots: 這是一個專案機器人列表。相關命令是
computer bot add|del user。
此表是對命令的簡要概述。有關更多幫助,請將以下命令傳送到 IRC 上的 pgkbot:pgkbot help <command>。有兩種可選標誌可用於大多數命令。這些標誌可以透過將它們追加到命令末尾來使用(如果同時使用,則必須在理由之前宣告過期)。
- "
r=value" 提供了一個理由。這對其他使用者很有用,他們可能不知道為什麼沒有理由就將某些內容新增到列表中。 - "
x=value" 提供以小時為單位的過期時間。在指定的小時數後,命令將自動撤銷。
請注意,表格中使用了符號“[|]”;這些符號不應與機器人一起使用(例如,使用“pgk add blah”,而不是“pgk [add] blah”)。多個可能的動作表示為 [選項 1|選項 2];一次只能使用一個。值被指定為 <value>;所有字串都接受 正則表示式。
| 命令 | 用法 | 描述 |
|---|---|---|
| aclo | computer aclo [add|del] IRC_name | 新增或刪除可以發出受限機器人命令的使用者。 |
| 配置 (設定) | computer config <option> <newvalue> | 修改配置值。請參閱以下深入文件。 |
| 配置 (列表) | computer config list | 列出當前設定 |
| 配置 (獲取) | computer config [getadmins|getbots] | 直接從正在監控的維基中檢索管理員或機器人的列表 |
| 配置 (讀取) | computer config [readmsgs|readcmds] | 重新讀取一些配置檔案。 |
| 目標 (設定) | computer dest [add|del] #<頻道名稱> grey | 配置要向頻道報告的事件。 |
| 目標 (交換) | computer dest swap #<頻道名稱> #<第二個頻道名稱> | 在兩個頻道之間切換報告的事件,這對於更改為預設設定很有用。 |
| 閱讀器 | computer reader reset | 重置與最近更改頻道的連線(如果機器人停止報告)。 |
| 命令 | 用法 | 描述 |
|---|---|---|
| 幫助 | computer help <command> | 提供有關命令的詳細幫助。如果沒有指定命令,它將提供指向此頁面的連結。 |
| 狀態 | computer status | 提供有關機器人的基本狀態資訊,例如它是否正在報告並連線到 RC 饋送。 |
| 統計資料 | computer stats | 各種頻道統計資訊。 |
| 安靜 | computer quiet | 停止向頻道報告事件。 |
| 說話 | computer speak | 向頻道報告事件。 |
| acl | computer acl [add|del|show] <IRC_name> | 受信任的 IRC 使用者列表。這些使用者可以向機器人發出操作命令。 |
| 命令 | 用法 | 描述 |
|---|---|---|
| bl | computer bl [add|del|show] <IP 或使用者名稱> | 不受信任或破壞使用者列表。 |
| wl | computer wl [add|del|show] <使用者名稱> | 受信任的使用者列表。 |
| gl | computer gl [del|show] <使用者名稱> | 可能不受信任或破壞使用者的列表。 |
| al | computer al [add|del|show] <使用者名稱> | 管理員列表。 |
| bot | computer bot [add|del|show] <使用者名稱> | 機器人列表。 |
| bnu | computer bnu [add|del|show] <字串> | 報告包含該字串的所有新使用者名稱。 |
| bna | computer bna [add|del|show] <字串> | 報告包含該字串的所有新建條目。 |
| cvp | computer cvp [add|del|show] <字串> | 報告對給定條目的所有編輯。 |
| cnvp | computer cnvp [add|del|show] <條目名稱> | 要忽略的條目列表。 |
| cvi | computer cvi [add|del|show] <圖片名稱>.<副檔名> | 報告對特定圖片名稱的所有上傳。 |
| wheels | computer wheels [add|del|show] <字串> | 報告重新命名為標題包含該字串的頁面。 |
| 命令 | 用法 | 描述 |
|---|---|---|
| intel | computer intel <IP 或使用者名稱> | 查詢有關 IP 或使用者名稱的資訊。 |
| aintel | computer aintel <條目名稱> | 查詢有關條目的資訊。 |
| iintel | computer iintel <圖片名稱>.<副檔名> | 查詢有關圖片的資訊。 |
這些設定會影響機器人過濾原始最近更改以生成報告事件的方式。它們可以透過命令 computer config list 檢視,並透過命令 computer config <option> <new value> 修改。
| 選項 | 描述 |
|---|---|
| editbig | 可能的胡言亂語(大量新增內容) |
| editblank | 可能的清空(大量刪除內容) |
| newbig | 可能的版權侵權(新建條目大小很大) |
| newsmall | 可能的破壞或存根(新建條目大小很小) |
| 選項 | 描述 |
|---|---|
| blockconflict | 要報告的單個使用者的同時封禁次數。 |
| glonrollback | 如果管理員回滾了使用者的編輯,則將使用者新增到灰名單的分鐘數。 |
| flagnewuser | 將新使用者新增到灰名單的小時數。 |
| glonbnu | 將與 bnu 列表上的字串匹配的新使用者新增到灰名單的分鐘數。 |
| 選項 | 描述 |
|---|---|
| pseudonym | 機器人除了其名稱之外,還應該響應的另一個名稱。這在反破壞網路頻道中應為“computer”。 |
| startupquiet | 啟動時不要報告事件(切換,“yes”或“no”) |
| bnubnasame | 同步 不良新使用者名稱 和 不良新建條目名稱 列表。 |
這些選項會切換向頻道報告哪些事件。它們可以透過命令 computer dest list 和 computer dest [add|del] #<頻道名稱> <事件> 訪問。事件列在下面。每個事件只會向頻道報告一次,無論是否符合這些類別中的多個類別。
以下表格中的“操作”是指對資料庫的所有可見更改,包括編輯、頁面移動和刪除。
| 事件 | 描述 |
|---|---|
| -admin | 不要報告管理員的操作。 |
| -white | 不要報告白名單使用者的操作。 |
| -bot | 不要報告機器人的操作。 |
| black | 報告黑名單使用者的全部操作。 |
| grey | 報告灰名單使用者的全部操作。 |
| newuser | 報告所有新使用者的建立。 |
| ip | 報告匿名使用者的全部編輯。 |
| iptmp | 報告未登入使用者對模板的所有編輯 |
| ipcat | 報告未登入使用者對分類的所有編輯 |
| 事件 | 描述 |
|---|---|
| wwuser | 報告與 **bnu** 列表中的條目匹配的新使用者名稱。 |
| wheeler | 報告頁面移動到與 **wheel** 列表中的條目匹配的標題。 |
| bna | 報告與 **bna** 列表中的條目匹配的文章建立。 |
| cvp | 報告對 **cvp** 列表中的頁面進行的編輯。 |
| cvi | 報告對 **cvi** 列表中的影像進行的上傳。 |
| 事件 | 描述 |
|---|---|
| block | 報告封禁。 |
| unblock | 報告解除封禁。 |
| delete | 報告頁面刪除。 |
| move | 報告頁面移動。 |
| protect | 報告非使用者空間頁面保護/取消保護。 |
| upload | 報告檔案上傳。 |
| 事件 | 描述 |
|---|---|
| bigremove | 報告可能的清空(刪除超過配置 **bigremove** 的內容)。 |
| bigedit | 報告可能的亂碼(新增超過配置 **bigedit** 的內容)。 |
| bignew | 報告可能的版權侵犯(建立大小超過配置 **bignew** 的頁面)。 |
| tinynew | 報告可能的無意義內容(建立大小小於配置 **tinynew** 的頁面)。 |
| 事件 | 描述 |
|---|---|
| cmdsq | 監聽此頻道中的命令,但除非透過暱稱而不是“computer”進行定址,否則不會響應。 |
| cmds | 監聽此頻道中的命令,並做出響應。 |
- **Python:** 機器人需要 Python 環境才能執行,可以在 python.org 下載頁面 免費獲取。建議您為所有使用者安裝到C:\Python並啟用所有選項。
- **Twisted:** 還需要 Twisted Python 庫,可以在 官方網站 獲取。
- **注意** - Pgkbot 只能與 Python 2.4 或 2.5 版本一起使用,不能與舊版本一起使用。
- 從 pathos.ca/tools/pgkbot 下載 pgkbot 的最新公開版本 (1.7)。
- 將其解壓縮到C:\pgkbot.
在使用之前,需要編輯幾個文字檔案。
| C:\pgkbot\Config\IRCConsole.conf | ||
|---|---|---|
| 欄位 | 值 | 說明 |
| server | irc.freenode.net | 這是機器人將連線到的 IRC 伺服器。 |
| port | 6667 | 要連線到的伺服器埠;此值應該沒問題。 |
| nick | botnick | 將其更改為您要使用的機器人的暱稱。**不要**使用“pgkbot”或“computer”。 |
| password | password | 標識時要使用的密碼。如果未使用 Nickserv,請註釋掉此行。 |
| owner | yournick | 更改為您的暱稱。這使您能夠完全訪問介面。 |
| C:\pgkbot\Config\RCReader.conf | ||
|---|---|---|
| 欄位 | 值 | 說明 |
| server | irc.wikimedia.org | 這是機器人將連線到的 IRC 伺服器,用於獲取 RC 饋送。 |
| port | 6667 | 要連線到的伺服器埠;此值應該沒問題。 |
| nick | yournick | 更改為您的暱稱。這使您能夠完全訪問介面。 |
| C:\pgkbot\Config\en\StaticConfig | ||
|---|---|---|
| 欄位 | 值 | 說明 |
| controlchannel | #pgktesting | 機器人將報告到的頻道。 |
| rcsourcechannel | #en.wikipedia | 包含原始 RC 饋送的頻道(參見 IRC channels)。 |
- 開啟一個 DOS 提示符。
- 導航到 pgkbot 安裝所在的目錄。
- 輸入 **c:\python24\python.exe CVUBot.py en**。
- pgkbot 連線後將保持靜默。請務必使其說話並路由一些事件(參見上文)。
- 常見機器人:SWBot*(SWBot2 除外)、SWMTBot*、TheDJBot(3-5)。
SWMTBot 是 pgkbot 移植到 C# 的版本,專門為滿足 小型維基監控團隊 和其他在單個頻道中監控大量饋送的使用者的需求而設計。大多數命令都保持與 pgkbot 等效命令相同,除非有必要;訊息也儘可能保持與 pgkbot 相似。
| SWMTBot 的新功能 | pgkbot 中存在但 SWMTBot 中不存在的功能 |
|---|---|
|
|
所有 **全域性** 列表都會自動在所有 SWMTBot 之間同步;**每個維基** 列表則不會同步。所有維基都使用一個全域性文章觀察列表,每個維基也使用一個單獨的列表;您可以透過省略“p=”引數(請參見下面的命令列表以瞭解更多資訊)來新增/刪除/顯示全域性列表中的條目。
| 全域性列表 | 每個維基列表 |
|---|---|
|
|
| 全域性命令 | ||
|---|---|---|
| 命令 | 描述 | 示例 |
| quit | 退出機器人 | SWMTBot quit |
| restart | 重啟機器人 | SWMTBot restart |
| list | 返回所有當前監控的維基的列表 | SWMTBot list |
| **load** wiki.name [interwiki] | 載入一個維基以進行監控 | SWMTBot load en.wikipedia en SWMTBot load meta.wikimedia |
| **reload** wiki.name | 從維基下載新訊息;如果該維基上 MediaWiki: 名稱空間中的任何日誌條目訊息已更改,請使用此命令 | SWMTBot reload fr.wikipedia |
| batchreload | 對所有當前載入的維基執行 **reload** 操作。極其佔用資源,不建議使用 | SWMTBot batchreload |
| **drop** wiki.name | 停止監控一個維基 | SWMTBot drop als.wikipedia |
| **purge** wiki.name | 從資料庫中刪除與特定維基相關的使用者和觀察列表專案 | SWMTBot purge als.wikipedia |
| msgs | 從 Console.msgs 檔案重新載入訊息;僅在檔案已更改時才需要 | SWMTBot msgs |
| **bleep** wiki.name | 查詢監控特定專案的機器人。您可以向任何聯網機器人發出此命令以接收相同的結果 | SWMTBot bleep commons.wikimedia |
| count | 查詢每個機器人監控的維基數量和每個機器人的版本。您可以向任何聯網機器人發出此命令以獲得相同的結果 | SWMTBot count |
| 列出命令 | ||
| 命令 | 描述 | 示例 |
| bl 新增/刪除/顯示 使用者名稱 [x=持續時間] [r=原因] | 在全域性黑名單中新增、刪除或顯示專案。將 x=0 設定為無限期 | SWMTBot bl add Tangotango x=0 r=Bad vandal (將 Tangotango 無限期新增到全域性黑名單) SWMTBot bl del Tangotango (從全域性黑名單中刪除 Tangotango) |
| gl 刪除 使用者名稱 | 從灰名單中刪除使用者。如果您想將使用者列入白名單,但他們已在灰名單中,請使用此方法。將他們從 gl 中刪除並新增到 wl 中。 | SWMTBot gl del Mike.lifeguard (從灰名單中刪除 Mike.lifeguard) |
| wl 新增/刪除/顯示 使用者名稱 [x=持續時間] [r=原因] | 在白名單中新增、刪除或顯示專案。將 x=0 設定為無限期 | (見上文;wl 的語法與 bl 相同) |
| cvp 新增/刪除/顯示 文章名稱 [p=wiki.name] [x=持續時間] [r=原因] | 在觀察列表中新增、刪除或顯示文章。省略 p= 以監控所有維基中具有相同名稱的文章;將 x=0 設定為無限期 | SWMTBot cvp add United States p=en.wikipedia x=0 (將“美國”新增到 en.wikipedia 觀察列表) SWMTBot cvp add Main Page x=0 (將所有維基中名為“主頁”的頁面新增到觀察列表) |
| al 新增/刪除/顯示 使用者名稱 p=wiki.name [x=持續時間] [r=原因] | 在特定維基的管理員列表中新增、刪除或顯示專案。將 x=0 設定為無限期 | SWMTBot al add Tangotango p=ga.wikipedia (將 Tangotango 新增到 ga.wikipedia 的管理員列表) |
| bots 新增/刪除/顯示 使用者名稱 p=wiki.name [x=持續時間] [r=原因] | 在特定維基的標記機器人列表中新增、刪除或顯示專案。將 x=0 設定為無限期 | (見上文;bots 的語法與 al 相同) |
| bnu 新增/刪除/顯示 正則表示式 [x=持續時間] [r=原因] | 在全域性錯誤的新使用者名稱列表中新增、刪除或顯示專案。將 x=0 設定為無限期 | SWMTBot bnu add Tangot.*?ngo x=128 r=vandal meme (將 Tangot.*?ngo 新增為錯誤的新使用者名稱) |
| bna 新增/刪除/顯示 正則表示式 [x=持續時間] [r=原因] | 在全域性錯誤的新文章標題列表中新增、刪除或顯示專案。將 x=0 設定為無限期 | SWMTBot bna add index\.php r=vandal meme (將“index.php”匹配為錯誤的新頁面標題) |
| bes 新增/刪除/顯示 正則表示式 [x=持續時間] [r=原因] | 在全域性錯誤的編輯摘要列表中新增、刪除或顯示專案。將 x=0 設定為無限期 | SWMTBot bes add !{3,} r=Too many exclamation marks (使 SWMTBot 標記任何具有 3 個或更多感嘆號的編輯摘要) |
| config getadmins wiki.name | 從指定的專案下載管理員列表並自動將其新增到 SWMTBot 資料庫 | SWMTBot config getadmins en.wikipedia |
| config getbots wiki.name | 從指定的專案下載標記的機器人列表並自動將其新增到 SWMTBot 資料庫 | SWMTBot config getbots da.wiktionary |
| batchgetusers | 對所有當前載入的維基執行 getadmins 和 getbots | SWMTBot batchgetusers |
安裝
[edit | edit source]SWMTBot 經過測試並積極開發,可在 Mac OS X、Linux (Debian) 和 Windows 上執行。該軟體在 MIT 許可證 下獲得許可。
CVNbot
[edit | edit source]參見 m:CVN/CVNbot.
另請參見
[edit | edit source]支援
[edit | edit source]- #countervandalism 用於 反破壞網路運營的頻道中的 機器人
- pgkbot
- pgk— 用於評論、建議和解決機器人指令碼故障。