利用者:Triglav/Triwiki

とり・うぃき[編集]

MediaWikiシステムに保存されている記事など各ページをローカルPCからの自動操作で編集するツールです。

対応OS[編集]

  • Windows Vista, 7, 8? および Internet Explorer 7?, 8?, 9, 10, 11?

事前の準備[編集]

Botとして使用するアカウントでログインし、Bot向けに用意された権限を制限する機能「特別:BotPasswords」にて任意のBot名を作成し、生成されたaccountとpasswordを控えます。登録の際に許可する権限はTriwikiの場合、最低限「多量の編集」「既存のページを編集」「保護されたページを編集」「ページを作成、編集、および移動」にチェックを入れてください。

導入手順[編集]

  • 任意の新規フォルダ(Triwikiなど)を作成する。
  • #文字置換処理にある4つのページをコピーし、テキストエディタを使い新規フォルダにページ名と同じファイル名で保存する(空白がある場合は_に置き換えてください。例:Period_A.js)。※作業を容易にするためにフォルダのメニューから>ツール>フォルダオプション>表示>「登録されている拡張子は表示しない」のチェックを外しておきます。
  • Triwiki.cfgをテキストエディタで開き、accountとpasswordを書き込む(Botフラグ取得に関わらず、ボットアカウントを用意してください)。
  • Test.txtを開き、冒頭の指示どおりに書き換えて保存する。
  • Test.txtをTrireplace.jsにドラッグ&ドロップする(プレビュー)。
  • Test.txtを開き、submit=を0から1に書き換えて保存する。
  • Test.txtをTrireplace.jsにドラッグ&ドロップする(ウィキペディアを実際に更新)。テスト完了。
  • #jawp個別定期稼動から稼動させたいスクリプトをフォルダに保存する。
  • そのスクリプトファイルをクリックする(定期処理が作動します)。

定期稼動の運用[編集]

Wikipedia:Bot作業依頼/定期作成ページのメンテナンスに記載されている各ページの自動作成または更新を行います(一部リリース準備中)。作業分担にご協力お願いいたします。

ご注意[編集]

  • 既定値として設定されている更新間隔は10秒です。この更新間隔は、日本語版ウィキペディアではテスト時(アカウント生成のあと最初のおよそ200投稿分)のみ許されているもので、それ以降は60秒間隔に変更する必要があります。10秒間隔を続ける場合は、Botフラグを申請してください。
  • 処理件数に制限はありませんが、処理が遅くなったり表示が困難になるおそれがあります。多い場合は処理を分けて作業してください。目安は1000件です。
  • 処理結果として出力されるxxxx.htmは常に上書きされます。同じ処理名を繰り返し使う場合で前回の結果の保存が必要なときは、ファイル名を改名するなどして退避させてください。
  • Bot実行中にモニターとして使うIEの画面を手動で閉じるとBotは強制終了します。
  • 稀にMediaWikiシステムとの通信に失敗することがあり、その場合はリトライのためにおよそ1分間待機します。
  • モニター非表示等で実行状態が判らなくなった場合は、ログファイルのxxxx.htmを開いて逐次リロードすることで進行状況を確認できます。ログファイルにも変化が見られないときは、タスクマネージャー(Ctrl+Shift+Esc)を起動させ、プロセスタブのリスト上に「wscript.exe」があるか確認してください。強制終了が必要であればプロセスを終了させてください。
  • 複数のスクリプトを同時に稼動させると後から起動したアカウントにログインし直され投稿記録が混ざってしまいますので、スケジュールの調整で稼動時間が重ならないようにしてください。

ソース[編集]

文字置換処理(基本セット)[編集]

Trireplace.js
ページ更新の役割を担う文字置換スクリプト。
Triwiki.js
ライブラリファイル。
Triwiki.cfg
アカウント情報などを保存する設定ファイル。
Test.txt
文字置換を実行するための指示データファイル。そのサンプル。

jawp個別定期稼動[編集]

以下のスクリプトをTriwikiのフォルダーにコピーして.jsファイルをクリックしてください。指示データファイルが生成され文字置換が実行されます。ファイル名の末尾を_nとするとバックグラウンドで動作します(例:Period_A_n.js)。

