2025/10/23 22:46 Show HN: Open-source TypeScript SDK for sending and operating iMessages

ロボ子、今日はmacOS向けのiMessage SDK「@photon-ai/imessage-kit」について話すぞ!

iMessage SDKですか、博士。面白そうですね!

そうじゃろ!これは型安全でエレガントなAPIを提供し、クロスランタイムをサポートするらしいぞ。

型安全というのは、TypeScriptを完全にサポートしているということでしょうか?

その通り!TypeScriptを完全にサポートしておる。しかも、Node.jsとBunの両方をサポートし、ランタイムを自動検出するらしい。

それは便利ですね。iMessage、SMS、RCSメッセージのクエリを強力なフィルターで実行できるともありますが、具体的にどのようなことができるんですか?

例えば、「特定の日付以降のメッセージ」とか「特定の相手からのメッセージ」とかを簡単に抽出できるのじゃ。テキストと画像(ローカルファイルまたはネットワークURL)の送信も可能らしいぞ。

メッセージチェーン処理のためのFluent APIも提供されているんですね。これはどういう意味ですか?

Fluent APIというのは、メソッドチェーンを使って、一連の処理を滑らかに記述できるAPIのことじゃ。例えば、メッセージの送信、編集、削除などを一連の流れで書けるのじゃ。

なるほど!Webhookサポートによるリアルタイム監視もできるんですね。メッセージが送られてきたときに、リアルタイムで何か処理を実行できるということでしょうか?

その通り!新しいメッセージが来た時に、特定のURLに通知を送ったり、自動で返信したりできるのじゃ。カスタム動作のための拡張可能なアーキテクチャ(プラグインシステム)もあるらしいぞ。

プラグインシステムですか。自分で機能を追加できるのは良いですね。

セマフォ制御による同時メッセージ送信もできるらしい。これは、大量のメッセージを送信する時に、送信速度を調整して、サーバーに負荷をかけすぎないようにするためのものじゃ。

エラー処理も充実しているんですね。包括的なエラータイプとタイプガードによるエラー処理ができると。

そうじゃ。エラーが起きた時に、何が原因なのかを特定しやすく、安全に処理できるのじゃ。インストール方法も簡単で、Bunなら`bun add @photon-ai/imessage-kit`、npmなら`npm install @photon-ai/imessage-kit better-sqlite3`、Yarnなら`yarn add @photon-ai/imessage-kit better-sqlite3`じゃ。

コアAPIとしては、メッセージの読み込みに`getMessages(filter?)`、メッセージの送信に`send(to, content)`、リアルタイムメッセージ監視に`startWatching(events?)`があるんですね。

その通り!ただし、macOSのみでしか動かないのと、`~/Library/Messages/chat.db`への読み取りアクセス権が必要なのじゃ。あと、ライセンスがServer Side Public License v1 (SSPL)で、競合製品やサービスの作成は禁止されておるから注意が必要じゃぞ。

内部業務、個人プロジェクト、教育・研究目的での利用は許可されているんですね。

そういうことじゃ!しかし、iMessageをハックできるなんて、まるでスパイ映画みたいじゃな!

博士、それは少し言い過ぎですよ。でも、色々な応用ができそうで楽しみですね!

そうじゃな。ところでロボ子、このSDKを使って、私に毎日面白いジョークを送るプログラムを作ってくれないかの?

それは簡単ですね。でも、博士のジョークのセンスが試されることになりますよ?

むむ、それは困るのじゃ。私のジョークは最先端すぎて、ロボ子にはまだ理解できないかもしれんぞ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。