Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets 在mIRC中进一步执行之前添加暂停_Sockets_Irc_Mirc - Fatal编程技术网

Sockets 在mIRC中进一步执行之前添加暂停

Sockets 在mIRC中进一步执行之前添加暂停,sockets,irc,mirc,Sockets,Irc,Mirc,所以我已经思考了一个多小时,但没有对这个脚本得出任何结论。我基本上是想通过mIRC套接字为3台IRC服务器添加一个“状态检查”。我面临的问题是,在套接字连接未完成的情况下,执行会跳到下一步,因此它会返回一个假值,即脱机 我尝试在goto命令之前使用计时器,但返回“未找到” 代码: on *:text:!stats:#: { sockopen IRCAurora aurora.irchound.tk 6667 sockopen IRCKepler kepler.irchound.tk 66

所以我已经思考了一个多小时,但没有对这个脚本得出任何结论。我基本上是想通过mIRC套接字为3台IRC服务器添加一个“状态检查”。我面临的问题是,在套接字连接未完成的情况下,执行会跳到下一步,因此它会返回一个假值,即脱机

我尝试在goto命令之前使用计时器,但返回“未找到”

代码:

on *:text:!stats:#: {
  sockopen IRCAurora aurora.irchound.tk 6667
  sockopen IRCKepler kepler.irchound.tk 6667
  sockopen IRCJupiter jupiter.irchound.tk 6667

  sockpause IRCAurora
  sockpause IRCKepler
  sockpause IRCJupiter

  :true
  msg $chan ----STATUS----
  goto check1
  halt

  :check1
  if ($sock(IRCAurora,pause) == 1) {
    msg $chan 1Aurora -  9Online
  }
  else {
    msg $chan 1Aurora -  4Offline 
  }
  goto check2
  halt

  :check2
  if ($sock(IRCJupiter,pause) == 1) {
    msg $chan 1Jupiter -  9Online 
  }

  else {
    msg $chan 1Jupiter -  4Offline
  }

  goto check3
  halt

  :check3
  if ($sock(IRCKepler,pause) == 1) {
    msg $chan 1Kepler -  9Online
  }
  else {
    msg $chan 1Kepler -  4Offline 
  }
  halt
}
我知道一个解决方案是简单地设置一个php机器人,但我希望它在mIRC上


任何帮助都将不胜感激。提前谢谢。

没关系。。我已经找到了解决这个问题的办法。需要添加一个带有计时器的别名函数(如果为真/假,则在套接字暂停时进行响应)

已解决代码:

on *:text,loaddservers:#: {
  if (%admin. [ $+ [ $nick ] ] = 1) { 
    msg $chan All default servers are now being loaded.
    set %server1 aurora.irchound.tk
    set %server2 jupiter.irchound.tk
    set %server3 kepler.irchound.tk
  }
  else {
    msg $chan Access denied.
  }
}

;Create socket connection to servers on trigure.

on *:text:,status*:#: {
  if ($2 = all) {
    sockopen IRCAurora %server1 6667
    sockopen IRCKepler %server2 6667
    sockopen IRCJupiter %server3 6667
    set %chan $chan
    msg $chan Connecting to servers...
    msg $chan >>>Status of all servers<<<
    timer2 1 5 checkall
  }
  if ($2 = aurora) {
    sockopen IRCAurora %server1 6667
    set %chan $chan
    msg $chan Connecting to server $2 $+ ...
    timerAURORA 1 5 checkaurora
  }
  if ($2 = kepler) {
    sockopen IRCKepler %server2 6667
    set %chan $chan
    msg $chan Connecting to server $2 $+ ...
    timerKEPLER 1 5 checkkepler
  }
  if ($2 = jupiter) {
    sockopen IRCJupiter %server3 6667
    set %chan $chan
    msg $chan Connecting to server $2 $+ ...
    timerJUPITER 1 5 checkjupiter
  }
}

;Aliases for each server status response.

alias checkaurora {
  if ($sock(IRCAurora,pause) == 1) {
    msg %chan 1Aurora -  9Online
  }
  else {
    msg %chan 1Aurora -  4Offline 
  }
  halt
}

alias checkjupiter {
  if ($sock(IRCJupiter,pause) == 1) {
    msg %chan 1Jupiter -  9Online
  }
  else {
    msg %chan 1Jupiter -  4Offline 
  }
  halt
}

alias checkkepler {
  if ($sock(IRCKepler,pause) == 1) {
    msg %chan 1Kepler -  9Online
  }
  else {
    msg %chan 1Kepler-  4Offline 
  }
  halt
}

alias checkall {
  if ($sock(IRCAurora,pause) == 1) {
    msg %chan 1Aurora -  9Online
  }
  else {
    msg %chan 1Aurora -  4Offline 
  }
  goto check2
  halt

  :check2
  if ($sock(IRCJupiter,pause) == 1) {
    msg %chan 1Jupiter -  9Online 
  }

  else {
    msg %chan 1Jupiter -  4Offline
  }

  goto check3
  halt

  :check3
  if ($sock(IRCKepler,pause) == 1) {
    msg %chan 1Kepler -  9Online
  }
  else {
    msg %chan 1Kepler -  4Offline 
  }
}
on*:文本,加载服务器:#{
如果(%admin.[$+[$nick]]=1){
msg$chan现在正在加载所有默认服务器。
设置%server1 aurora.irchound.tk
设置%server2 jupiter.irchound.tk
设置%server3开普勒.irchound.tk
}
否则{
msg$chan访问被拒绝。
}
}
;在trigure上创建到服务器的套接字连接。
在*:文本:,状态*:#:{
如果($2=全部){
sockopen IRCAurora%server1 6667
sockopen IRCKepler%server2 6667
sockopen%server3 6667
设置%chan$chan
msg$chan正在连接到服务器。。。
msg$chan>>>所有服务器的状态