在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