Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: Hito on October 22, 2019, 12:39:53 PM

Title: Оповещения в VK API
Post by: Hito on October 22, 2019, 12:39:53 PM
В связи с обломом темы с телеграмом, предлагаю мутить оповещения из кликера в ВК. В ВК есть ограничение на отправку запросов ботами сообществ, которое нас мало волнует - 20 запросов с секунду. Я ставил цикл в котором бот отправлял мне сообщения постоянно. В цикле была пауза в 50 мс. Так что нас это ограничение вполне устраивает. Приложение от ВК можно установить на мобилу и таким образом всегда быть в курсе того, что у вас там на компе происходит в скриптах. Через ВК так же удобно намутить пульт управления скриптами. Ниже видео, на котором смотрим, как создать сообщество, в котором будем получать оповещения.

ВАЖНЫЕ МОМЕНТЫ:
Тип группы указываем - Частная, чтобы в нашу группу никто не лез и в ней были только вы и ваш бот.
Какую версию API выбираем, ту и используем потом в скрипте. В нашем скрипте это последняя версия - "v=5.102"
После всех настроек сообщества, в него необходимо написать первое сообщение. На видео таким сообщением является - "Упс"
В с крипте - $user_id, указываем - ВАШ id в ВК.
В папку с exe-шником кликера кидаем две dll-ки (libeay32.dll и ssleay32.dll)  -  https://yadi.sk/d/hWk3k-Q2i6uTrA (https://yadi.sk/d/hWk3k-Q2i6uTrA)  и  https://yadi.sk/d/_gajbqM4iPuu6A (https://yadi.sk/d/_gajbqM4iPuu6A) (Clickermann вроде должен быть 32-битной версии. Хз - работает ли 64-битная версия с этими dll.)
Если сообщение не отправилось, копируем сообщение ошибки из лога и показываем (экстрасенсов тут нет).

Ссылка на видео по созданию и настройке сообщества.
https://www.youtube.com/watch?v=d1lQyQBVtBY&feature=youtu.be (https://www.youtube.com/watch?v=d1lQyQBVtBY&feature=youtu.be)

Скрипт Clickermann-а, для отправки сообщений на русском языке.
Code: (clickermann) [Select]
$access_token =""
$group_id =""
$user_id =""


