shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] IRC Bot em shellscripting


From: Flavio Junior
Subject: Re: [shell-script] IRC Bot em shellscripting
Date: Sat, 14 Feb 2009 18:12:42 -0200

Defina o que tu vai usar como comando do bot, por exemplo se o bot vai
responder a chamadas do seu nome, expressoes !expressao ou ~expressao
@expressao....

Digamos que tenhas escolhido ~expressao, todas expressoes q tu
programar tu vai adicionar num grep, tipo:

while read LINHA; do
  if [[ $LINHA == /~expressao1/ ]]; then
     echo Ei, expressao1 detecada > ~/irc.freenode.net/#debian/in
  fi
  if [[ $LINHA == /~expressao2/ ]]; then
     echo Adivinha agora? > ~/irc.freenode.net/#debian/in
  fi
done < <(tail -f ~/irc.freenode.net/#debian/out | grep -E
'~(expressao1|expressao2|expressao3|expressao4)')

Acho que isso funcionaria bem.. claro que filtrar o grep -E ali melhor
vai ajudar.

--

Flavio do Carmo Junior aka waKKu
#bash-br @ irc.freenode.net


2009/2/14 Kurt Kraut <address@hidden>:
> 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
>
> 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]