Jump to content

Manual:Pywikibot/user-config.py

From mediawiki.org
This page is a translated version of the page Manual:Pywikibot/user-config.py and the translation is 71% complete.

設定

プログラムを実行する前に、pywikibot ディレクトリに user-config.py という名前のファイルを作成する必要があります。 次のいずれかの方法で作成してください。

  1. 手動でファイルを作成します。 少なくとも2つまたは3つの変数を設定し、正しい位置に置く必要があります。
  2. コマンドシェルで python pwb.py generate_user_files.py と入力しスクリプト generate_user_files.py を実行すると、対話形式のウィザードでファイルを作成できます。生成されたファイルは既定の設定場所に保存されます。

場所

Pywikibotは以下の場所で順番にuser-configを探します。

  • -dir: 引数を介して指定します(例:-dir:/foo/bar
  • 環境変数 PYWIKIBOT_DIR の設定内容
  • 現在のディレクトリ
  • pwb.py ファイルが格納されているディレクトリ

アプリケーションデータ・ディレクトリ(Windowsの場合)、またはホームディレクトリ内にある Pywikibot ディレクトリ(このディレクトリは自動的に作成されます)

(関連項目: get_base_dir().)

以下に、このファイルを手動で編集するための手順を説明します。

テキストエディタ(Windowsの場合はメモ帳など)を開き、テキストファイルを『user-config.py』という名前で『pywikibot』フォルダ内に保存してください。

お使いの言語で非ASCII文字(日本語などの全角文字)を使用する場合は、Notepad++などのUnicodeに対応したエディタを使用し、user-configファイルを『BOMなしのUnicode(UTF-8)』形式で保存してください。また、以下の記述を挿入するのを忘れないでください。

# -*- coding: utf-8 -*-

を、ファイルの1行目に記述してください。

以下の行を『user-config.py』に追記してください。

コード 説明
family = 'wikipedia'
mylang = 'en'
'xx'には、あなたが作業の対象とする言語のコードを指定します。例えば、英語であれば'en'となります。[1] 『ファミリー』とは、プロジェクト名(サイトの種類)のことを指します。[2]
usernames['wikipedia']['en'] = 'ExampleBot'
user-config.pyファイルには、ボットのユーザー名を指定する必要があります。

この例では、ユーザーが英語版Wikipediaで作業を行っており、すでに『ExampleBot』という名前でボット用のアカウントを作成済みであることを想定しています。[3]

(オプション)
authenticate['*.wikipedia.org'] = ('<consumer_key>','<consumer_secret>', '<access_key>', '<access_secret>')

これにより、パスワードによる認証をOAuthに置き換えることができます。OAuthは、より安全な認証方式です(特に、複数人で共同管理しているボットにおいては非常に有効です)。 キーやシークレットの取得方法については、Pywikibot/OAuth(英語)を参照してください。

(オプション)
usernames['wikipedia']['de'] = 'BeispielBot'
usernames['wikipedia']['en'] = 'ExampleBot'
usernames['wiktionary']['de'] = 'BeispielBot'
もし複数のウィキメディア・プロジェクトで作業を行う場合は、それぞれのユーザー名を複数追加することも可能です。
(Optional, and rarely needed)
console_encoding = 'utf-8'
textfile_encoding = 'unicode_escape'
If this is the encoding used by your system. Always try without first.
(Optional)
sort_ignore_case = True

Some scripts may use this for sorting, e.g. solve_disambiguation.py . 既定値は false です。 Capitalized titles will preceed uncapitalized ones if this key is false or omitted, and capitalization will be disregarded by sorting if phpi|true.

(Optional)
password_file = "user-password.py"
Define a password file. The lines of the file should be tuples in any of the following formats:
(code, family, username, password)
(family, username, password)
(username, password)

For BotPasswords, refer to Pywikibot/BotPasswords.

(Optional)
user_agent_description = "Description <contact@email.com>"
A free-form string that can be user to describe specific bot/tool, provide contact information, etc.

Now save user-config.py again.

user-config.py examples

EksempelBot on no.wikipedia

mylang = 'no'
usernames['wikipedia']['no'] = 'EksempelBot'

console_encoding = 'utf-8'
use_api_login = True

ExampleBot on Commons

mylang = 'commons'
family = 'commons'
usernames['commons']['commons'] = 'ExampleBot'

console_encoding = 'utf-8'
use_api_login = True

ExampleBot on Wikidata

mylang = 'wikidata'
family = 'wikidata'
usernames['wikidata']['wikidata'] = 'ExampleBot'

console_encoding = 'utf-8'
use_api_login = True

ExampleBot on Test wiki

mylang = 'test'
family = 'test'
usernames['test']['test'] = 'ExampleBot'

ExampleBot on Test2 wiki

mylang = 'test2'
family = 'wikipedia'
usernames['wikipedia']['test2'] = 'ExampleBot'

BeispielBot on de.wikipedia and de.wikibooks, with de.wikipedia as main wiki

mylang = 'de'
usernames['wikipedia']['de'] = 'BeispielBot'
usernames['wikibooks']['de'] = 'BeispielBot'

console_encoding = 'utf-8'
use_api_login = True

ウィキメディア財団ではないWikiを利用する場合

詳細はメインページ「Pywikibot/ウィキメディア財団外のウィキでの利用」をご覧ください

関連項目

  • config.py(user-config.py を読み込み、解釈するモジュールのソースコード)

注記

  1. もし複数の言語で作業を行いたい場合は、その中で最も頻繁に使用する言語を一つ選んでください。 この設定は、コマンドラインで -lang:zh パラメータを使用することにより上書きが可能です(例として、中国語を指定する場合)。
  2. メタ・ウィキ(Meta)では言語コードとウィキ・ファミリーの両方に『meta』を使用します。同様に、コモンズ(Commons)では両方に『commons』、テストウィキ(Testwiki)では両方に『test』を使用します。また、多言語版ウィキソース(multilingual wikisource)では、言語コードに『-』を指定します。 この設定は、コマンドラインで -family:wikibooks パラメータを使用することにより上書きが可能です。
  3. LinuxやUnix環境では、ユーザー名の大文字と小文字が厳密に区別されることに注意してください。 ログイン自体は問題なく行えるように見えていても、ログインのテスト時やボットの使用時に、正しいクッキーファイルが参照されず、結果としてAPIへ匿名(ログインしていない状態)でアクセスしてしまうことがあります。 この現象は、匿名アクセスが許可されていない非公開ウィキや、サードパーティ認証(外部認証)を利用している場合に、接続トラブルの原因となる可能性があります。 MediaWikiの標準的なユーザー名や、LDAPなどの外部認証から取得されたユーザー名は、最初の1文字目が大文字になります。したがって、例えば『user』という名前であっても、システム上は『User』として扱う必要があります。


ご使用の Pywikibot のセットアップにさらなるヘルプが必要な場合は、IRC チャンネル #pywikibot 接続 または pywikibot@ メーリング リストにお問い合わせください。