User:Rxy/SWMTBot
SWMTBot は、Tangotango と Az1568 によってC#で開発されたBotです。 それは、様々なウィキの「最近の更新」を流しているIRCチャンネルの監視を容易にするように設計されました。 機能として、ウィキと「最近の更新」が配信されているIRCチャンネルの動的な読み込みと、読み込みの解除、一元管理された設定ファイルとデータベース、グローバルリスト、自動化された他のSWMTBotとのグローバルリスト自動同期、そして、MediaWikiの要約を使用した、ページの白紙化と置換の検出などがあります。 現在、様々な操作に関する条件設定はBotごとに行えますが、IRCチャンネルごとの条件設定は行うことができません。
現在、CVNによって次の名前のSWMTBotが作動されています: Cubbie, CVNBot*, KrinkleBot*, rcbot, SWBot*, wbbot, WikiaRC
リスト
[edit]すべてのグローバルリストは自動的にSWMTBot全体での同期が行われますが、プロジェクトごとのリストはそうではありません。 すべてのウィキにおけるグローバルな記事ウォッチリストと、個別プロジェクト用のものがあります。 "p=" 引数を省略した場合、各プロジェクトごとのリストではなく、グローバルリストへの操作となります(詳細は下記のコマンド一覧を参照のこと)。
グローバルリスト | 個別ウィキ用リスト |
---|---|
|
|
リストについての詳細は、下記を参照のこと
コマンド
[edit]すべてのグローバルリストは自動的にSWMTBot全体での同期が行われますが、プロジェクトごとのリストはそうではありません。すべてのウィキにおけるグローバルな記事ウォッチリストと、個別プロジェクト用のものがあります。"p=" 引数を省略した場合、各プロジェクトごとのリストではなく、グローバルリストへの操作となります(詳細は下記のコマンド一覧を参照のこと)。
コントロールコマンド | ||
---|---|---|
コマンド | 説明 | 使用例 |
quit | BotをIRCより切断します。 | SWMTBot quit |
restart | Botを再起動させます。 | SWMTBot restart |
list | すべての監視対象に指定されたウィキ一覧を返します。 | SWMTBot list |
load wiki.name [インターウィキ] | ウィキを監視対象として読み込み指定します。 | SWMTBot load en.wikipedia en: SWMTBot load meta.wikimedia m: SWMTBot load nl.wikimedia nl:chapter: SWMTBot load sv.wikiquote q:sv: |
reload wiki.name | ウィキから新しいメッセージをダウンロードします。MediaWiki: 名前空間の「記録(ログ)」に関する何れかメッセージが変更された場合に実行してください。 | SWMTBot reload fr.wikipedia |
batchreload | 現在読み込まれているすべてのウィキに対し、 reload を実行します。一度に大量のリソースを使用するため、推奨されません。 | SWMTBot batchreload |
drop wiki.name | ウィキを監視対象から外します。 | SWMTBot drop als.wikipedia |
purge wiki.name | Removes from the database all users and watchlisted items pertaining to a particular wiki | SWMTBot purge als.wikipedia |
msgs | Console.msgs を再度読み込みます。ファイルが更新された場合のみ実行してください。 | SWMTBot msgs |
bleep wiki.name | どのBotがどのプロジェクトを監視しているかを確認します。そのBotのネットワークに属するどのBotに対してでも、このコマンドを実行することができます。 | SWMTBot bleep commons.wikimedia |
count | 現在Botが監視しているウィキ数と、そのBotのバージョンを返します。そのBotのネットワークに属するすべてのBotが応答します。 | SWMTBot count |
config | SWMTBot.ini によって設定されている各種の設定とその値を返します。 | SWMTBot config |
リストコマンド | ||
コマンド | 説明 | 使用例 |
bl add/del/show 利用者名 [x=期間] [r=理由] | グローバルリストへ条件を追加、削除、または閲覧します。x=0 と指定された場合、無期限となります。 | SWMTBot bl add Tangotango x=0 r=悪質な荒らし (Tangotango をグローバルブラックリストへ無期限として追加します) SWMTBot bl del Tangotango (Tangotango をグローバルブラックリストから削除します) |
gl del 利用者名 | 利用者をグレーリストから削除します。グレーリストにこの利用者が指定されており、ホワイトリストに追加したい際にこれを使用してください。 | SWMTBot gl del Mike.lifeguard (Mike.lifeguard をグレーリストより削除します) |
wl add/del/show 利用者名 [x=期間] [r=理由] | ホワイトリストへ条件を追加、削除、または閲覧します。x=0と指定された場合、無期限となります。 | (blの構文を、wlと読み替えてください) |
intel 利用者名 | 指定した利用者名が何れかのリストに属している場合、その属しているリスト名、追加した人、期間とその理由を返します。 | SWMTBot intel ZooFari (ZooFari は commons.wikimedia 管理者リストに含まれており、SWMTBot により追加されました。期限 無期限 ("Auto-download from wiki")) SWMTBot intel Krinkle (Krinkle は global ホワイトリスト に含まれており、ZooFari により追加されました。期限 無期限 ("信頼できる利用者")) |
cvp add/del/show ページ名 [p=wiki.name] [x=期間] [r=理由] | ウォッチリストへページを追加、削除、または閲覧します。p= 引数によって、すべてのウィキではなく、指定プロジェクトのみを対象とします。x=0 と指定された場合、無期限です。 | SWMTBot cvp add United States p=en.wikipedia x=0 ("United States" を en.wikipedia 用ウォッチリストへ追加します) SWMTBot cvp add Main Page x=0 (すべてのウィキ上の "Main Page" という名前のページをウォッチします) |
al add/del/show 利用者名 p=wiki.name [x=期間] [r=理由] | 特定プロジェクト用の管理者リストへ指定した利用者名を追加、削除、または閲覧します。x=0 と指定された場合、無期限です。 | SWMTBot al add Tangotango p=ga.wikipedia x=0 (Tangotango を ga.wikipedia 用管理者リストへ追加します) |
bots add/del/show 利用者名 p=wiki.name [x=期間] [r=理由] | 特定プロジェクト用のフラグ付きBotのリストへ、指定した利用者名を追加、削除、または閲覧します。x=0 が指定された場合、無期限です。 | (上記を参照。al を bots と読み替えてください) |
bnu add/del/show regex [x=期間] [r=理由] | グローバルな「不適切な利用者名リスト」へ条件を追加、削除、または閲覧します。x=0 と指定された場合、無期限です。 | SWMTBot bnu add Tangot.*?ngo x=128 r=vandal meme (Tangot.*?ngo の条件に一致するものを不適切な利用者名として強調表示します) |
bna add/del/show regex [x=期間] [r=理由] | グローバルな「不適切なページ名リスト」へ条件を追加、削除、または閲覧します。x=0 が指定された場合、無期限です。 | SWMTBot bna add index\.php r=vandal meme ("index.php"に一致するものを不適切なページ名として強調表示します) |
bes add/del/show regex [x=duration] [r=reason] | グローバルな「不適切な編集要約リスト」へ条件を追加、削除、または閲覧します。x=0 が指定された場合、無期限です。 | SWMTBot bes add !{3,} r=多すぎる感嘆符 (SWMTBot は、どの編集に対する要約にでも、3文字以上の感嘆符が含まれた場合にそれを強調表示します。) |
getadmins wiki.name | 指定されたプロジェクトより管理者一覧をダウンロードし、それを自動的に管理者リストへと追加します。 | SWMTBot config getadmins en.wikipedia |
getbots wiki.name | 指定されたプロジェクトからフラグ付きBotのリストをダウンロードし、それを自動的にBotリストへ加えます。 | SWMTBot config getbots da.wiktionary |
batchgetusers | 現在読み込んでいるすべてのウィキに対し、getadmins と getbots を実行します。 | SWMTBot batchgetusers |
- regex : もし、regex (正規表現)の意味がわからない場合、このキーワードが含まれるコマンドを使用しないでください。 誤った正規表現による条件が作成された場合、問題のない編集を行う利用者に対してまで、自動的に誤ってグレーリストに追加され、チャンネルをあふれさせる原因となります。
pgkbotとの比較
[edit]SWMTBot は、pgkbotを参考にSmall Wiki Monitoring Team と、1つのチャンネルで複数のプロジェクトを監視したい利用者のニーズのために、C#で開発されました。 大多数のコマンドは、pgkbot と同じであり、同等の機能を持っています。また、可能な限り pgkbot と近いメッセージになっています。
SWMTBot の新機能 | pgkbot にはあっても、SWMTBot には無い機能 |
---|---|
|
|
インストール
[edit]安定版リリース 1.19.0
[edit]- SWMTBot は、ここからダウンロードすることができます。
- 適当な場所にBotのNicknameでフォルダーを作成します。(例:
/Users/johndoe/MyRCbot
) - 解凍したzipファイルの中に含まれる
/SWMTBot/bin/Release
より、先ほど作成した新しいフォルダーへすべてコピーします。 - 解凍したzipファイルのルートより、
Console.msgs
とsqlite3.dll
を、新しいフォルダーへコピーします。 - プレーンテキストとして、
SWMTBot.ini
をSWMTBot-sample.iniよりコピーして作成します。 - 最低限、SWMTBot.ini の "
botnick
" と "botpass
" (場合によってはNickServ loginも) を適切に修正して保存してください。 - 端末で「MyRCbot」フォルダーに移動し、"
mono SWMTBot.exe
" コマンドを実行してBotを作動させてください。 - Botはirc.freenode.org 上の "
feedchannel
" に指定されたチャンネル(標準: #cvn-sandboxconnect)へ参加します。これでBotが作動する状態になりました。
開発版 1.20beta
[edit]- SVNより
https://svn.toolserver.org/svnroot/p_swmtbot
をチェックアウトします。 - 適当な場所にBotのNicknameでフォルダーを作成します(例:
/Users/johndoe/MyRCbot
)。 - SVNよりチェックアウトした、
/SWMTBot/bin/Release
の中に含まれるすべてのファイルを、先ほど作成した新しいフォルダーにコピーします。 - SVNよりチェックアウトしたファイルのルートに含まれる、
SWMTBot-sample.ini
とSWMTBot.exe.config
を、新しいフォルダーにコピーします。 - あなたのBotフォルダーには、次の 10個のファイル (要確認!)が存在するはずです: Console.msgs, Meebey.SmartIrc4net.dll, Mono.Data.SqliteClient.dll, Projects.xml, SWMTBot.exe, SWMTBot-sample.ini, SWMTBot.exe.config, SWMTBot.exe.mdb, log4net.dll and sqlite3.dll
- SWMTBot-sample.ini を SWMTBot.ini としてリネームした上で、"
botnick
" (それと "botpass
" もしNickServにログインさせる場合)の値を適切に修正します。 - 以前のバージョンからのアップグレードの場合:
- 古い SWMTBot.ini より、設定値をコピーすることができます。ただし、古いファイルそのものを新しい設定ファイルと交換することは、推奨されません。-sample.ini よりコピーし、古い設定ファイルより設定値を引き継ぎつつ、新しい設定ファイルを作成しなおしてください。
- もし以前のBotが 1.19 以上であれば、Lists.sqlite と Projects.xml をあなたの古いBotのディレクトリよりコピーすることができます(Projects.xmlは古いものへと上書きする)。
- 端末で「MyRCbot」へ移動し、"
mono SWMTBot.exe
"コマンドを実行してBotを作動させてください。 - Bot は irc.freenode.org 上の "
feedchannel=
" に指定されたチャンネル(標準:#cvn-sandboxconnect)へ参加します。これでBotが作動する状態になりました。
ライセンス
[edit]SWMTBot のソフトウェアは、MIT License ライセンスの下で利用することができます。