Skip to content

Jabber クライアントで Google Talk とおしゃべりする

Jabber は Jabber 社が作った XML ベースのプロトコルである XMPP をベースにした、インスタントメッセンジャーに関連するクライアントやサーバの総称です。 Google Talk の基盤として利用されたことが、Jabber を一層、有名にしたように思います。Python からも xmpppy というモジュールを使うことで手軽に Jabber クライアントを作ることが出来ます。

xmpppy のインストール

xmpppy のダウンロードページから最新版のモジュールをダウンロードし、インストールします。現時点での最新版は 0.5.0rc1 でした。

1
2
3
$ tar zxvf xmpppy-0.5.0rc1.tar.gz
$ cd xmpppy-0.5.0rc1
$ sudo python setup.py install

Google Talk とおしゃべりしてみる

xmpppy の利用は簡単です。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
#!/usr/bin/env python

import xmpp

domain   = 'gmail.com'
server   = ('talk.google.com', 5223)
user     = 'USER'
password = 'PASSWORD'
resource = 'xmpppy'
dest     = 'XXXX@gmail.com'
message  = 'Hello, World!'

client = xmpp.Client(domain, debug=[])
client.connect(server)
client.auth(user, password, resource)
client.send(xmpp.Message(dest, message))

パラメータの意味は以下の通りです。

  • domain
    • Jabber ドメイン名です。Google Talk の場合、大抵は gmail.com になるはずです。独自ドメインで Google Apps を使っている場合は、(gmail.com では無く)独自ドメインを指定します。
  • server
    • サーバを指定します。Google Talk の場合、talk.google.com の 5223/UDP を指定することになります。
  • user
    • Jabber にログインするユーザ名になります。
  • password
    • ユーザ名に対するパスワードを指定します。
  • resource
    • ログインユーザのリソース情報を指定します。任意の文字列で構いません。
  • dest
    • メッセージを送る、宛先のアカウントを指定します。
  • message
    • 送信したいメッセージを指定します。