После запуска скрипт появляется msgbox("server is not responding")
Script:
Библиотека:
Script:
Код:
#include <IRC.au3>
Global $irc=""
Global $server = "wifa.prov.ru"
Global $port = 6667
Global $nick = "Au3Bot323"
Global $channel = "#WIFA"
TCPStartup ()
Global $sock = _IRCConnect($server, $port, $nick); Connects to IRC and Identifies its Nickname
While 1
$recv = TCPRecv($sock, 8192); Recieve things from server
If @error Then Exit MsgBox(1, "IRC Example", "Server has errored or disconnected"); If you can't recieve then the server must have died.
Local $sData = StringSplit($recv, @CRLF); Splits the messages, sometimes the server groups them
For $i = 1 To $sData[0] Step 1; Does each message seperately
Local $sTemp = StringSplit($sData[$i], " "); Splits the message by spaces
If $sTemp[1] = "" Then ContinueLoop; If its empty, Continue!
If $sTemp[1] = "PING" Then _IRCPing($sTemp[2]); Checks for PING replys (There smaller then usual messages so its special!
If $sTemp[0] <= 2 Then ContinueLoop; Useless messages for the most part
Switch $sTemp[2]; Splits the command msg
Case "266"; It's what I use as an indictator to show when its done sending you info.
_IRCJoinChannel ($sock, $channel)
_IRCSendMessage($sock, "Hello!", $channel)
_IRCChangeMode ($sock, "+i", $nick)
EndSwitch
Next
WEnd
Библиотека:
Код:
;===============================================================================
;
; Description: Connects you to a IRC Server, and gives your chosen Nick
; Parameter(s): $server - IRC Server you wish to connect to
; $port - Port to connect to (Usually 6667)
; $nick - Nick you choose to use (You can change later)
; Requirement(s): TCPStartup () to be run
; Return Value(s): On Success - Socket identifer
; On Failure - It will exit on error
; Author(s): Chip
; Note(s): English only
;
;===============================================================================
Func _IRCConnect ($server, $port, $nick)
Local $i = TCPConnect(TCPNameToIP($server), $port)
If $i = -1 Then Exit MsgBox(1, "IRC.au3 Error", "Server " & $server & " is not responding.")
TCPSend($i, "NICK " & $nick & @CRLF)
TCPSend($i, "USER " & $nick & " 0 0 " & $nick &@CRLF)
Return $i
EndFunc
;===============================================================================
;
; Description: Joins an IRC Channel
; Parameter(s): $irc - Socket Identifer from _IRCConnect ()
; $chan - Channel you wish to join
; Requirement(s): _IRCConnect () to be run
; Return Value(s): On Success - 1
; On Failure - -1 = Server disconnected.
; Author(s): Chip
; Note(s): English only
;
;===============================================================================
Func _IRCJoinChannel ($irc, $chan)
If $irc = -1 Then Return 0
TCPSend($irc, "JOIN " & $chan & @CRLF)
If @error Then
MsgBox(1, "IRC.au3", "Server has disconnected.")
Return -1
EndIf
Return 1
EndFunc
;===============================================================================
;
; Description: Sends a message using IRC
; Parameter(s): $irc - Socket Identifer from _IRCConnect ()
; $msg - Message you want to send
; $chan - Channel/Nick you wish to send to
; Requirement(s): _IRCConnect () to be run
; Return Value(s): On Success - 1
; On Failure - -1 = Server disconnected.
; Author(s): Chip
; Note(s): English only
;
;===============================================================================
Func _IRCSendMessage ($irc, $msg, $chan="")
If $irc = -1 Then Return 0
If $chan = "" Then
TCPSend($irc, $msg & @CRLF)
If @error Then
MsgBox(1, "IRC.au3", "Server has disconnected.")
Return -1
EndIf
Return 1
EndIf
TCPSend($irc, "PRIVMSG " & $chan & " :" & $msg & @CRLF)
If @error Then
MsgBox(1, "IRC.au3", "Server has disconnected.")
Return -1
EndIf
Return 1
EndFunc
;===============================================================================
;
; Description: Changes a MODE on IRC
; Parameter(s): $irc - Socket Identifer from _IRCConnect ()
; $mode - Mode you wish to change
; $chan - Channel/Nick you wish to send to
; Requirement(s): _IRCConnect () to be run
; Return Value(s): On Success - 1
; On Failure - -1 = Server disconnected.
; Author(s): Chip
; Note(s): English only
;
;===============================================================================
Func _IRCChangeMode ($irc, $mode, $chan="")
If $irc = -1 Then Return 0
If $chan = "" Then
TCPSend($irc, "MODE " & $mode & @CRLF)
If @error Then
MsgBox(1, "IRC.au3", "Server has disconnected.")
Return -1
EndIf
Return 1
EndIf
TCPSend($irc, "MODE " & $chan & " " & $mode & @CRLF)
If @error Then
MsgBox(1, "IRC.au3", "Server has disconnected.")
Return -1
EndIf
Return 1
EndFunc
;===============================================================================
;
; Description: Returns a PING to Server
; Parameter(s): $irc - Socket Identifer from _IRCConnect ()
; $ret - The end of the PING to return
; Requirement(s): _IRCConnect () to be run
; Return Value(s): On Success - 1
; On Failure - -1 = Server disconnected.
; Author(s): Chip
; Note(s): English only
;
;===============================================================================
Func _IRCPing($ret)
If $ret = "" Then Return -1
TCPSend($irc, "PONG " & $ret & @CRLF)
If @error Then
MsgBox(1, "IRC.au3", "Server has disconnected.")
Return -1
EndIf
Return 1
EndFunc