TwitterのメッセージをMTのブログ記事にする

昨日に続いて、近日発売予定のTwitter本で、ページ数の関係でカットした原稿を、当Blogで公開します。
今日は、Brandon Fuller氏が作成した「MT-Twitter」というプラグインを使って、Twitterに送信したメッセージを、Movable Typeのブログ記事にする方法を紹介します。

1.MT-Twitterプラグインの概要

MT-TwitterプラグインはBrandon Fuller氏が作成したプラグインで、Twitterに自分が投稿したメッセージを定期的に受信して、Movable Typeのブログ記事として保存する働きをします。
当記事の時点では、Movable Type 4専用のバージョン4.0.0.0が最新版でした。
投稿先のブログやカテゴリーを選ぶことができますので、既存のブログの一部としてTwiterのメッセージを保存したり、Twitter専用に別ブログを立ててそちらにメッセージ保存したりすることができます。

なお、MT-Twitterプラグインは有償です。しばらく試用してみて、そのまま使い続けるのであれば、作者に10ドルを送金します。

2.モジュールの更新

MT-Twitterプラグインでは、Perlの「JSON」というモジュールを使っています。
ただ、Movable Typeに標準で入っているJSONモジュールはバージョンがやや古く、日本語への対応が不完全です。
そのため、そのJSONモジュールのままでは、Twitterから日本語を含むメッセージを受信したときに、MT-Twitterプラグインがエラーを起こしてしまうことがあります。
そこで、JSONモジュールのバージョン1.14に更新します。このモジュールは、以下のページからダウンロードすることができます。

JSON-1.14のダウンロード

ダウンロードしたファイルは、「tar.gz」というUNIX向けの圧縮ファイルになっています。
Windowsでは、標準ではtar.gz形式を解凍する機能がありませんので、何らかの解凍ソフトをインストールして解凍します。
たとえば、「Lhaplus」というツールを使うと、tar.gz形式を解凍することができます。このツールは以下のページからダウンロードすることができます。

LHAPlusのダウンロード

ファイルを解凍すると、「lib」というディレクトリが作られ、その中に「JSON.pm」
「JSONRPC.pm」の2つのファイルと、「Apache」「JSON」「JSONRPC」の3つのフォルダが作られます。
これらから、以下の通りにファイルをアップロードします。

  • 「JSON.pm」ファイルを、Movable Typeのインストール先にある「extlib」ディレクトリにアップロード
  • 「JSON」フォルダにある「Parser.pm」ファイルを、Movable Typeのインストール先にある「extlib」→「JSON」ディレクトリにアップロード
  • 「JSON」フォルダにある「Converter.pm」ファイルを、Movable Typeのインストール先にある「extlib」→「JSON」ディレクトリにアップロード

3.MT-Twitterプラグインのインストール

モジュールの更新が終わったら、MT-Twitterプラグインをインストールします。

3-1.MT-Twitterプラグインのダウンロード

MT-Twitterプラグインは、以下のページでダウンロードすることができます。

MT-Twitterプラグインのページ

ページを下の方にスクロールしていくと、「Download」の箇所がありますので、「Twitter.zip」のファイルをダウンロードします。

MT-Twitterプラグインのページ
MT-Twitterプラグインのページ

3-2.MT-Twitterプラグインのインストール

ファイルのダウンロードが終わったら、解凍して「Twitter.pl」ファイルを取り出します。
そして、このファイルをMovable Typeのインストール先にある「plugins」ディレクトリにアップロードします。

4.MT-Twitterプラグインの初期設定

MT-Twitterプラグインのインストールが終わったら、次にMovable Typeにログインして、プラグインの初期設定を行います。

メッセージの取り込み先のブログを管理する状態にして、「設定」→「プラグイン」のメニューをクリックします。
すると、ブログごとに設定できるプラグインが一覧表示されますので、MT-Twitterプラグインの箇所をクリックして開き、その中の「設定」をクリックして、MT-Twitterプラグインの設定を開きます。
設定項目は多数ありますが、以下のように設定します。

設定項目設定方法
Enabledチェックをオンにします。
UsernameTwitterの自分のユーザー名を入力します。
TitleMT-Twitterプラグインでは、Twitterの1つひとつのメッセージがブログの記事になります。
「Title」の欄では、各記事の先頭につけるタイトルを指定します。
Category記事の投稿先カテゴリーを指定します。
指定したカテゴリーがまだない場合は、そのカテゴリーが作られます。
また、この欄を空欄にすると、カテゴリーなしの記事として保存されます。
Allow Comments記事にコメントをつけられるようにしたい場合は、チェックをオンにします。
Replies誰かへのReply(「@ユーザー名」を含むメッセージ)も記事として保存したい場合は、チェックをオンにします。
Excludeメッセージを記事にする際に、特定の語句を含むメッセージを除外したい時は、正規表現を使って、除外する語句を指定します。
Convert URLsメッセージ内にURLがあった場合、それを自動的にリンクに置き換えたい場合、チェックをオンにします。
Debug Log通常はチェックをオフにしておきます。

↓MT-Twitterプラグインの初期設定
MT-Twitterプラグインの初期設定

5.メッセージ取得処理を定期的に実行する

MT-Twitterプラグインは、インストールするだけでは動作しません。
このプラグインの処理が定期的に実行されるようにする必要があります。

5-1.cronを設定する

UNIX系の一般的なサーバーでは、「cron」を設定することで、さまざまな処理を指定日時(または定期的)に実行することができます。
自分でサーバーを管理している場合や、レンタルサーバーでもcronの設定を行えるところであれば、cronの設定を変えます。

Movable Typeでは、定期的な処理を行うためのツールとして、「run-periodic-tasks」というスクリプトが同梱されています。
Movable Typeのインストール先の中の「tools」ディレクトリに、このツールがあります。
cronの設定を変えて、run-periodic-tasksが定期的に実行されるようにすると、MT-Twitterプラグインも動作するようになっています。

なお、cronの設定を変える方法は、サーバーによって異なります。
レンタルサーバーの場合は、そのサーバーの業者のマニュアルやヘルプを参照してください。
また、自分でサーバーを管理している場合は、「crontab」というコマンドで、cronの設定を変えることができます。

cronでrun-periodic-tasksを実行する方法の詳細は、Movable Typeのヘルプの以下のページを参照してください。

指定日投稿や公開キュー等のスケジュール処理の設定

5-2.RunPeriodicTasksプラグインを使う

レンタルサーバーだと、cronを使えないところもあります(例:ロリポップ)。
そのような場合は、筆者が開発した「RunPeriodicTasks」というプラグインを使う方法があります。

このプラグインは、ブログに誰かがアクセスしたときに、前述の「run-periodic-tasks」スクリプトを実行する働きをするものです。
動作の原理から、アクセスが少ないブログだと実行間隔が長くなってしまうという弱点がありますが、そこそこのアクセスがあるブログなら十分に利用できます。

RunPeriodicTasksプラグインのインストール方法など、詳細については以下の記事を参照してください。

「ほぼ」指定日投稿(JavaScript版)