最新のコンパイル済みダウンロードについては、リリース ページをチェックしてください。
強力で簡単に拡張可能な iMessage ボット。これにより、iMessage の会話にチャット ボット機能を追加できるようになります。これには、いくつかの基本的なコマンドが組み込まれています。Web フック、REST API を使用するか、プラグインをインストールすることによって、API 統合、ゲーム、カスタム エモートなどを追加できます。
プル リクエストや GitHub の新しい問題は大歓迎です。 Jared 用のプラグインを開発したい場合は、以下のプラグイン セクションを参照してください。アイデアや提案があれば、いつでも Twitter でお待ちしています。
Jared は、アクティブなメッセージ アカウントがログインしている macOS を実行しているマシンで実行する必要があります。Jared は 10.14 Mojave 以降でのみテストされています。古いバージョンの macOS でも動作する可能性がありますが、メッセージ データベースのスキーマが変更されている可能性があるため、動作は保証されません。 Jared があなたとして投稿したくない場合は、Mac 上に新しい Apple ID とユーザー アカウントを作成し、そのユーザーでバックグラウンドで実行することをお勧めします。そうすれば、メインの Apple ID は使用されなくなります。
上部のダウンロードセクションを参照してください。
これは、メッセージ データベースへのアクセスを制限する macOS 権限のため必要です。
macOS Catalina 以降を実行している場合は、メッセージ アプリを自動化するために Jared へのアクセスを許可する必要があります。これにより、Jared はメッセージを送信できるようになります。
オプションで、Jared に連絡先へのアクセスを許可して、連絡先の名前を提供および更新できるようにすることができます。連絡先は名前の設定/取得のみに使用されます。
REST API を使用する場合は、それを有効にする必要があります。 Mac でファイアウォールが有効になっている場合は、Jared がバインドしているポートへのアクセスを許可するように求めるダイアログが表示されます。
参考までに、Jared に組み込まれているコマンドのリストを次に示します。プラグインを使用して機能を追加できるため、組み込みの機能は軽量に保たれます。
/help
: すべてのコマンドをリストします。 /help,[command name]
特定のルートに関する情報を提供します。/reload
: プラグインをリロードします/enable
: Jared を有効にする/disable
: Jared を無効にします/ping
: チャットボットが利用可能かどうかを確認します/version
: 実行中の Jared のバージョンを取得します。/send
: メッセージを繰り返し送信します/schedule
: メッセージのスケジュールを設定します/name
: Jared の呼び方を変更する/whoami
: あなたの名前を取得してください/barf
: デバッグに使用されるメッセージの json 表現を返します。Thank you Jared
: ありがとうジャレッド構成ファイルは~/Library/Application Support/Jared/config.json
にあり、次のことが可能になります。
例については、config-sample.json を参照してください。
Jared は、独自のコマンドを簡単に追加したり、メッセージを自動化したりできるようにするさまざまな API を提供します。すべての API ドキュメントについては、ドキュメント ハブを参照してください。
追加のルートは、ネイティブ Swift コードで記述されたモジュール化されたプラグインを介して追加できます。プラグインは~/Library/Application Support/Jared/Plugins
フォルダーから動的にロードされます。モジュールをインストールするには、そこにドラッグして/reload
Jared に送信するか、UI でReload Plugins
をクリックします。
独自のプラグインの開発の詳細については、プラグインのドキュメントを参照してください。プラグインを開発した場合は、ここにリンクを追加できるように、リンクを私に連絡してください。私も独自の追加モジュールをいくつか作成する予定で、完成したらここに追加する予定です。
Jared は、受信メッセージと送信メッセージに関するサーバー情報を送信するための Webhook をサポートしています。サーバーはいつでもこれらのリクエストに応答してメッセージを送信したり、REST API を使用してメッセージを送信したりできます。 Webhook を構成するには、上記のconfig.json
に Webhook を追加します。 Webhook API の詳細については、Webhook のドキュメントを参照してください。
Jared には、有効化できる REST API を備えた Web サーバーが含まれています。これにより、HTTP リクエストを作成して任意の受信者にメッセージを送信できるようになります。詳細については、REST API ドキュメントを参照してください。
Jared は、設定された間隔でメッセージ データベースを読み取り、新しいメッセージをクエリします。メッセージに対するアクションを実行するためのルーティング フレームワークを提供し、AppleScript を使用して送信メッセージを送信します。また、マルチスレッドなので、複数のリクエストを一度に処理できます。 Jared では、 .bundle
プラグイン ファイル、Webhook、および REST API を介した拡張が可能です。これにより、メインの Jared コード ベースを変更せずにコマンドを追加できます。
MessagesKit などのプライベート API を使用してメッセージを送受信しようとしましたが、これまでのところ無駄でした。この点に関して何らかの手がかりがあれば、ぜひお聞きしたいと思います。