Help:Pywikipediabot/welcome.py
Welcome.pyは、新しい利用者の会話ページにウェルカムメッセージを貼付けるために、pythonで書かれたプログラムです。Pywikipediabotフレームワークの一部として動作します。
最新版を手に入れるときはSubversionを使うか、ここからスクリプトをコピーしてください。
動作の説明
編集- 毎ピリオド(デフォルトでは3600秒)ごとに、新しい利用者のリストを取得します
- ボットアカウントと、botを利用者名に含む利用者は無視されます。
- 利用者が基準点(デフォルトでは1編集)を超えるとチェックします。
- Optional:不適切な利用者名があれば、そのログをwikiのどこかに保存します。
- 利用者がなにか編集をしたら、トークページが空かどうかをチェックします。
- ページが空白なら、ウェルカムメッセージを貼付けます。
- ログのないページがあったら、そのログページの最初にヘッダーを作成します。
引数
編集このスクリプトは2つのテンプレートを使用します。
- {{WLE}}:ログのエントリをマークアップします。
- {{welcome}}:新しい利用者への案内。
次の引数が使用できます。
引数 | 説明 | 備考 |
---|---|---|
-edit[:#] | ウェルカムメッセージを貼付ける基準点(編集回数)を定義します。 | デフォルト: 1回、最大: 50回 |
-time[:#] | 何秒間待機するかを設定します。 | デフォルト: 3600秒 |
-break | 一回の作業が終わったとき、次の作業のために待機しないようにします。 | デフォルト: 無効 |
-nlog | ウェルカムメッセージを貼付けた利用者に関するログを保存しないようにします。 | デフォルト :無効 |
-limit[:#] | 何人の利用者をチェックするか設定します。 | デフォルト :50人 |
-offset[:TIME] | 他の利用者がウェルカムメッセージを貼付ける時間を与えるために、TIMEより新しいものに関して利用者のチェックをスキップさせます。 タイムゾーンはサーバーのもの(WikimediaであればGMT)。 フォーマットはyyyymmddhhmmss。 |
デフォルト : now |
-timeoffset[:#] | #(分)より新しい利用者をスキップさせます。 | |
-numberlog[:#] | 何人ごとにウェルカムログを出力するかを設定します。 | デフォルト : 4 |
-filter | 不適切な名前の利用者をチェックする機能を有効にします。 | デフォルト :無効 |
-ask | 不適切な名前であるとされたものを自分で確認するようにします。 | デフォルト : 無効 |
-random | wikiのページから取得した、ランダムな署名を使います。 | 日本語版では無効にするとの合意があります。 Bot作業依頼/ウェルカムメッセージ貼り付け依頼 |
-file[:#] | wikiのページから取得する代わりに、ファイルから署名のリストを取得します。この引数を使うのであれば、-randamを使う必要はありません。 | |
-sign | デフォルトで設定されているものの代わりにコマンドラインから入力した署名を用います。 | |
-savedata | 署名を用いたときに、その目録を保存します。 | |
-sul | 自動生成されたユーザーにもウェルカムメッセージを貼付けます。 | デフォルト :無効 |
-quiet | 投稿が表示されずに行われることを妨げます。 |
特別な引数のガイド
編集はき出されるレポート、不適切な単語、ホワイトリストについてのガイド。
- リストやレポートを保存したページをコードの中に差し込みます。
- これらのページにおいて、リストに加えたい名前をタプルで加える必要があります。また、他の文章をページに加えることもできます。これは問題になりません。
- 例: ('cat', 'mouse', 'dog')
- 2つのページが何をするのか?そうですね、botは利用者名の中に不適切な単語があったらそれをチェックし、それが実際にあるのなら、"warning"にします。 そのときbotは利用者名の中にホワイトリストに含まれる単語があるかもチェックします。もし含まれていれば、その単語を移動させ、他に不適切な単語がないか再びチェックします。。
- 例:
- dio が不適切な単語、
- Claudio は問題ない単語です。
- "Claudio90 fuck!"という名の利用者が来たら、
- botは"dio"を見つけ、"warning"にします。
- 次に"Claudio"を見つけると、botはこれを"ok"にします。
- 三度チェックし、botが"fuck"を見つければ、これを再び"warning"にし、処理を終了します。
- 結果: この利用者名は報告されます。
- 利用者がレポートされたとき、その名前をチェックし、次のようにする必要があります。:
- もしその名前が"ok"であるならば、{{welcome}}を出力してください。
- その名前が不適切であれば、その利用者をブロックしてください。
- テンプレートを使うか使わないかは、あなたが決めることができます。
- 最後に、そのページからその名前を除去してください。
重要: この指示の時,ボットは次のことをチェックします。
- 会話ページが存在するか。
- その利用者がブロックされているか。
- その利用者がレポートページに載っているか。
- これらがすべて偽なら、その利用者は報告されます。
Known Issues/FIXMEs
編集- exits when wiki is down.
- add variable for how many users to skip (f.e. the 10 latest users, that may not have made any edits)
- use default pages if a wiki is not configured, so no configuration of the script would be required at all. Suggestion: use English language defaults.
- The regex to load the user might be slightly different from project to project. (in this case, write to Filnik for help...)
- If the User talk: translation has non-standard character it won't work.
- Add in the report, the badword used to detect the user.