louie1743shkirondo
Новичок
- Сообщения
- 28
- Репутация
- 0
Собственно, в переменную записываю значение response (ответ на запрос VK API), затем в response ищу сообщения и записываю их в массив.
Проблема встала тогда, когда мне понадобилось определять: прочитано сообщение или нет, то бишь искать значение read_state в response, которое представляет собой целое число (1 или 0).
Я применил _StringBetween для поиска этого самого значения, но скрипт мне постоянно ничего не выдаёт (Пустой ответ).
Не знаю, с чем это связанно, но могу догадываться, что из-за числового значения..
Сам скрипт:
P.S.
Оптимизация и реализация каких-либо действий только приветствуется
Проблема встала тогда, когда мне понадобилось определять: прочитано сообщение или нет, то бишь искать значение read_state в response, которое представляет собой целое число (1 или 0).
Я применил _StringBetween для поиска этого самого значения, но скрипт мне постоянно ничего не выдаёт (Пустой ответ).
Не знаю, с чем это связанно, но могу догадываться, что из-за числового значения..
Сам скрипт:
Код:
#include <String.au3>
#include <Array.au3>
#include <File.au3>
#include <IE.au3>
#include <Array.au3>
HotKeySet("{ESC}", "Close")
Global $File = @ScriptDir & "\Messages.txt"
If Not FileExists($File) Then _FileCreate($File)
GLobal $FileOpen = FileOpen($File)
Global $Token = 'Токен'
Global $Shell = "https://api.vk.com/method/messages.get?count=200&access_token=" & $Token & "&v=5.53"
$oHTTP = ObjCreate('WinHttp.WinHttpRequest.5.1')
$oHTTP.Open('GET', $Shell)
$oHTTP.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:48.0) Gecko/20100101 Firefox/48.0")
$oHTTP.Send('')
$oHTTP.WaitForResponse
$res = $oHTTP.ResponseText
ConsoleWrite($res & @CRLF)
$Domain = _StringBetween($res, 'read_state":', ',') <===========================================
$Text = _StringBetween($res, 'body":"', '"')
ConsoleWrite(@CRLF & $Domain)
Global $Count = UBound($Text)
Global $FullMessages[250] ; Вообще, максимум сообщений за раз - 200. Но в массиве у меня было 209, поэтому я перестраховался
$b = 0
For $i In $Text
FileWrite($File, $i & @LF & $Domain & @CRLF)
$FullMessages[$b] = $i
$b = $b + 1
Next
Func Close()
Exit
EndFunc
P.S.
Оптимизация и реализация каких-либо действий только приветствуется