Что нового

Создание грамотного GUI(с настройками) для бота

rivega

Новичок
Сообщения
45
Репутация
1
Версия AutoIt: 3.3.12.0

Описание:

То что есть:

В данный момент есть простейший GUI- запрос пароля и логина, кнопка начать работу .
Ф1- определение работы на локальном ПК или вирт. машина;(есть)
Ф2- определение UUID;(есть)
Ф3- коннект с сервером , передача ему пароля, логина и UUID,ожидание ответа(таблица кодов)(есть);
Ф4-запуск браузера;(есть)
Ф4.1-логин на сайт(используя пароль и логин);(есть)
Ф5-работа на сайте(нажатие на элементы интерфейса, ожидание реакции и снова нажатие, отображение состояния через tooltip);(есть)
Логика работы сейчас:
-при старте срабатывает Ф1(если виртуалка то выход с сообщением), если все хорошо, то видим окно GUI;
-вводим пароль и логин, нажимаете старт(Ф2,Ф3);
-проверяем сообщение от сервера(возвращает код от -7 до -1 -в зависимости от кода выдаем сообщение);
-выдается сообщение- «вы зарегистрированны»;
-еще раз запускаем скрипт, еще раз пароль и логин и старт(не удобно);
- сообщение «у вас столько то дней работы»,Ф4,Ф5;
-нажатие Esc –происходит завершение всего скрипта, с гуем.







Что требуется:
Ф6-автовыход(нажатие на логаут в аккаунте)(сделаю сам);
Ф7- хоткеи управления скриптом(старт, стоп, пауза, выход, аварийный выход)
Ф8-проверка наличия процессов Chrome(и завершение их если стоит чекбокс)
Ф9-проверка 1й страницы после загрузки Chrome (если там goinf, livesearch.me, traflab.ru, Sweet-page.com, все кроме гугл поиска- то выдаем сообщение пользователю о том что ему необходимо почистить странцу автозагрузки….и возвращаемся в главное окно.)
Ф10-блокировка устройств ввода
Ф11-перехват управления при простое
Ф12- выбор пары с макс%(сделаю сам)
Ф13-интерпритатрор(расшифровка кодов или сообщений от сервера)
Таблица кодов:
-1 -пользователь зарегистрирован
-2 -ведуться работы, просьба попробовать позднее
-3 -просьба связаться с разработчиками
-4 -неверный пароль
-5 -неверный ид машины
-6 -слишком рано, попробуйте в оговоренное время
-7 - тестовые пользователи уже набраны
0 -истек срок лицензии
положительные числа - лицензия в часах
Если сообщение от сервера текстовое, то отображается в явном виде.

Расширенный GUI:
1е окно- кнопка старт(изначально кнопка «зарегистрироваться»- не активна до внесения настроек), кнопка «настройки»(открывает окно «настройки» с вкладками), поле сообщений (от сервера: вышла новая версия, у вас осталось Х дней работы…сервисные сообщения; от Ф5- текущее состояние, скорость……и т.д.), кнопка «сайт»- переход на сайт, кнопка «перейти в группу».
Окно «настройки»- первая вкладка:
- Вывод UUID своей машины(используется как реферальный код), берется из Ф2
-Поле ввода реферального UUID(должен передаваться в Ф3)
-Поле для ввода логина:
-предварительно внесен пример ввода логина, при нажатии в поле-исчезает.
-проверка по маске([email protected] ), если не соответствует маске- вывод сообщения.
-Поле для ввода пароля:
- 2 поля закрытые звездочками с чекбоксом для отображения вводимых символов, при не совпаденнии ввода в оба поля- выдавать сообщение об ошибке.

-Настройка управления скриптом(Ф5) (отдельная вкладка):
-Присвоение хоткеев:
Пауза(по ум.Pause);
Продолжить(по ум.F5);
Аварийный выход(по ум. Break);
Завершение работы(хоткей для срабатывания и 2 режима работы):
– ожидание завершения текущей сделки;(чекбокс)
-ожидание завершения прибыльной сделки; (чекбокс-уст. по ум.)
Если выбран один чекбокс нельзя выбрать другой.
-Чекбокс(по ум.вкл.)- «Автовыход», при срабатывании хоткея «аварийный выход» или «Завершение работы» и отработки этих функций, должна срабатывать Ф6.
Настройка входа(отдельная вкладка):
-Чекбокс –«проверка на наличие процессов Chrome», выбор действия при обнаружении- убить или сообщить.(передавать значение чеков в Ф8);
-Чекбокс- «проверка первой страници после вкл Хром»( Ф9);
-Чекбокс(по умолчанию вкл)-« блокировка устройств ввода»(Ф10);
-Чекбокс –«перехват управления при простое» с возможностью выбора времени(от 15 сек. до 30 минут)(Ф11);
- Чекбокс- «выбор пары с макс%»( Ф12);
Настройка расписания работы(отдельная вкладка):
Настройка недельного расписания, с возможностью задать несколько интервалов работы скрипта на каждый день.(желательно наличие нескольких шаблонов настроек)

