在Applescript中接收Adium消息

我试图为Adium写一个简单的聊天机器人,它会发布“哈哈”和“哈哈”,并回答一些人讨厌的群聊时遇到的基本问题。

我已经用一些简单的发送和延迟命令覆盖了“哈哈”部分,但我还需要进行一些交互。
例如,对任何带问号的问题回答“是”...

相信我或没有,这样一个简单的机器人会通过一个图灵测试的对话。

打开Adium词典并没有显示任何明显的获取消息的方式,Growl词典也没有。

我发现每次收到邮件时都可以运行脚本,有没有办法访问发送的邮件?

Adium pref 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

您现在也可以使用Pipe Event管道传输脚本。


基于对当前Adium源代码的审查以及在Adium bug跟踪器和wiki中搜索当前和过去的项目(包含“applescript”和“message”作为子字符串),在Adium 1.0中仅使用AppleScript时,这似乎不可行通过1.3.10(最近在写作时)。 Apple在Adium 0.89.1中似乎可以使用简单的AppleScript,但志愿者开发人员还不确定是否值得加入这个功能。

现在访问AppleScript中的消息内容可能需要编写一个Adium Xtra来转发信息。 访问最后一条消息文本的Xtra插件包括Challenge / Response或SpamFilter。 SpamFilter的源代码在BitBucket上可用,因此您可以想象将其修改为将消息内容发送到AppleScript。

编辑:自从我发布我的回复后,用户'zostay'发现了一个名为“管道事件”的新Adium Xtra。 它允许以我在编写第二段时所设想的方式将事件的文本发送到脚本,所以我是投票zostay的答案。 源代码也可用。

链接地址: http://www.djcxy.com/p/44129.html

上一篇: Receive Adium messages in Applescript

下一篇: How to compile a GWT module contained in the test source with gwt