Чтение текста из диалогов..

Zulik

Новичок
Автор темы
3
0
Здравствуйте, у меня к Вам вопрос, если есть желание, уделите минутку времени :3
Нужно читать текст из диалога, и регуляркой ответить
В данном случаи
34663

Нам нужно прочитать текст, и к примеру если вместо "test" там будет, "Как показать пасспорт?", то оно автоматом отвечает: "Что-бы показать паспорт, введите /showpass id".
P.S. Читать чат лог умею и с регулярками работаю, но не умею работать с массивами, соответственно с GetDialogLines(), если кто может, помогите :)
 
Решение
AutoHotKey:
F9::
if ( regExMatch(getDialogText(), "Текст жалобы:\s*(?:\{[A-Fa-f0-9]{6}\})*\s*(.+)\s*(?:\{[A-Fa-f0-9]{6}\})*\s*Ваш ответ:", parsedDText) )
{
    ; reportText := parsedDText1
    if ( regExMatch(parsedDText1, "i)[Кк]ак показать паспорт") ) ; i) - опция регистронезависимого поиска, но на русские символы не действует
        sendInput % "Чтобы показать паспорт используйте /showpass id"
    else if ( inStr(parsedDText1, "то такое DM") ) ; inStr() быстрее, чем regexmatch, так же ригистрозависимый
        sendInput % "DeathMatch - убийство без IC причины"
}
return

index

Известный
126
82
AutoHotKey:
F9::
if ( regExMatch(getDialogText(), "Текст жалобы:\s*(?:\{[A-Fa-f0-9]{6}\})*\s*(.+)\s*(?:\{[A-Fa-f0-9]{6}\})*\s*Ваш ответ:", parsedDText) )
{
    ; reportText := parsedDText1
    if ( regExMatch(parsedDText1, "i)[Кк]ак показать паспорт") ) ; i) - опция регистронезависимого поиска, но на русские символы не действует
        sendInput % "Чтобы показать паспорт используйте /showpass id"
    else if ( inStr(parsedDText1, "то такое DM") ) ; inStr() быстрее, чем regexmatch, так же ригистрозависимый
        sendInput % "DeathMatch - убийство без IC причины"
}
return
 
Последнее редактирование:
  • Нравится
Реакции: BASS_DEVSOFTWARE и Zulik

Zulik

Новичок
Автор темы
3
0
AutoHotKey:
F9::
if ( regExMatch(getDialogText(), "Текст жалобы:\s*(?:\{[A-Fa-f0-9]{6}\})*\s*(.+)\s*(?:\{[A-Fa-f0-9]{6}\})*\s*Ваш ответ:", parsedDText) )
{
    ; reportText := parsedDText1
    if ( regExMatch(parsedDText1, "i)[Кк]ак показать паспорт") ) ; i) - опция регистронезависимого поиска, но на русские символы не действует
        sendInput % "Чтобы показать паспорт используйте /showpass id"
    else if ( inStr(parsedDText1, "то такое DM") ) ; inStr() быстрее, чем regexmatch, так же ригистрозависимый
        sendInput % "DeathMatch - убийство без IC причины"
}
return
Спасибо, всё понятно описал, я разобрался :)