如何在*:CONNECT:mirc脚本上使用if语句

问题描述 投票:1回答:1

我想加入三个网络,向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的第二个频道。

我想避免泄漏我的凭据并使其自动化,因此,我只需要启动客户端以加入所有网络,进行身份验证,向机器人发送消息或加入一些渠道。

if-statement irc mirc
1个回答
0
投票

我通过在每台服务器上输入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
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.