#region: - Options ;~ Opt('GUIOnEventMode', 1) ;~ Opt('MustDeclareVars', 1) Opt('TrayIconDebug', 1) Opt('TrayIconHide', 0) #endregion #include <GuiButton.au3> #include <GUIConstants.au3> #include <GUIEdit.au3> #include <_TocLib.au3> #include <Misc.au3> #include <WindowsConstants.au3> Global $myUser = "" Global $myPass = "" Global $targetUser = "" Global $doQuit = false $login = _TocLogin( $myUser, $myPass) if not $login Then if @error == $TOC_ERROR Then _DebugPrint( "TOC Error: code " & $login ) Else _DebugPrint( "_TocLogin @error = " & @error ) EndIf Else _DebugPrint( "Logged in successfully" ) EndIf _TocRegisterFunc( $TOC_CMD_IMRECV, "HandleRecv" ) _TocInitLoop() ;~ _TocSendIM($targetUser, "This is a test") ;~ _TocSendIM($targetUser, "haha auto response", true) $GUI = GUICreate("AIM TOC", 299, 353) $Input = GUICtrlCreateInput("", 0, 306, 299, 21) $History = GUICtrlCreateEdit("", 0, 0, 299, 305, BitOR($WS_VSCROLL, $ES_READONLY, $ES_AUTOVSCROLL)) $Button = GUICtrlCreateButton ("Send", 5, 330, 289, Default, $BS_DEFPUSHBUTTON) GUISetState(@SW_SHOW) Do $guimsg = GUIGetMsg () Switch $guimsg Case $Button If GUICtrlRead ($Input) <> "" Then _TocSendIM ($targetUser, GUICtrlRead($Input)) GUICtrlSetData ($History, GUICtrlRead($History)&@CRLF&"You: "&GUICtrlRead($Input)&@CRLF) _GUICtrlEdit_Scroll($History, _GUICtrlEdit_GetLineCount($History)) GUICtrlSetData ($Input, "") EndIf Case $GUI_EVENT_CLOSE $doQuit = True EndSwitch Until $doQuit Func HandleRecv($packet) _DebugPrint("Recieved message: " & $packet) $msg = _TocParseIm( $packet ) ;~ MsgBox(0,"_TocLib Test", "("&$msg[0]&") said: " & $msg[3], 2) ;~ _ArrayDisplay ($msg, "message") ;~ if StringInStr($msg[3], "goodbye") Then $doQuit = true $from = $msg[0] $message = _StringStripHtml ($msg[3]) ;~ MsgBox (0, "", $msg[3]) ;~ MsgBox (0, "", $message) GUICtrlSetData ($History, GUICtrlRead($History)&@CRLF&$from&": "&$message&@CRLF) _GUICtrlEdit_Scroll ($History, _GUICtrlEdit_GetLineCount($History)) EndFunc Func _StringStripHtml ($s) Return StringRegExpReplace ($s, "<[^<>]+>", "") EndFunc Func _StringNum($sStr1, $sStr2) For $i = 1 to StringLen($sStr1) If not StringInStr($sStr1, $sStr2, 1, $i) Then ExitLoop Next Return $i EndFunc |