Applescript で Adium メッセージを受信する
-
22-09-2019 - |
質問
私は、Adium 用のシンプルなチャット ボットを作成しようとしています。このボットは、「笑」や「笑」を投稿し、一部の人が私を追加し続ける迷惑なグループ チャットでの基本的な質問に答えます。
「笑」の部分は、いくつかの単純な送信コマンドと遅延コマンドを繰り返すことでカバーしましたが、いくつかの対話も行う必要があります。
たとえば、疑問符が付いているものには「はい」と答えます...
信じられないかもしれませんが、このような単純なボットは、これらの会話についてはチューリング テストに合格します。
Adium 辞書を開いても、メッセージを取得する明確な方法は表示されません。また、Growl 辞書も表示されません。
メッセージを受信するたびにスクリプトを実行できることはわかりましたが、送信されたメッセージにアクセスする方法はありますか?
Adium 県 http://media.ruk.ca/images/adiumpreferences.png
私のコード:
tell application "Adium"
activate
set theChat to the active chat
send theChat message "Hi"
delay 5
send theChat message "How's life?"
delay 10
repeat 10 times
send theChat message "Realy?"
delay 5
send theChat message "Lol :P"
delay 15
send theChat message "Haha XD"
delay 15
send theChat message "Yes1!!1"
delay 20
send theChat message "I like it! :D"
delay 10
end repeat
send theChat message "Bye!"
tell theChat to close
end tell
解決
あなたはパイプのイベントを使用してスクリプトへのパイプは、今にもをすることができますます。
他のヒント
現在の Adium ソースコードのレビューと、部分文字列として「applescript」と「message」の両方を含む Adium バグ トラッカーと Wiki の現在および過去の項目の検索に基づくと、Adium 1.0 で AppleScript のみを使用する場合、これは不可能であるようです。 1.3.10 まで (執筆時点の最新)。Adium 0.89.1 ではプレーンな AppleScript で可能だったようですが、ボランティアの開発者たちは、この機能を再度追加する価値があるとはまだ確信していません。
AppleScript でメッセージの内容にアクセスするには、おそらく、情報を転送するための Adium Xtra を記述する必要があります。最後のメッセージのテキストにアクセスする Xtra プラグインの例は次のとおりです。 チャレンジ/レスポンス または スパムフィルタ. 。SpamFilter のソースコードは次のとおりです。 利用可能 BitBucket 上にあるため、メッセージの内容を AppleScript に送信するように変更することも考えられます。
編集:私が返信を投稿して以来、ユーザー「zostay」が「」という新しい Adium Xtra を発見しました。パイプイベント」。これにより、私が 2 番目の段落を書いたときに思い描いたとおりの方法で、イベントのテキストをスクリプトに送信できるため、zostay の回答に賛成票を投じます。 ソースコード も利用可能です。