Extension:AssertEdit/ja


 * wikiを手助けするボットを手助けします.

私がボットを取り扱い始めたとき、たくさんの悪い編集を行うシンプルなオペレーションエラーが発生する潜在的な可能性に気がつきました; 例えば オプションを入力することを忘れたため、 テストのwikiで実行させるはずが、間違ってwikipediaで実行させてしまうことがあります. またボットがログアウトして、ボットフラグ無しで、ブロックされるまで、匿名で編集を続ける可能性もありえます.

サーバーサイドのサポート無しでは、ボットがログインしているか判定することは簡単ではありません. 不幸なことに、これまでそのようなサポートは利用できませんでした.

どのように動くのか
編集するとき、ボットはアサーションをURLに追加します. このアサーションが成功すると、拡張機能は何もせず、編集は通常通り続行します. アサートが失敗したら、拡張機能は通常の編集インターフェイスをシンプルなエラーメッセージに置き換えます. ボットはこのメッセージを検知し、エラーをオペレータに表示できます; しかし、それを探さなかったボットは明らかな方法で失敗します. これによって悪い編集が行われることを防止します.

これは もしくは をURLの終わりに追加することでシンプルに行われます. assertはassertionがポジティブであることを保証する一方で、nassertはそれがネガティブであることを保証します. assert かnassertが使われているか関係なく、カテゴライズされていないアサーションは常に失敗します. これによって誤って入力されたアサーションの発見を手早くできるようになります. 加えて、ローカルボットが偶発的に他のサイトを襲わないように、サイトは独自のアサーションを追加できます. ポジティブとネガティブの両方のアサーションが指定された場合、 両方とも成功しなければなりません. 例えば、 ボットがログアウトしたもしくは既存のページを編集しようとするとaction=edit&assert=bot&nassert=existsは失敗します.

インストレーション
これをインストールするために、AssertEdit.phpファイルをダウンロードして、./extensions/AssertEdit/に設置し、 のような一行をLocalSettings.phpに追加する.

新しいアサーションは ,で追加できます. keyはアサーションの名前で、valueはその値です; trueはアサーションが成功、falseは失敗することを意味します.

valueは論理値(true or false)のどちらか、もしくは関数(PHP is_callable関数で定義されたもの)で、論理値を返すものです.

valueが間違った型である、もしくはkeyがオーバーライドできないアサーションに対応する場合AssertEdit::setAssertは失敗します.