7

「笑」と「はは」を投稿し、一部の人々が私を追加し続ける迷惑なグループチャットで基本的な質問に答えるAdium用の簡単なチャットボットを作成しようとしています.

「笑」の部分については、いくつかの単純な送信コマンドと遅延コマンドを繰り返して説明しましたが、対話も行う必要があります。
たとえば、疑問符が付いているものにはすべて「はい」と答えます...

信じられないかもしれませんが、このような単純なボットは、これらの会話のチューリング テストに合格します。

Adium ディクショナリを開いても、メッセージを取得する明白な方法は明らかになりません。また、Growl ディクショナリも同様です。

メッセージを受信するたびにスクリプトを実行できることがわかりました。送信されたメッセージにアクセスする方法はありますか?

アジウム プレフ 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
4

2 に答える 2

3

Pipe Eventを使用してスクリプトにパイプすることもできるようになりました。

于 2011-01-04T20:58:35.603 に答える
1

現在のAdiumソースコードのレビューと、サブストリングとして「applescript」と「message」の両方を含むAdiumバグトラッカーとwikiでの現在および過去のアイテムの検索に基づくと、Adium1.0でAppleScriptのみを使用している場合はこれが不可能と思われます。 1.3.10まで(執筆時点で最新)。Adium 0.89.1のプレーンなAppleScriptで可能だったようですが、ボランティアの開発者は、この機能を追加する価値があるとはまだ確信していません。

AppleScriptのメッセージコンテンツに今すぐアクセスするには、情報を転送するためにAdiumXtraを作成する必要があります。最後のメッセージのテキストにアクセスするXtraプラグインの例には、Challenge/ResponseまたはSpamFilterが含まれます。SpamFilterのソースコードはBitBucketで入手できるため、メッセージの内容をAppleScriptに送信するように変更できると考えられます。

編集:私が応答を投稿してから、ユーザー「zostay」は「パイプイベント」と呼ばれる新しいAdiumエクストラを発見しました。これにより、2番目の段落を書いたときに想像したのとまったく同じ方法でイベントのテキストをスクリプトに送信できるので、zostayの回答に賛成票を投じます。ソースコードも利用できます。

于 2010-10-18T02:18:41.943 に答える