Period_D.js
月の変わり目で実行する新規作成や更新ページ群。月末一回起動。
Pump.js
Wikipedia:井戸端の自動除去およびサブページ化。毎時ごとの定期稼動(30分の待機処理を含む)。または、ファイル名末尾を_s とすることで随時クリックによる起動が可能になります。
Translation.js
Wikipedia:翻訳依頼の自動除去。1日1回程度の間隔。
Hot.js
Wikipedia:議論が盛んなノートの生成。1日2~3回程度。
RFD.js
Wikipedia:リダイレクトの削除依頼/受付に提出されたリダイレクトに関連する記事や作成者への議論告知タグ貼り付け・剥がし。
RFDkako.js
Wikipedia:リダイレクトの削除依頼/受付の終了案件を月ごとの過去ログページに転記。
Period_A.js(廃止)
Period_B.js(廃止)
Period_C.js(廃止)
Welcome.js(システム変更による運用停止)
Teian.js(不具合により休止中)
Kyouka.js(新バージョン移行により)

Trireplaceの使い方[編集]

ここでは、Trireplace.jsにドロップして使う指示データファイル(xxxx.txt)について説明します。よく使う書式を雛形として保存し、コピーをして使うと便利です。記事名などに特殊な漢字等が使用されてテキストが保存できない場合は、エンコードをunicode(UTF-16)に変更してください。

冒頭部[編集]

処理共通の設定を記述します。

  • configfile = 設定ファイル名(省略値:Triwiki.cfg)
  • configset = 設定セット名(省略値:standard、設定ファイルTriwiki.cfg内の説明を参照)
  • monitor = モニターとしてIEを使用(省略値:1:使用する, 0:使用しない)
  • submit = 実行フラグ(省略値:0:更新実行しない, 1:更新実行する, 2:編集のない更新「空編集」専用)

#setings[編集]

次に続く#pagesに書かれているページに対しての個別の設定です。処理設定と置換条件に分かれます。

  • 処理設定
    • mode = (省略値:C:検索用, A:置換用)
    • summary = 要約欄(省略値:bot、文字数をチェックしていません。ウィキ側の制限に注意)
    • botflg = Botフラグを持ったアカウントの場合(省略値:1:フラグあり, 0:フラグを外す)
    • minor = 細部の編集(省略値:1:オン, 0:オフ)
    • nobots = nobots簡易判定(省略値:0:判定有効, 1:判定を無視する、nobotsまたはbotsテンプレートが現れた場合でも無視して更新を行います)
    • timeskip = send無反応時に(省略値:0:処理中断, 1:以降のページを処理)
  • 置換条件(1行につき1つの置換条件を記述します。上の行から順番に置換判定を行います。)
    • 1桁目(命令種別)
      • a - 基本変換。
      • s - サブ変換。基本変換が1件もヒットしなかった場合はエラーとなります。
      • t - テスト変換。更新時は無視されます。プレビュー時は最後の行に置くようにします。
      • e - 未存在判定。ヒットしたらエラーになります。例:記事が空の判定「e,^[\s\S]+$,」。
      • f - 存在判定。ヒットしない場合はエラーとなります。
      • c - データ退避。直前の検出内容(0番)を1~9までの退避エリアに格納します。例:直前検索値格納0を格納1へ退避「c,0,1」。退避1を置換後文で使用する場合は「\1」と書きます。
    • 2桁目(検出方法)
      • , - 条件文に正規表現を使用します。条件文の最後に/iを使うと大小文字を区別しません。
      • ; - wiki書式を簡易判定します。改行\nと[[、{{、|、およびそれら前後の空白を検知します。リンク元修正などに効果的です。
      • : - 正規表現を使用しません。条件文のとおりに検索します。
    • 3桁目以降(条件文および置換後文)
      • 検索の条件文と置換後文を並べて書きます。間は「,」で区切ります。「,」自身を記述するときは「\,」としてください。

#pages[編集]

編集したい記事名を1行1件で列挙します。

その他[編集]

「#setings」と「#pages」で1組です。これらを何組も連続で並べることができます。別ページへ文章を転記するなど処理が複雑な場合に使用します。文章を転記するときは、履歴不継承とならないように要約欄の記述に注意してください。

定時にBotを動かすには[編集]

定時にBotを動かす場合は「タスク スケジューラー」を用いて自動でBotを起動させます。

  • スタートメニュー>すべてのプログラム>アクセサリ>システム ツール>タスク スケジューラ(Windows Vistaの場合)

タスクを作成する際には、「開始(オプション)(T):」という項目にカレントのディレクトリ(Triwikiスクリプトの所在フォルダー)を必ず設定してください。詳しくはWindowsのヘルプをご覧ください。

不明な点は[編集]

利用者‐会話:Triglav/Triwikiに問い合わせてください。