Envie mensagem para o canal IRC do bash

8

Instalei ircd-hybrid no meu servidor Ubuntu (192.168.1.2, example.com).
Usamos #teamchannel para nos comunicarmos dentro da equipe.

A pergunta é: como posso enviar uma mensagem curta de example.com para #teamchannel do script bash? por exemplo. example.com: Alert! The server is rebooting now

Editar:

Encontrei um script perl que faz exatamente o que eu precisava.

    
por takeshin 21.09.2010 / 15:10

5 respostas

9

use o cliente irc do console

apt-get install ii
ii -i /tmp -s 192.168.1.2
echo "/PRIVMSG #teamchannel example.com: Alert! The server is rebooting now" > /tmp/irc/in
    
por 21.09.2010 / 15:25
12

O IRC é um protocolo simples orientado por texto e linha, portanto, pode ser feito com as ferramentas básicas do Linux. Então, sem instalar ii :

echo -e 'USER bot guest tolmoon tolsun\nNICK bot\nJOIN #channel\nPRIVMSG #channel :Ahoj lidi!\nQUIT\n' \
| nc irc.freenode.net 6667

Neste comando, nc faz a conexão de rede, e você envia uma informação de login, nick, entra em um canal chamado "#canal" e envia uma mensagem "Ahoj lidi!" para esse canal. E saia do servidor.

    
por 15.04.2011 / 00:18
2

Uma solução seria usar espera para a comunicação de script com o servidor de IRC usando um cliente telnet.

    
por 21.09.2010 / 15:15
0
#!/bin/bash
exec 3>/dev/tcp/example.com/6667
echo "NICK nickname1234" >&3
echo "USER nickname1234 8 * : nickname1234" >&3
echo "JOIN #teamchannel" >&3
echo "PRIVMSG #teamchannel Alert!" >&3
echo "QUIT" >&3
cat <&3
    
por 24.10.2014 / 21:49
0

Se você precisar fornecer uma senha e usar o ssl, poderá fazer algo assim.

#!/bin/bash -e

USER=$1
MYPASSWORD=$2
IRC_SERVER=$3
IRC_PORT=$4
CHANNEL=$5
MSG=$6

(
echo NICK $USER
echo USER $USER 8 * : $USER
sleep 1
echo PASS $USER:$MYPASSWORD
echo "JOIN $CHANNEL"
echo "PRIVMSG $CHANNEL" $MSG
echo QUIT
) | ncat --ssl $IRC_SERVER $IRC_PORT

O script deve ser executado assim:

./post_to_irc.sh your_user your_pass irc_server 6667 "#target-channel" "Your message"

Isso é semelhante a um exemplo anterior usando nc , mas descobri que precisava usar ncat para trabalhar com nosso servidor de IRC configurado com SSL.

    
por 11.12.2014 / 16:23