//======================================= Отправка сообщений
SUB(VK_message, $sms)
   $random_id = ""
   FOR($a=0,$a<35)
      $s = RND(0, 9)
      $random_id = STRCONCAT($random_id,$s)
   END_CYC
   
   $message = ""
   FOR($i=0,$i<strlen($sms))
      $simvol = STRCUT ($sms, $i+1, 1)
     
      //= Таблица кодирования символов URL для русского алфавита.
      SWITCH($simvol)
         CASE("А")
            $message = STRCONCAT($message,"%D0%90")
         CASE("а")
            $message = STRCONCAT($message,"%D0%B0")
         CASE("Б")
            $message = STRCONCAT($message,"%D0%91")
         CASE("б")
            $message = STRCONCAT($message,"%D0%B1")
         CASE("В")
            $message = STRCONCAT($message,"%D0%92")
         CASE("в")
            $message = STRCONCAT($message,"%D0%B2")
         CASE("Г")
            $message = STRCONCAT($message,"%D0%93")
         CASE("г")
            $message = STRCONCAT($message,"%D0%B3")
         CASE("Д")
            $message = STRCONCAT($message,"%D0%94")
         CASE("д")
            $message = STRCONCAT($message,"%D0%B4")
         CASE("Е")
            $message = STRCONCAT($message,"%D0%95")
         CASE("е")
            $message = STRCONCAT($message,"%D0%B5")
         CASE("Ё")
            $message = STRCONCAT($message,"%D0%81")
         CASE("ё")
            $message = STRCONCAT($message,"%D1%91")
         CASE("Ж")
            $message = STRCONCAT($message,"%D0%96")
         CASE("ж")
            $message = STRCONCAT($message,"%D0%B6")
         CASE("З")
            $message = STRCONCAT($message,"%D0%97")
         CASE("з")
            $message = STRCONCAT($message,"%D0%B7")
         CASE("И")
            $message = STRCONCAT($message,"%D0%98")
         CASE("и")
            $message = STRCONCAT($message,"%D0%B8")
         CASE("Й")
            $message = STRCONCAT($message,"%D0%99")
         CASE("й")
            $message = STRCONCAT($message,"%D0%B9")
         CASE("К")
            $message = STRCONCAT($message,"%D0%9A")
         CASE("к")
            $message = STRCONCAT($message,"%D0%BA")
         CASE("Л")
            $message = STRCONCAT($message,"%D0%9B")
         CASE("л")
            $message = STRCONCAT($message,"%D0%BB")
         CASE("М")
            $message = STRCONCAT($message,"%D0%9C")
         CASE("м")
            $message = STRCONCAT($message,"%D0%BC")
         CASE("Н")
            $message = STRCONCAT($message,"%D0%9D")
         CASE("н")
            $message = STRCONCAT($message,"%D0%BD")
         CASE("О")
            $message = STRCONCAT($message,"%D0%9E")
         CASE("о")
            $message = STRCONCAT($message,"%D0%BE")
         CASE("П")
            $message = STRCONCAT($message,"%D0%9F")
         CASE("п")
            $message = STRCONCAT($message,"%D0%BF")
         CASE("Р")
            $message = STRCONCAT($message,"%D0%A0")
         CASE("р")
            $message = STRCONCAT($message,"%D1%80")
         CASE("С")
            $message = STRCONCAT($message,"%D0%A1")
         CASE("с")
            $message = STRCONCAT($message,"%D1%81")
         CASE("Т")
            $message = STRCONCAT($message,"%D0%A2")
         CASE("т")
            $message = STRCONCAT($message,"%D1%82")
         CASE("У")
            $message = STRCONCAT($message,"%D0%A3")
         CASE("у")
            $message = STRCONCAT($message,"%D1%83")
         CASE("Ф")
            $message = STRCONCAT($message,"%D0%A4")
         CASE("ф")
            $message = STRCONCAT($message,"%D1%84")
         CASE("Х")
            $message = STRCONCAT($message,"%D0%A5")
         CASE("х")
            $message = STRCONCAT($message,"%D1%85")
         CASE("Ц")
            $message = STRCONCAT($message,"%D0%A6")
         CASE("ц")
            $message = STRCONCAT($message,"%D1%86")
         CASE("Ч")
            $message = STRCONCAT($message,"%D0%A7")
         CASE("ч")
            $message = STRCONCAT($message,"%D1%87")
         CASE("Ш")
            $message = STRCONCAT($message,"%D0%A8")
         CASE("ш")
            $message = STRCONCAT($message,"%D1%88")
         CASE("Щ")
            $message = STRCONCAT($message,"%D0%A9")
         CASE("щ")
            $message = STRCONCAT($message,"%D1%89")
         CASE("Ъ")
            $message = STRCONCAT($message,"%D0%AA")
         CASE("ъ")
            $message = STRCONCAT($message,"%D1%8A")
         CASE("Ы")
            $message = STRCONCAT($message,"%D0%AB")
         CASE("ы")
            $message = STRCONCAT($message,"%D1%8B")
         CASE("Ь")
            $message = STRCONCAT($message,"%D0%AC")
         CASE("ь")
            $message = STRCONCAT($message,"%D1%8C")
         CASE("Э")
            $message = STRCONCAT($message,"%D0%AD")
         CASE("э")
            $message = STRCONCAT($message,"%D1%8D")
         CASE("Ю")
            $message = STRCONCAT($message,"%D0%AE")
         CASE("ю")
            $message = STRCONCAT($message,"%D1%8E")
         CASE("Я")
            $message = STRCONCAT($message,"%D0%AF")
         CASE("я")
            $message = STRCONCAT($message,"%D1%8F")
         CASE(" ")
            $message = STRCONCAT($message,"%20")
           
         DEFAULT
            $message = STRCONCAT($message,$simvol)
      END_SWITCH
   END_CYC
   
   $str = HTTPGET (STRCONCAT("https://api.vk.com/method/messages.send?user_id=",$user_id,"&group_id=",$group_id,"&random_id=",$random_id,"&message=",$message,"&v=5.102&access_token=",$access_token))
   IF(STRPOS ($str, "response") > 0)
      $VK_message = 1
   else
      $VK_message = 0
      LOGWRITE ($str)
   END_IF
END_SUB



VK_message("Наше сообщение")
IF($VK_message)
   // Сообщение отправлено
else
   // Ошибка при отправке сообщения - смотрим лог
END_IF

HALT

Получаем сообщения так:

Code: (clickermann) [Select]
$access_token =""
$group_id =""
$user_id =""


$str = HTTPGET (STRCONCAT("https://api.vk.com/method/messages.getDialogs?group_id=",$group_id,"&v=5.102&access_token=",$access_token))
IF(STRPOS ($str, "response") > 0)
   $body = STRPOS ($str, "body")
   IF($body)
      // Есть сообщение
     
      $ns = $body+7
      $ks = STRPOS ($str, char(34), $ns)
      $komanda = STRCUT ($str, $ns, $ks-$ns)
     
      // Выводим сообщение в лог
      LOGWRITE ($komanda)
     
      // Затираем сообщение в памяти бота, чтобы он нам его в цикле не показывал.
      $str = HTTPGET (STRCONCAT("https://api.vk.com/method/messages.deleteConversation?user_id=",$user_id,"&group_id=",$group_id,"&v=5.102&access_token=",$access_token))
   END_IF
