Adium Applescript咆哮通知

Adium Applescript咆哮通知,applescript,growl,adium,Applescript,Growl,Adium,我正在写一个脚本,每次联系人登录Adium时都会启动该脚本。 我的目标是在某些朋友登录时显示咆哮消息。 除了我不知道如何从刚登录的联系人那里获取“显示名称”外,其他一切都正常 代码如下: 告诉应用程序“Adium” end tell当有人登录时,似乎没有什么事件可插手。实际上,Adium根本没有任何事件暴露在appleScript中。如果您现在需要此功能,您可能需要维护已登录成员的列表,然后定期进行投票。如果一个新的缺口出现,那将是一个咆哮。这并不难,但常规轮询需要一个可以在后台运行的apple

我正在写一个脚本,每次联系人登录Adium时都会启动该脚本。 我的目标是在某些朋友登录时显示咆哮消息。 除了我不知道如何从刚登录的联系人那里获取“显示名称”外,其他一切都正常

代码如下:

告诉应用程序“Adium”


end tell

当有人登录时,似乎没有什么事件可插手。实际上,Adium根本没有任何事件暴露在appleScript中。如果您现在需要此功能,您可能需要维护已登录成员的列表,然后定期进行投票。如果一个新的缺口出现,那将是一个咆哮。这并不难,但常规轮询需要一个可以在后台运行的appleScript应用程序,以及一个空闲事件,我相信这不是你想要听到的

很抱歉没有更好的消息,但这是appleScript的一个相当典型的问题:要在字典中包含有用的内容,你得听命于第三方应用程序开发人员。很多时候他们没有,但要感谢有一本字典


稍微好一点的消息是:Adium和Growl都已经有了appleScript字典,而且都是开源的。(Adium是GPL,Growl是BSD)。这意味着,您有可能影响开发人员为Adium实现一些事件处理程序,但您也不能指定截止日期。您是否尝试过加入Adium开发者论坛?

但您可以在联系人登录时启动脚本。该脚本可以检查名称,如果它与你想要的匹配,它会给你一个叫喊

#Get the alias of the contact that just signed on:
get display name of contact #most recently signed in (HOW DO I RESPRESENT THIS)


#Jon
if display name of contact is "Jon" then

    tell application "GrowlHelperApp"
        -- Make a list of all notification types:
        set the allNotificationsList to ¬
            {"Jon"}

        -- Make a list of the default enabled notifications:
        set the enabledNotificationsList to ¬
            {"Jon"}

        -- Register the script with Growl
        register as application ¬
            "AdiumFriends" all notifications allNotificationsList ¬
            default notifications enabledNotificationsList ¬
            icon of application "AdiumFriends"

        -- Send a notification:
        notify with name ¬
            "Jon" title ¬
            "Jon signed on" description ¬
            ¬
                "Facebook" application name "AdiumFriends"

    end tell
end if