我想加入三个网络,向nicksrv进行身份验证,并向bot发送消息,或者在启动IRC客户端时自动加入几个渠道。我正在使用mIRC 7.55。
客户端应该做什么取决于它是哪个网络。所以我有一个if语句,但是它不能正常工作。
使用一台服务器,它运行完美,一旦添加多个服务器,我就会遇到问题。我的语法一定有问题,或者如果我可以使用$server
以外的其他东西?
on *:start: {
/server irc.gazellegames.net:+7000
/server -m irc.scratch-network.net:+7000
/server -m irc.myanonamouse.net:+6697
}
on *:CONNECT: {
if ($server = "horus.gazellegames.net" || "anubis.gazellegames.net") {
/msg NickServ IDENTIFY password
/msg Vertigo ENTER username password
}
if ($server = brooklyn.scratch-network.net) {
/msg NickServ IDENTIFY password
/msg Drone enter #channel1 username password
}
if ($server = "irc.myanonamouse.net" || "irc2.myanonamouse.net") {
/msg NickServ IDENTIFY password
/j #channel1,#channel2
}
}
预期结果将是加入网络并遵循IF声明,并使用每个网络的正确凭据进行身份验证。脚本有效,但是不可靠。
该脚本似乎将所有内容发送到它所连接的第一台服务器,请参见此处的代码段:https://imgur.com/65bhhNn
并且它无法加入irc.myanonamouse.net/irc2.myanonamouse.net的第二个频道。
我想避免泄漏我的凭据并使其自动化,因此,我只需要启动客户端以加入所有网络,进行身份验证,向机器人发送消息或加入一些渠道。
我通过在每台服务器上输入nickserv身份验证来解决此问题,工具->选项->服务器->选择服务器,然后选择编辑->登录方法= nickserv(/ msg nickserv)->输入密码并保存。
我也将$server
换成$network
,似乎更可靠。
on *:start: {
/server irc.gazellegames.net:+7000
/server -m irc.scratch-network.net:+7000
/server -m irc.myanonamouse.net:+6697
}
on *:CONNECT: {
if ($network = MYANONAMOUSE) {
/j #channel1
/j #channel2
}
if ($network = GGn) {
/msg Vertigo ENTER username password
}
if ($network = Scratch-Network) {
/msg Drone enter #channel username password
}
}