Ich versuche, einen einfachen Chat-Bot für Adium zu schreiben, der "lol" und "haha" posten und grundlegende Fragen in ärgerlichen Gruppenchats beantworten wird, zu denen mich einige Leute hinzufügen.Empfange Adium-Nachrichten in Applescript
Ich habe den "lol" -Teil mit ein paar einfachen Sende- und Delay-Befehlen in einer Wiederholung behandelt, aber ich muss auch etwas Interaktion machen.
Beantworten Sie "ja" mit einem Fragezeichen zum Beispiel ...
Glauben Sie mir oder nicht, solch ein einfacher Bot würde einen Turing-Test für diese Gespräche bestehen.
Das Öffnen des Adium-Wörterbuchs zeigt keine offensichtliche Möglichkeit, Nachrichten zu erhalten, und auch nicht das Growl-Wörterbuch.
Ich habe herausgefunden, dass ich jedes Mal ein Skript ausführen kann, wenn eine Nachricht empfangen wird. Gibt es eine Möglichkeit, Zugriff auf die gesendete Nachricht zu erhalten?
Adium pref http://media.ruk.ca/images/adiumpreferences.png
Mein Code:
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
Es ist "Turing-Test", wie in Alan Turing. Und ich muss mich fragen, wie viele Leute den Turing-Test bestehen würden. Auch in der letzten Frage meinst du, dass du auf die * empfangene * Nachricht zugreifen willst, oder auf die, die * du * gerade gesendet hast? –
Ich werde es ändern. Ja, ich möchte Zugriff auf empfangene Nachrichten haben, damit ich einen einfachen Chat-Bot in Applescript schreiben kann. – Pepijn
Ich frage mich seit ein paar Jahren selbst und habe nie etwas Nützliches gefunden. Ich habe das Gefühl, es liegt im Interesse der Adium-Entwickler, zu verhindern, dass genau diese Art von Dingen passiert - trotz der guten, für die andere sie nutzen könnten. –