Pergunta

Estou tentando escrever um bot de bate-papo simples para o Adium, que postará "lol" e "haha" e responderá perguntas básicas em chats de grupo irritantes aos quais algumas pessoas continuam me adicionando.

Abordei a parte "lol" com alguns comandos simples de envio e atraso repetidos, mas também preciso fazer alguma interação.
Responda "sim" a qualquer coisa com um ponto de interrogação, por exemplo...

Acredite ou não, um bot tão simples passaria no teste de Turing para essas conversas.

A abertura do dicionário Adium não revela nenhuma maneira óbvia de receber mensagens, nem o dicionário Growl.

Descobri que posso executar um script sempre que uma mensagem é recebida. Existe uma maneira de obter acesso à mensagem enviada?

Preferência Adium http://media.ruk.ca/images/adiumpreferences.png

Meu código:

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
Foi útil?

Solução

Você pode canalizar um script usando Evento de tubo também agora.

Outras dicas

Com base na revisão do código-fonte atual do Adium e em uma pesquisa por itens atuais e passados ​​no rastreador de bugs e wiki do Adium que contêm "applescript" e "message" como substrings, isso não parece ser possível ao usar apenas AppleScript no Adium 1.0 até 1.3.10 (mais recente no momento da escrita).Parece ter sido possível com AppleScript simples no Adium 0.89.1, mas os desenvolvedores voluntários ainda não estão convencidos de que vale a pena adicionar esse recurso de volta.

Para acessar o conteúdo da mensagem em AppleScript agora, provavelmente será necessário escrever um Adium Xtra para encaminhar as informações.Exemplos de plug-ins Xtra que acessam o texto da última mensagem incluem Resposta do desafio ou Filtro de spam.O código fonte do SpamFilter é disponível no BitBucket, para que você possa modificá-lo para enviar o conteúdo da mensagem para um AppleScript.

EDITAR:Desde que postei minha resposta, o usuário ‘zostay’ localizou um novo Adium Xtra chamado “Evento de tubulação".Ele permite enviar o texto de um evento para um script exatamente da maneira que imaginei quando escrevi meu segundo parágrafo, por isso estou votando positivamente na resposta de zostay. Código fonte também está disponível.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top