【问题标题】:Receive Adium messages in Applescript在 Applescript 中接收 Adium 消息
【发布时间】:2011-02-05 10:29:20
【问题描述】:

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

我已经重复了一些简单的发送和延迟命令,但我还需要进行一些交互。
例如,对任何带有问号的内容回答“是”...

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

打开 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

【问题讨论】:

  • 这是“图灵测试”,就像在艾伦图灵中一样。我不得不怀疑有多少人会通过图灵测试。另外,在最后一个问题中,您的意思是要访问 received 消息,还是要访问 you 刚刚发送的消息?
  • 我会改的。是的,我想访问收到的消息,所以我可以在 Applescript 中编写一个基本的聊天机器人。
  • 几年来我自己一直在想这个问题,但从未发现任何有用的东西。我觉得防止这种确切类型的事情发生符合 Adium 开发人员的利益——尽管其他人可以使用它。
  • 我不明白发送聊天消息比使用 AppleScript 发送电子邮件更危险。
  • @Kyle 我不明白 Adium 开发人员为什么会关心。如果人们想编写一个聊天机器人,他们可以通过任何协议以几乎任何他们想要的语言来完成。除非您谈论的是恶意脚本接管您的聊天的可能性 - 即便如此,使用 applescript 几乎不可能做到这一点。

标签: applescript adium


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    根据对当前 Adium 源代码的审查以及在 Adium 错误跟踪器和 wiki 中搜索当前和过去的项目,其中包含“applescript”和“message”作为子字符串,这在仅使用 AppleScript 时似乎是不可能的在 Adium 1.0 到 1.3.10 中(撰写本文时最新)。在 Adium 0.89.1 中使用普通的 AppleScript 似乎是可能的,但志愿者开发人员还不相信重新添加此功能值得付出努力。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-06
      • 2015-12-03
      • 1970-01-01
      • 1970-01-01
      • 2019-10-30
      • 1970-01-01
      相关资源
      最近更新 更多