90
iChatでチャットを自動承認する

木曜日の朝に、OS X 10.5 iChat の簡単ヒント(OS X 10.4 のバリエーションと iTunes/iChat のちょっとしたヒントも追加)をご紹介します。iChat は、誰かがチャットを始めるとダイアログボックスを表示し、そのダイアログでチャットリクエストを承認または拒否できます。しかし、もしあなたが社交的で、チャットの招待をいつも承認してしまう場合はどうでしょうか?その場合、このダイアログボックスは時間とエネルギーの無駄で、できれば不要なものになります。では、毎回承認ボタンをクリックせずに、このダイアログボックスを消すにはどうすればいいのでしょうか?

Tigerでは、iChat拡張機能であるChaxをインストールすることでこれを実現できます。ただし、現時点ではChaxはLeopardでは動作しません(近日中にアップデートがリリースされる予定です)。Chaxは他にも多くの機能を追加し、中でもTiger iChatユーザー向けのタブが特に注目に値します。私はOS X 10.4でChaxを頻繁に使用していました。

しかし、Leopardではタブのサポートに加え、貼り付けた画像をダブルクリックしてプレビューで開く機能も搭載されたので、Chaxが恋しいと感じたことはなかった。チャット招待の自動承認機能を除いては。しかし、OS X 10.5のiChatを調べてみたら、iChatの環境設定の「通知」セクションに「AppleScriptを実行」という新しいオプションがあることに気づきました。ダイアログボックスには標準化されたボタンが表示されるので、「承認」ボタンの押下をシミュレートするAppleScriptを書けるかもしれないと思いました。

しかし、「AppleScriptを実行」ボタンをクリックすると、驚きの事実が判明しました。Appleはすでに私たちのために大変な作業を済ませてくれているのです!そこには3つのスクリプトが含まれていました。1つは自動接続用、1つは自動拒否用、そしてもう1つはiTunesコントローラーとして機能するスクリプトです。

自動承諾したいチャットの種類(イベント:テキスト、音声、ビデオによる招待)ごとに、「AppleScript を実行」チェックボックスをオンにし、自動承諾する AppleScript を指定します。これらのスクリプトのソースを確認したい場合は、「ライブラリ」→「スクリプト」→「iChat」フォルダの最上位フォルダにあります。独自のスクリプトを作成して使用したい場合は、ユーザーの「ライブラリ」フォルダに同じディレクトリ構造(「スクリプト」→「iChat」)を作成すれば、iChat はそこにスクリプトを見つけます。

はい、これはまさにiTunesコントローラのAppleScriptです。もしご家庭にMacが複数台ある場合は、iChatでBonjourメッセージを使用するように設定し(環境設定→アカウント)、iTunesを所有するMacで新規メッセージを受信時にこのAppleScriptを実行するように設定してください。すると、別のMacからiTunesを所有するMacに、status、next、previous、mute、unmute、help、play、pauseというコマンドをチャットメッセージとして送信できるようになります。各コマンドを1行ずつ入力し、Returnキーを押すだけで、相手側のiTunesコントローラAppleScriptがiTunesに指示を出します。