На основе обработки изображений инструмент FoolQQ
В настоящее время все роботы для чтения и записи в QQ основаны на анализе сообщений, отправляемых smartqq. Однако smartqq от Tencent уже не работает, и на сцену выходит FoolQQ!
Сценарии использования FoolQQ применяется в компаниях China Telecom, China Unicom и других организациях, включая автоматическое управление рабочими задачами, ответы на часто задаваемые вопросы в группах, отправку предупреждений по расписанию, заполнение ежедневных отчётов и другие функции. Ещё в 2017 году мы реализовали технологию, подобную GPT! Вот несколько примеров:
Принцип работы
Подготовка
Использование
public static void main(String[] args) throws AWTException, IOException, NativeHookException {
//Создание экземпляра BaseQQWindowContext и передача ранее подготовленного файла point.png
BaseQQWindowContext context=new BaseQQWindowContext(new File("point.png")) {
@Override
public void onMessage(String name, QQMsg msg) {
//name — это имя файла (без расширения), например, для изображения gj.png здесь name будет «gj», что позволяет определить, какое сообщение относится к какой группе
System.out.println(msg); //msg включает содержание, отправителя QQ, псевдоним, время
}
};
}
Глобальная блокировка — BaseQQWindowContext Вы могли заметить, что мы управляем мышью и клавиатурой, которые являются специальными общими ресурсами. Если вам нужно использовать класс robot в другом потоке, это может привести к конфликту с внутренними методами FoolQQ. Объект контекста, созданный на предыдущем шаге, может служить блокировкой для предотвращения конфликтов.
//Если вам нужно использовать класс робота, ваш код должен выглядеть следующим образом
synchronized(context){
robot...
}
interval и checkInterval Контекст предоставляет метод setInterval для установки интервала между сериями операций, таких как ожидание нажатия клавиши после двойного щелчка. Это позволяет избежать перегрузки системы при слишком быстрой работе. Значение по умолчанию составляет 200 мс. checkInterval — это полный цикл, который должен быть больше времени, затрачиваемого на чтение и обработку сообщений из всех отслеживаемых групп. Значение по умолчанию — 5 секунд.
writeQQMsg Метод writeQQMsg в контексте позволяет отправлять сообщения в указанную группу и является потокобезопасным. Этот метод используется для периодического выполнения задач, таких как отправка напоминаний в группу через определённые промежутки времени. Эта функция была бы очень дорогой для предыдущих версий smartqq, требующих периодических перезапусков. Метод writeQQMsg принимает два параметра String: первый — это имя изображения, второй — содержимое сообщения.
context.writeQQMsg("gj","Всем привет!"); //Отправить текст
context.writeQQMsg("gj",new File("d:/img/logo.jpg")); //Отправить изображение
Выход Класс robot управляет вашей мышью и клавиатурой. Чтобы выйти из программы, используйте клавишу ESC. Эту функцию можно реализовать на Java с использованием jnativehook.
Сценарии применения Возможности FoolQQ включают автоматизацию рабочих процессов, ответы на частые вопросы в группах, рассылку уведомлений по расписанию и составление ежедневных отчётов. Хотя NLP не рассматривается в этой статье, он также может быть использован в этих сценариях.
Недостатки дизайна FoolQQ ориентирован на настольные чаты. На одном компьютере можно открыть ограниченное количество групповых чатов одновременно, в зависимости от разрешения экрана. Кроме того, если у вас несколько бизнес-аккаунтов QQ для разных сфер деятельности, вам потребуется несколько виртуальных рабочих столов.
Частые проблемы Большинство проблем возникает из-за недостаточной чёткости снимков, что затрудняет распознавание. Вы можете использовать метод validImage класса ImgChkHelper, чтобы проверить, является ли изображение действительным (возвращает true, если оно действительно).
ImgChkHelper.validImage(путь к снимку экрана, путь к частичному изображению);
Не рекомендуется использовать функцию скриншота в QQ. Вместо этого рекомендуется использовать Photoshop или другое программное обеспечение для редактирования изображений. Если вы не являетесь профессионалом, рекомендуется использовать Lightroom и сохранять изображение со 100% качеством.
Заключение
Меня больше интересует методология, лежащая в основе этого инструмента, чем сам инструмент. Использование обработки изображений может помочь нам во многих задачах. Код FoolQQ очень лаконичен, и я настоятельно рекомендую прочитать его хотя бы один раз. Я также открыт для обсуждения и могу быть доступен по электронной почте 1491087363@qq.com
.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )