Вопрос

Я пытаюсь написать простого чат-бота для Adium, который будет писать «лол» и «ха-ха» и отвечать на основные вопросы в надоедливых групповых чатах, в которые меня продолжают добавлять некоторые люди.

Я рассмотрел часть «лол», повторив несколько простых команд отправки и задержки, но мне также нужно выполнить некоторое взаимодействие.
Отвечайте «да» на все, что содержит вопросительный знак, например...

Хотите верьте, хотите нет, но такой простой бот прошел бы тест Тьюринга для таких разговоров.

Открытие словаря Adium не обнаруживает какого-либо очевидного способа получения сообщений, равно как и словарь Growl.

Я обнаружил, что могу запускать скрипт каждый раз при получении сообщения. Есть ли способ получить доступ к отправленному сообщению?

Преф Adium 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
Это было полезно?

Решение

Вы можете подключиться к сценарию, используя Событие трубы также и сейчас.

Другие советы

Основываясь на просмотре текущего исходного кода Adium и поиске текущих и прошлых элементов в системе отслеживания ошибок Adium и вики, которые содержат как «applescript», так и «message» в качестве подстрок, это кажется невозможным при использовании только AppleScript в Adium 1.0. до 1.3.10 (последняя на момент написания).Кажется, это было возможно с помощью простого AppleScript в Adium 0.89.1, но разработчики-добровольцы еще не уверены, что добавление этой функции обратно стоит затраченных усилий.

Чтобы получить доступ к содержимому сообщения в AppleScript прямо сейчас, вероятно, потребуется написать Adium Xtra для пересылки информации.Примеры плагинов Xtra, которые получают доступ к тексту последнего сообщения, включают: Вызов/Ответ или Спам-фильтр.Исходный код SpamFilter: доступный на BitBucket, поэтому вы можете изменить его для отправки содержимого сообщения в AppleScript.

РЕДАКТИРОВАТЬ:С тех пор, как я опубликовал свой ответ, пользователь «zostay» заметил новый Adium Xtra под названием «Событие трубы".Это позволяет отправлять текст события в сценарий именно так, как я предполагал, когда писал второй абзац, поэтому я голосую за ответ Зостая. Исходный код также доступен.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top