Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
Как сделат что б при нахождении определенного слова в msgbox что то писалось ( допустим функция ищет сообщение "Привет" и нахождения в msgbox выводит что мне пришло сообщение)
Как сделат что б при нахождении определенного слова в msgbox что то писалось ( допустим функция ищет сообщение "Привет" и нахождения в msgbox выводит что мне пришло сообщение)
Короче, я не самый лучший гайдер, но таких гайдов именно с ахк я не нашел.
В общем, вырезали из Lani Soft Report функции для отправки и чтения сообщений.
Перейдем же к гайду.
Создание и настройка группы ВК:
Первое что нам необходимо сделать - создать группу ВК, надеюсь все знают как это делается.
Далее идем в настройки группы и в пункте "Сообщения" и включаем их.
После в пункте настройки выбираем подпункт "Работа с API".
Жмем на кнопку "Создать Ключ", ставим разрешение на доступ к сообщениям сообщества и нажимаем "Создать"
После подтверждаем создание ключа через номер или телефон, который привязан к ВК.
После подтверждения вы увидите ключ и его права, ключ необходимо сохранить или записать.
Номер страницы:
Далее нам необходимо узнать свой номер страницы, узнать его можно через настройки нажав в пункте "адрес страницы" кнопку "Изменить" и вы увидите ваш адрес страницы его тоже записываем.
АХК:
Создаем новый .ahk скрипт и заходим в его редактирование.
Нам нужно добавить 2 функции:
Функция для отправки сообщения человеку:
AutoHotKey:
vk_send(textvk)
{
text := RegExReplace(text, "%", "%25") ; first string
text := RegExReplace(text, "\+", "%2B")
text := RegExReplace(text, "#", "%23")
text := RegExReplace(text, "&", "%26")
text := RegExReplace(text, "`n", "%0A")
HTTP := ComObjCreate("WinHTTP.WinHTTPRequest.5.1")
HTTP.Open("GET", proxy "api.vk.com/method/messages.send?user_id=" vkid "&message=" textvk "&v=5.52&access_token=" token)
try
HTTP.Send()
return
}
Добавляем их в начало кода и теперь нам пригодятся данные которые мы добыли в ВК.
В самое начало кода прописываем 3 переменные -
AutoHotKey:
global vkid := "ваш id"
global token := "ваш ключ"
global proxy := "https://vk-api-proxy.xtrafrancyz.net/_/"
Заполняем сови данные - ключ, который мы взяли из группы и ваш id Вконтакте.
Перейдем к использованию функций.
vk_send:
Для отправки сообщения человеку необходимо использовать функцию vk_send()
Например:
AutoHotKey:
global vkid :="240193106"
global vktoken:="5169802827b8c1d4fe0980f16209e94ab590de0b3fdc7262ce614fd0a02008d58dfe4929542f72cb98b74"
global proxy := "https://vk-api-proxy.xtrafrancyz.net/_/"
vk_send(text)
{
text := RegExReplace(text, "%", "%25") ; first string
text := RegExReplace(text, "\+", "%2B")
text := RegExReplace(text, "#", "%23")
text := RegExReplace(text, "&", "%26")
text := RegExReplace(text, "`n", "%0A")
vkid :="240193106"
token:="5169802827b8c1d4fe0980f16209e94ab590de0b3fdc7262ce614fd0a02008d58dfe4929542f72cb98b74"
global proxy := "https://vk-api-proxy.xtrafrancyz.net/_/"
HTTP := ComObjCreate("WinHTTP.WinHTTPRequest.5.1")
HTTP.Open("GET", proxy "api.vk.com/method/messages.send?user_id=" vkid "&message=" text "&v=5.52&access_token=" token)
try
HTTP.Send()
return
}
f2:
vk_send(blast.hk)
return
После нажатия клавиши F2 в ВК нам приходит такое сообщение:
А, нихуя не приходит, нужно сначала самому написать в группу! Чтобы у нее были права писать нам!
И так, после того как мы написали и снова нажали F2, нам приходит такое сообщение:
Можно ещё сделать например форму обратной связи:
AutoHotKey:
InputBox,vksend, Нашли баг? Отпишите мне!
vk_send(vksend)
sleep 100
MsgBox, Ваше обращение отправлено!
return
И что бы мы не написали, оно будет отправлено.
vk_get:
Ну и собственно перейдем к чтению сообщений.
Для этого нужно использовать функцию vk_get()
Код выглядит примерно так:
AutoHotKey:
f2::
SetTimer, checkMessage, 250
return
checkMessage:
if not ((vk_message := vk_get()) and (vk_message.date != last_date))
{
return
}
last_date := vk_message.date
message := vk_message.text
if RegExMatch(message, "i)^!test (.*)$", mes)
{
msgbox, %mes1%
}
return
Если в группу приходит сообщение с текстом равным "!test arg", то оно отправит нам аргумент.
Ну собственно, на этом всё, если этот гайд был вам полезен, не забудьте нажать отметку "нравиться".
Код не работает, написал автору данной темы - ответил мне и написал что сделать, я сделал, но у меня ничего не получилось и я попросил его чтобы он проверил, он написал все работает, после чего я сделал так же как он и написал . Итог : код не работает, автор читает мои сообщения и игнорирует .
Код не работает, написал автору данной темы - ответил мне и написал что сделать, я сделал, но у меня ничего не получилось и я попросил его чтобы он проверил, он написал все работает, после чего я сделал так же как он и написал . Итог : код не работает, автор читает мои сообщения и игнорирует .