ircd-hybrid
我已经在我的 Ubuntu Server(192.168.1.2,example.com)上安装了。
我们用#teamchannel
它来在团队内部沟通。
问题是:我怎样才能从 bash 脚本发送一些短消息?example.com
例如#teamchannel
example.com: Alert! The server is rebooting now
编辑:
我已经发现perl 脚本这正是我需要的。
答案1
使用控制台 irc 客户端
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
答案2
IRC 是一个简单的文本和行导向协议,因此可以使用基本的 Linux 工具来完成。因此,无需安装ii
:
echo -e 'USER bot guest tolmoon tolsun\nNICK bot\nJOIN #channel\nPRIVMSG #channel :Ahoj lidi!\nQUIT\n' \
| nc irc.freenode.net 6667
在此命令中,nc
网络连接,您发送登录信息、昵称,加入名为“#channel”的频道,并向该频道发送消息“Ahoj lidi!”。然后退出服务器。
答案3
一个解决方案是使用预计使用 telnet 客户端编写与 IRC 服务器通信的脚本。
答案4
如果您需要提供密码并使用 ssl,您可以执行类似这样的操作。
#!/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
该脚本应像这样运行:
./post_to_irc.sh your_user your_pass irc_server 6667 "#target-channel" "Your message"
这与之前使用的示例类似nc
,但我发现我必须使用它ncat
才能使其与已设置 SSL 的 IRC 服务器一起工作。