1

Тема: Автоответчик админам

Всем привет! Хочу создать дополнить своего бота автоответчиком.
Мне нужно, чтобы при вопросе "Вы тут?" бот отвечал "Да, тут" в /b.
Просмотрев форумы я нашел следующий код, который не работает. Прошу помочь решить проблему.
P.S Я думаю что проблема в пути до chat.log, но как ее исправить не знаю.


global path_log := "C:/Users/Sasha/Documents/AMAZING/CRMP/chatlog.txt"  ; путь к chatlog
Loop {
     log := {str:"",find:0,num:0}    ,    log.str := [] ; AutoInfo
     Loop, read, %path_log%
     log.str.Insert(A_LoopReadLine)    ,log.num := A_Index
     loop 3
          if RegExMatch(log.str[log.num + 1 - A_Index],"\[(.*)\]  Администратор (.*)\[(.*)\] для (.*)\[(.*)\]: вы тут?", bakulin_no_slip) and (log.find:=log.num + 1 - A_Index)
     break
     if (bakulin_no_slip != "") {
          sendinput {F6}/b Да, тут{Enter}
     }
}

2 (изменено: __Михаил__, 2020-12-14 00:09:20)

Re: Автоответчик админам

Для начала нужно убедиться, что чат-лог файл существует по указанному пути.

Вариант поиска:

Loop, %A_MyDocuments%\*chatlog.txt, , 1 ; Рекурсия в подпапки.
{
 MsgBox, 4, , Найдено тут:`n%A_LoopFileFullPath%`n`nПродолжить?
 IfMsgBox, No
	Break
}
Return
Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

3

Re: Автоответчик админам

Попробуй указать путь к чат логу гта, то есть найди его через проводник а потом путь вставь в скрипт. По идее должно работать

4

Re: Автоответчик админам

Проблема в пути к чатлогу у тебя / такой знак в место \

5

Re: Автоответчик админам

global path_log := "*\chatlog.txt"  ; путь к chatlog
Loop {
     log := {str:"",find:0,num:0}    ,    log.str := [] ; AutoInfo
     Loop, read, %path_log%
     log.str.Insert(A_LoopReadLine)    ,log.num := A_Index
     loop 3
          if RegExMatch(log.str[log.num + 1 - A_Index],"\[(.*)\] Администратор (.*)\[(.*)\] для (.*)\[(.*)\]: вы тут?", bakulin_no_slip) and (log.find:=log.num + 1 - A_Index)
     break
     if (bakulin_no_slip != "") {
          sendinput, {F6}/b Да, тут{Enter}
     }
}