END_IF


WAITMS(100)
Title: Re: Оповещения в VK API
Post by: komandirbk on October 23, 2019, 04:37:42 AM
Всё сделал правильно, по сути ничего сложного, но моментально ошибка при отправке сообщения. В чем проблема?
Title: Re: Оповещения в VK API
Post by: Hito on October 23, 2019, 01:10:53 PM
Всё сделал правильно, по сути ничего сложного, но моментально ошибка при отправке сообщения. В чем проблема?
Я только что строку добавил в скрипт. Запусти обновленный скрипт и скопируй ответ от сервера при ошибке из лога.
Title: Re: Оповещения в VK API
Post by: komandirbk on October 23, 2019, 09:54:45 PM
А где взять этот лог?
Title: Re: Оповещения в VK API
Post by: Hito on October 23, 2019, 11:25:50 PM
А где взять этот лог?
(http://7x.f.mf-image.ru/d/eyJ0IjoiMjAxOS0xMC0yM1QyMDoyNToyNy4xMDM4MDgxWiIsInRtIjoxNSwiYmQiOjEsImZkIjo1OTg0ODAwLCJyZiI6bnVsbCwic2wiOjAsImZuIjpudWxsLCJyIjoiaHR0cHM6Ly9teS1maWxlcy5ydS9lbW1qaDciLCJsIjpudWxsfQ,,.AEEF16F7F17055736F991EE05AD5762C./QIP%20Shot%20-%20Screen%20164.png)

Вы сам кликер вообще изучаете хотя бы минимально...?
Title: Re: Оповещения в VK API
Post by: komandirbk on October 24, 2019, 04:43:46 AM
А где взять этот лог?
(http://7x.f.mf-image.ru/d/eyJ0IjoiMjAxOS0xMC0yM1QyMDoyNToyNy4xMDM4MDgxWiIsInRtIjoxNSwiYmQiOjEsImZkIjo1OTg0ODAwLCJyZiI6bnVsbCwic2wiOjAsImZuIjpudWxsLCJyIjoiaHR0cHM6Ly9teS1maWxlcy5ydS9lbW1qaDciLCJsIjpudWxsfQ,,.AEEF16F7F17055736F991EE05AD5762C./QIP%20Shot%20-%20Screen%20164.png)

Вы сам кликер вообще изучаете хотя бы минимально...?

В логе кликера - пусто. Даже после вашего апдейта - в логе КЛИКЕРА - ничего нет. Дата и пустая строка
Title: Re: Оповещения в VK API
Post by: Hito on October 24, 2019, 11:13:39 AM
А где взять этот лог?
(http://7x.f.mf-image.ru/d/eyJ0IjoiMjAxOS0xMC0yM1QyMDoyNToyNy4xMDM4MDgxWiIsInRtIjoxNSwiYmQiOjEsImZkIjo1OTg0ODAwLCJyZiI6bnVsbCwic2wiOjAsImZuIjpudWxsLCJyIjoiaHR0cHM6Ly9teS1maWxlcy5ydS9lbW1qaDciLCJsIjpudWxsfQ,,.AEEF16F7F17055736F991EE05AD5762C./QIP%20Shot%20-%20Screen%20164.png)

Вы сам кликер вообще изучаете хотя бы минимально...?

В логе кликера - пусто. Даже после вашего апдейта - в логе КЛИКЕРА - ничего нет. Дата и пустая строка

В папку с кликером кинь две dll-ки  -  https://yadi.sk/d/hWk3k-Q2i6uTrA (https://yadi.sk/d/hWk3k-Q2i6uTrA)  и  https://yadi.sk/d/_gajbqM4iPuu6A (https://yadi.sk/d/_gajbqM4iPuu6A)
Title: Re: Оповещения в VK API
Post by: Vir on October 24, 2019, 11:27:35 AM
Quote
Через ВК так же удобно намутить пульт управления скриптами. Если кому нужно будет, то отпишите - объясню, как намутить пульт.
Как это сделать? Больше интересует как прочитать последнее сообщение от пользователя.
Title: Re: Оповещения в VK API
Post by: Hito on October 24, 2019, 11:34:56 PM
Quote
Через ВК так же удобно намутить пульт управления скриптами. Если кому нужно будет, то отпишите - объясню, как намутить пульт.
Как это сделать? Больше интересует как прочитать последнее сообщение от пользователя.
Добавил в шапку.