[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
IRC Bot em shellscripting
From: |
Kurt Kraut |
Subject: |
IRC Bot em shellscripting |
Date: |
Sat, 14 Feb 2009 19:13:27 +0000 |
Aloha,
Esses dias eu perguntei como rolar a leitura de um arquivo texto todo
em shell scripting e fui muito bem respondido pelo MrBiTS, Flavio
Junior, JCNeves. Porém, o exemplo que eu dei não era muito ilustrativo
da minha pergunta e achei um que toca justamente na minha dificuldade
de interpretar logs e arquivos texto que modificam seu conteúdo
(adicionando linhas) o tempo todo.
Eu gostaria de fazer um bot de IRC com o programa ii:
http://www.suckless.org/programs/ii.html - O que esse programa faz é
bem simples e poderoso.
Se você acessar a rede irc.freenode.net no canal #debian, ele irá
criar um diretório local de nome ~/irc.freenode.net/#debian onde
haverá dois arquivos: in e out.
Se dermos cat irc.freenode.net/#debian/out veremos todo o output do
canal, ou seja, toda a conversa desde que o bot entrou nele. Caso
queiramos enviar uma mensagem para o canal basta:
echo "hello world" > ~/irc.freenode.net/#debian/in
Isso permite que bots de IRC sejam feitos com a mera manipulação de
arquivos texto. Porém, minha dificuldade é, como ficar lendo o arquivo
'out' para poder interpretá-lo? Para nosso BOT hipotético, eu gostaria
de simular a seguinte ocasião:
<KurtKraut> meubot: você gosta de shell?
<meubot> KurtKraut: Sim. Pois, como diz um amigo meu, para programar
em Shell não preciso de Texaco.
Eu poderia fazer um loop ficar dando tail -1 o tempo todo e dar um
grep em busca de 'gosta de shell'. Porém, se entre um loop e outro o
bot tiver recebido duas linhas de conversa, ele só interpretaria a
última. Atentem que o arquivo 'out' cresce constantemente.
Enfim, alguma sugestão? Se algo não ficou claro, por favor, basta perguntar.
Desde já agradeço pela atenção,
Kurt Kraut
- IRC Bot em shellscripting,
Kurt Kraut <=