在Applescript中接收Adium消息

在Applescript中接收Adium消息,applescript,adium,Applescript,Adium,我正在尝试为Adium编写一个简单的聊天机器人,它将发布“lol”和“哈哈”,并在一些人不断添加我的恼人的群聊中回答基本问题 我已经用几个简单的send和delay命令重复介绍了“lol”部分,但我还需要做一些交互。 对任何带有问号的问题回答“是”,例如 信不信由你,这样一个简单的机器人将通过这些对话的图灵测试 打开Adium字典并没有发现任何明显的获取信息的方式,咆哮字典也没有 我发现我可以在每次收到消息时运行脚本,有没有办法访问发送的消息 我的代码: tell application "A

我正在尝试为Adium编写一个简单的聊天机器人,它将发布“lol”和“哈哈”,并在一些人不断添加我的恼人的群聊中回答基本问题

我已经用几个简单的send和delay命令重复介绍了“lol”部分,但我还需要做一些交互。
对任何带有问号的问题回答“是”,例如

信不信由你,这样一个简单的机器人将通过这些对话的图灵测试

打开Adium字典并没有发现任何明显的获取信息的方式,咆哮字典也没有

我发现我可以在每次收到消息时运行脚本,有没有办法访问发送的消息

我的代码:

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源代码的审查,以及对Adium bug tracker和wiki中包含“applescript”和“message”作为子字符串的当前和过去项目的搜索,当在Adium 1.0至1.3.10(最迟在编写本文时)中仅使用applescript时,这似乎是不可能的。Adium 0.89.1中的纯AppleScript似乎是可行的,但志愿者开发人员还不相信重新添加此功能是值得的

要立即访问AppleScript中的消息内容,可能需要编写Adium Xtra来转发信息。访问最后一条消息文本的Xtra插件示例包括或。SpamFilter的源代码位于BitBucket上,因此可以将其修改为将消息内容发送到AppleScript


编辑:自从我发布我的回复后,用户“zostay”发现了一个名为“”的新Adium Xtra。它允许以我在写第二段时设想的方式将事件文本发送到脚本,因此我支持zostay的答案。也可以使用。

您现在也可以使用管道连接到脚本。

这是“图灵测试”,就像在Alan Turing中一样。我想知道有多少人能通过图灵测试。另外,在最后一个问题中,您的意思是要访问收到的消息还是您刚刚发送的消息?我会更改它。是的,我想访问收到的消息,这样我就可以用Applescript编写一个基本的聊天机器人。我自己也在想这个问题好几年了,但从来没有发现任何有用的东西。我觉得阻止这种事情发生符合Adium开发者的利益,尽管其他人可能会使用它。我不认为发送聊天信息比用AppleScript发送电子邮件更危险。@Kyle我不明白Adium开发者为什么会在意。如果人们想写一个聊天机器人,他们可以用任何语言通过任何协议来完成。除非你说的是恶意脚本可能会占据你的聊天空间——即便如此,使用applescript也几乎不可能这样做。