!!!!после внесения настроек(минимум- пароль и логин)и нажатия кнопки «сохранить», создается config.ini(должен находится в C:\Users\UserName\AppData\Local), от туда же настройки читаются при последующем включении скрипта- это действие(создание ini активирует кнопку «регистрация»).


Расширенное отображение работы скрипта
Сейчас используется тултип, который обновляется после каждого цикла в Ф5.
Что хотелось бы-некое окно с возможностью перетаскивания, отображением переменных из Ф5, отображением времени работы(секунды отстчитываются), индикатором работы(например мигает красная надпись «работаем…», кнопки управления- пауза, продолжить работу, завершить работу(соответствующие хоткеям и настройкам чекбоксов)).

Расширенное управление скриптом
Хотелось бы иметь возможность открывать меню с вкладками(настройки,управление) по нажатию на значек скрипта в системном трее.

ЖЕЛАЕМАЯ ЛОГИКА РАБОТЫ:
1.запустили скрипт.
2.отработала функция Ф1- если не виртуальная машина, то продолжаем работу. Если виртуальная, то предупреждение и завершение работы.
3.Запускается GUI(1е окно),проверяем наличие файла «config.ini»- если существует, то вместо кнопки регистрация- кнопка «старт», если файла нет, то отбражаем кнопку «зарегистрироваться», и в окне отображения сообщений от сервера сообщение: «зайдите в настройки и заполните поля, сохраните и нажмите кнопку регистрация»)
4.Как только поля заполнены и чек боксы выставлены, нажимаем «сохранить»- формируется файл config.ini . Нажимаем кнопку закрыть- закрываем окно настройки.
5. Нажимаем кнопку «зарегистрироваться», отправляем в функцию Ф3 пароль(из config.ini),логин(из config.ini), UUID(всегда берется из Ф2) и refUUID(если есть) (из config.ini).
6.Получаем ответ от Ф3 и передаем его в Ф13, Ф13 создает сообщение в окне отображения сообщений от сервера: «Вы зарегистрированы, у Вас есть 3 тестовых часа.» Если Ф13 получает «одобрительный код », то кнопка «Старт» разблокируется(появляется возможность запустить бот), если же код не «одобрительный», то кнопка не разблокируется, а только отображается сообщение.
7.Нажимаем кнопку «старт»….и исходя из настроек(чекбоксов) продолжаем работу.
Например выбраны все чекбоксы, тогда дальнейшая работа будет выглядеть так:
Ф11-ждет пока прекратится активность клавиатуры и мыши определенное время, далее Ф8,Ф9,Ф4.1, вывод окна отображения работы с кнопками управления,Ф12,Ф5, нажимаем на хоткей или кнопку управления(иди в трее или в окне отображения работы) отрабатывает Ф6, в стартовом окне, в окне отображения сообщений от сервера появляется информация из окна отображения работы.


Примечания:
2 недели назад обращался к форумчанину с просьбой написать подобный GUI(сильно проще)….гуй был написан, но вылезла проблема- после настроек в гуе и нажатии на кнопку «старт» мой основной скрипт запускался, но опережал отображение элементов на сайте(по словам форумчанина)….это приводило к тому что при загрузке хрома и переходу на нужную страницу, скрипт нажимал еще не отображенные элементы, так как будто они уже есть(нажимал на кнопку вход, вводил пароль и логин, и приступал к основной части)….вот только входа не происходило, тк элементы не были отображены на экране……для меня до сих пор не понятно как так……в любом случае скрипт работает с простым гуем.



Все сделанные функции и наработки передам тому с кем договорюсь, поймите пожалуйста правильно.
 

nowost

Знающий
Сообщения
178
Репутация
17
можно попробовать, темболе уже есть наработки. отпишитесь плз ПМ или в скайп: srg_2525
 
Автор
R

rivega

Новичок
Сообщения
45
Репутация
1
Всем спасибо. тема закрыта.
 
Верх