Что нового

Модуль трансляции чата в ICQ

hikki

Продвинутый
Сообщения
233
Репутация
99
для работы требуется ICQ.dll и ICQ.au3 из http://autoit-script.ru/index.php?topic=788.msg5576#msg5576 этого сообщения

Код:
#include <file.au3>
#include <ICQ.au3>

$status = ICQConnect('login.icq.com:5190','uin','пароль',0); uin и пароль учетки бота
if $status = 1 Then
	Sleep(1000)
	ICQSendMsg(uin_куда_слать,"I'm online!")
Else
	MsgBox(0,"Ошибка","Not connected")
EndIf


$dir_log="C:\Documents and Settings\user\Мои документы\EVE\logs\Chatlogs"
$log_name="\Languages_Russian_20100330_064827.txt";



FileCopy($dir_log&$log_name, @ScriptDir, 1)
$FilePathTarg= @ScriptDir &$log_name
$lines1=_FileCountLines($FilePathTarg)

While 1
	$file_dif=""
	Select
		;Case FileGetTime ($dir_log&$log_name,0, 1)<>FileGetTime ( $FilePathTarg,0, 1)
		Case FileGetSize ( $dir_log&$log_name)<>FileGetSize ( $FilePathTarg)
			FileCopy($dir_log&$log_name, @ScriptDir&"\new", 1)
			$lines2=_FileCountLines(@ScriptDir&"\new"&$log_name)
			for $i= $lines1+1 To $lines2
				$lineread=FileReadLine(@ScriptDir&"\new"&$log_name, $i)
				$file_dif&=$lineread &@CRLF
				Next
			;MsgBox(64, "Сообщения", $file_dif)
			ICQSendMsg(uin_куда_слать,$file_dif)
			FileCopy(@ScriptDir&"\new"&$log_name, @ScriptDir, 1)
			$lines1=_FileCountLines($FilePathTarg)
	EndSelect
	Sleep(2000)
WEnd
 

Zuzik

Знающий
Сообщения
45
Репутация
5
Почти разобрался если не считать приёмки сообщений(...
Как быть с входящими? Функцию нашёл которая читает сообщения, но как работает не понял
 

garrul

Знающий
Сообщения
16
Репутация
10
как то так
Код:
#include <ICQ.au3>
HotKeySet("{F9}", "Terminate")

Global $sBeginTime = TimerInit()

chat()

Func chat()
$status = ICQConnect('login.icq.com:5190','номер_аськи_бота','пароль_аськи',0)
While $status = 1
	$msg = ICQReadMsg()
	If $msg<>0 Then
		Select
			Case $msg[1]="жопа"
				ICQSendMsg($msg[0],"Смерть человекам!")
			Case $msg[1]="ass"
				ICQSendMsg($msg[0],"Die Humanzzzz!")
			Case $msg[1]="играй гармонь"
				ICQSendMsg($msg[0],"Играй гармонь!")
				ShellExecute ("d:\Music\Friske_Janna_-_La-la-la.mp3")
			Case $msg[1]="заткнись"
				Terminate()
			Case Else
				ICQSendMsg($msg[0],"[" & "нащяльника сказала" & "]: " & $msg[1])
		EndSelect
	EndIf
WEnd
EndFunc

Func Terminate()
	$sMSG = StringFormat("Session time: %.02d minutes.", (TimerDiff($sBeginTime) / 1000) / 60)
	ICQSendMsg(номер_аськи_админа,"Ending session...")
	Sleep(1000)
	ICQSendMsg(номер_аськи_админа,$sMSG)
	ICQClose()
	Exit
EndFunc   ;==>Terminate
 

[email protected]

Новичок
Сообщения
7
Репутация
0
доброе время суток ! При запуске кода из первого сообщения выходит такая ошибка.

[box title=TitleBox]C:\Program Files (x86)\AutoIt3\Include\ICQ.au3 (37) : ==> Subscript used with non-Array variable.:
if $aRet[0] = $ICQ_CONNECT_STATUS_OK Then
if $aRet^ ERROR
[/box]

Всё разобрался !
Необходимо было ICQ.DLL положить вместе со скриптом.
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,601
Репутация
941
Сообщение об ошибке оформи нормально :mad:
 
Верх