質問

私は、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 の回答に賛成票を投じます。 ソースコード も利用可能です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top