Author Topic: Рассылка для сайта с чатом, используя блокноты  (Read 2249 times)

0 Members and 1 Guest are viewing this topic.

Mishanya

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Привет. Нужен скрипт для рассылки на сайте с чатом.
Работа заключается в рассылке 2м типам людей определенных сообщений из соответствующих блокнотов. Эти люди отличаются только меткой у имени. (Либо пустой ярлык(1), либо оранжевый(2)).
Работаю с 1-м окном мозилы и  2-мя блокнотах. В проматываю ползунок 1 вниз для обновления списка. Далее я копирую первую строку из блокнота1 для "оранжевых", пишу её оранжевому. Затем копирую первую строку с блокнота2 для "пустых" и пишу её пустому. Повторяю действие пока фраза для оранжевого или пустого не начнет повторятся. Если начались повторения как на скрине 2, то я копирую строку 2 из блокнота для соответствующего учасника.  Если кончатся фразы в блокнотах, то начинаю с первой фразы. После 10 минут такой рассылки я проматываю ползунок вниз для обновления списка. И продолжаю рассылку и старым и новым учасникам. Процесс должен останавливаться только по команде в кликере.

Мой алгоритм работы:
1) проматываю 1 ползунов вниз, жду прогрузки чата 10-15 секунд. Если появляются новые учасники в списке, ползунок откатывается вверх. Я его снова возвращаю и так 3-4 раза. Затем довожу его так, чтоб последнего учасника не было видно и начинаю рассылку с предпоследнего учасника
2) Рандомный клик в поле 2, чтобы выбрать его.
3) Рандомный клик в окне "Type your message..." поле 3, чтобы вставить сообщение (ctrl+v). Тип Сообщения зависит от цвета ярлыка в поле 2!
4) Рандомный клик по кнопке 4 (Send) (после вставки сообщения Send открашивается как Wink). Как только сообщение отправлено, этот учасник улетает в верх списка.
5) Мое написанное учаснику сообщение. По нему я ориентируюсь и понимаю когда нудно сменить строку на следующую из блокнота. Те кому я написал улетают вверх списка и постепенно опускаются вниз по мере написания мною новым учасникам.

Нужно этот процесс автоматизировать и чтоб рассылка шла в свёрнутом окне браузера. Кто чем поможет?

Mishanya

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Пока ничего лучше этого скрипта у меня не получилось. Ставлю рассылку на второй ноут. Есть подозрения что сайт через какое-то время блокирует рассылку и мои сообщения никто не видит.
1)Как замаскировать кликер? Его можно замаскировать так, буд-то он макрос для мышки?
2)У меня проблемы с поиском пикселя на экране. Скрипт начинает нажимать на нужное месте только когда я сам подвожу на него мышку. С чем это связано?
Code: [Select]
getscreen
if_pixel_in(491,333, 503, 401, 4905727)  //нужный пиксель в этой области
   lclick($_return1, $_return2)
   lclick($_return1, $_return2)
end_if
3)Пытался сделать привязку в окну браузера, но там не работали комбинации клавиш ctrl+v. Есть варианты решений? Попробую открыть второй кликер с хоткеем на эту комбинацию,  опишу если будет результат.
4) Посоветуйте, пожалуйста, как можно ускорить javascript на странице.
Code: [Select]
IF(TFCOUNT("1B.txt") > $count)  // привязка к блокноту в проекте
   INC($count,1)   //переход на следующую строку
ELSE
   $count = 1
END_IF
$str = TFREAD ("1B.txt", $count)  //читаем блокнот
$l = STRCUT ($str, 0, 150)        //выделяем строку для копрования

LCLICK(238,648)  // 16119285
waitms(rnd(100, 150))
LCLICK(390,646) // клик по полю диалога
WAITMS (50)
TOCLIP($l) // скопировать в буфер
WAITMS (50)
KEYDOWN (#CTRL) // вставить
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (500)
KEYPRESS(#ENTER)

WAITMS(3000)  //3 сек ибо сайт доко лагает при рассылке

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
1)Как замаскировать кликер? Его можно замаскировать так, буд-то он макрос для мышки?
Сайт никак не может узнать о существовании кликермана, а вот частые однообразные действия легко могут фиксироваться.

2)У меня проблемы с поиском пикселя на экране. Скрипт начинает нажимать на нужное месте только когда я сам подвожу на него мышку. С чем это связано?

Бывает так что когда наводишь курсор например на кнопку она меняет цвет, соответственно чтобы найти цвет кнопки нужно его получить без наведения. Сделать это можно либо взяв его со скриншота либо таким скриптом.
Code: (clickermann) [Select]
GETSCREEN
LOGWRITE (PXL(10,10)) // выводим в лог цвет по координате
HALT

3)Пытался сделать привязку в окну браузера, но там не работали комбинации клавиш ctrl+v. Есть варианты решений?
Можно зажимать Ctrl временно отключая оконный режим
Code: (clickermann) [Select]
$hw = $_hwnd // сохраняем текущий HWND
HSET(0,0) // отключаем привязку
KEYDOWN (#CTRL) // зажимаем контрл
HSET($hw,1) // включаем привязку
WAITMS (40)
KEYPRESS (#V)
HSET(0,0)
KEYUP (#CTRL)
HSET($hw,1)

Mishanya

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Насчет 3го пункта. Пробовал этот скрипт с KEYSTRING
Code: [Select]
WAIT(1) // задержка 1 сек перед началом чтобы успеть кликнуть СТАРТ на кликере
HSET(HGET($_xmouse,$_ymouse),1) //тут я привязывался к блокноту для теста
KEYSTRING("Hello world")
HALT

Результат плачевен. Каждая буква была напечатана рандомное количество раз. Раскладку ставил одинаковую (EN), запускал от админа. Может сталкивались с таким?

Тестил с разчетом на дальнейшее применение этой команды: KEYSTRING(tfread("1.txt", 1),50)
« Last Edit: October 29, 2019, 11:21:44 PM by Mishanya »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Да с блокнотом у меня на Win10 та же фигня. А вот если привязаться к AkelPadу или к Notepad++ все вводится нормально.

Что говорит от том что оконный режим не со всяким окном нормально работает.

Mishanya

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Есть делема с мышкой в оконном.
При привязке к окну, я хочу чтоб клики шли от виртуальной мышки а не от реальной. Моя начинает работать в окне когда оно привязано.
использую выделенный серв от амазона, кликер (уже на серве) работает, но только когда окно не свернуто. Мою мышь не дергает, но сообщения которые в памяти выделенного посылаются и в мою память (и наоборот мои туда)
Связь с ним через стандартную прогу удаленного доступа. Может есть решение или другой способ связи?