NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    에디터 화면 색 인식 알람 매크로 프로그램 만들기. (소리 알람, 화면 알람, 카카오톡 알람, 텔레그램 알람)

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 오늘은 윈도우 화면에서 특정 위치의 색(픽셀 값)이 바뀌면 알람을 발생시키는 방법에 대해 알아보도록 하겠습니다. 이 테스트를 따라하기 위해 우선, 엔지엠 에디터를 실행하고 새로운 스크립트를 하나 추가하세요.

    cnOuw3h.gif

     

     

    윈도우 회면의 색 인식은 [ 픽셀 체크 ]나 [ 픽셀 서치 ]를 주로 사용합니다. 윈도우 화면의 색깔 또는 색상은 픽셀이라는 하나의 작은 점으로 이루어져 있는데요. 이 점들이 모여서 화면을 만들게 됩니다. 이보다 좀 더 큰 개념은 [ 이미지 서치 ]나 [ 이미지 매치 ]입니다. 화면의 색깔(색상) 인식은 오작동할 위험이 많습니다. 사람의 눈으로 작은 점인 색을 모두 인식할 수 없을뿐만 아니라 완전 동일한 색인지 알기 어렵기 때문입니다. 아래 그림과 같이 그림판을 실행하고 오랜지색 점을 하나 찍어주세요.

     

     

    픽셀 체크 액션을 스크립트에 추가하고, 아래 동영상과 같이 인식할 색깔을 선택 해줍니다. 화면에서 색상을 선택할 때는 F1 또는 F2를 눌러주면 픽셀 값이 저장됩니다. 그리고, 화면에서 색깔을 제대로 인식했는지 시각적으로 확인하기 위해 마우스 동작을 추가 해줬습니다. 물론, 옵션에서 마우스 이펙트를 켜주면 더 쉽게 확인할 수 있습니다.

     

     

    [ 소리 알람 ]은 확인할 수 없어서 [ 화면 알람 ]으로 처리 해봤습니다. 소리 알람은 사용자가 원하는 소리로 처리할 수 있습니다. 이외에도 엔지엠 매크로 프로그램에는 텍스트를 음성으로 읽어주는 기능도 들어 있습니다. 그래서, 디스코드와 같은 대화방에도 음성으로 채팅할 수 있습니다. 디스코드에 자동화된 음성 대화는 아래 글을 참고하세요.

    [ 디스코드 자동 대화하는 방법 ]

     

     

    우선, [ 카카오톡 개발자 센터 ]에서 Open API 사용 신청을 해야 합니다. "시작하기" 또는 우측 상단의 "로그인"을 누르세요.

    ElRF6Xs.png

     

     

    "애플리케이션 추가하기"를 클릭하세요.

    Havnrxg.png

     

     

    적절하게 애플리케이션 정보를 입력하고, 저장을 클릭하세요.

    QjXRO6r.png

     

     

    하단의 "플렛폼 설정하기"를 클릭하세요. 단순히 Open API만 사용한다면 이 단계는 건너뛰어도 됩니다. 일단 여기서 Admin 키를 복사해두세요^^

    sMBqDD4.png

     

     

    홈페이지를 통해 카카오톡 플랫폼과 연동하려면 "Web 플랫폼 등록"을 선택해야 합니다. 안드로이드나 iOS에서 서비스한다면 마켓과 앱의 고유한 키를 등록해야 합니다. 이 부분은 직접 테스트하지는 않았으나 웹앱은 아마도 안될듯하고, 네이티브나 하이브리드 형태여야 할거 같네요. 아무튼~ 저는 홈페이지를 가지고 있으므로 일단 등록 해둡니다.

    iW9EeBO.png

     

     

    플랫폼 등록은 Redirect URI를 등록하기 위해 필수입니다. 카카오톡에서 사용자들에게 메시지 또는 이미지를 보내거나, 카카오 스토리 링크나 마케팅 용도의 사이트 정보를 보내려면 Access 키를 발급 받아야 합니다. 이 키를 받으려면 Redirect URI에 설정한 주소로 응답을 받아야 합니다. 약간 복잡하긴 한데요. 자체적인 서비스를 카카오톡으로 제공하려면 이 단계를 수행해야 합니다. 엔지엠 매크로를 이용해서 사용자 정보를 탐색하고 별도로 처리한다면 플랫폼 등록은 안해도 됩니다.

    pqhysLc.png

     

     

    이제 엔지엠 에디터를 실행하고, 아래와 같이 정보들을 입력하세요.

    • API 주소: https://kapi.kakao.com/v1/user/ids
      - 카카오톡 사용자의 아이디 목록을 가져옵니다.

    EofVsKY.png

     

     

    헤더 목록을 클릭하고 아래와 같이 정보를 입력해줍니다.

    • 헤더 목록: Authorization: KakaoAK <Admin 키>
      - Admin 키는 위에서 복사해둔 사용자의 관리자 키입니다.

    IRZPfdt.png

     

     

    실행하면 아래 그림과 같이 사용자 정보를 Json 타입으로 가져온것을 알 수 있습니다. 카카오톡 사용자의 고유한 아이디는 숫자로 이루어져 있어서 누가 누군지 알기 어렵습니다.

    fpccDtk.png

     

     

    사용자의 디테일한 정보를 가져오려면 어떻게 해야할까요? 이미 엔지엠 에디터에 익숙하신 분들은 콤마로 구분된 아이디를 배열로 저장하고, [ Foreach 반복 ]을 이용해서 처리하면 된다는걸 알고 있을겁니다. 자 그러면 반복기 안에서 아이디로 상세 정보를 가져오려면 어떻게 해야 할까요? 카카오톡 디벨로퍼 센터에 보면 사용자 정보를 가져올 수 있는 API가 있습니다.

    카카오톡 - 여러 사용자 정보 가져오기 ]

     

    아래 샘플을 참고해서 엔지엠 에디터에 설정하면 됩니다.

    요청 (Request)

    curl -v -G GET "https://kapi.kakao.com/v2/app/users" \
        -H "Authorization: KakaoAK {APP_ADMIN_KEY}" \
        -d "target_ids=[1399634384,1406264199]" \
        -d "target_id_type=user_id"

     

    요청 (Request: property_keys로 이메일, 프로필 지정 요청

    curl -v -G GET "https://kapi.kakao.com/v2/app/users" \
        -H "Authorization: KakaoAK {APP_ADMIN_KEY}" \
        -d "target_ids=[1399634384,1406264199]" \
        -d "target_id_type=user_id" \
        -d 'property_keys=["kakao_account.email","kakao_account.profile"]'

     

    요청 (조회 가능한 모든 사용자 정보 요청)

    curl -v -G GET "https://kapi.kakao.com/v2/app/users" \
        -H "Authorization: KakaoAK {SERVICE_APP_ADMIN_KEY}" \
        -d "target_ids=[1285016924429472463]" \
        -d "target_id_type=user_id" \
        -d 'property_keys=["kakao_account.","properties.","has_signed_up"]'

     

    마지막 API인 조회 가능한 모든 사용자 정보 요청을 테스트 해볼께요. API에서 GET은 메소드고, 뒤가 API 호출 주소입니다. 그리고, -H는 헤더 목록에 추가하는 파라메터예요. -d는 파라메터 목록에 추가되는 옵션들입니다. 앞서 확인한 사용자 아이디중 하나를 선택해서 target_ids 파라메터에 지정하고 실행 해보세요. 저는 제 아이디를 넣었습니다.

    QvUcoKt.png

     

     

    사용자 정보를 잘 가져왔습니다. 제 생일이 보이는거보니 맞네요^^; 속성에서 "응답 결과"를 더블 클릭하면 내용이 전체 선택됩니다. 여기서 Ctrl+C를 눌러서 클립보드에 저장하세요. 메모장에 붙여넣기하면 전체 내용을 확인할 수 있습니다. 하지만, 내용을 확인하기가 좀~ 불편합니다. 제이슨을 좀 더 보기좋게 해주는 크롬 확장 도구와 웹사이트들이 많습니다. [ 여기 ]에 내용을 붙여넣기 해보세요. Viewer 탭을 클릭하면 아래 그림처럼 볼 수 있습니다. 이외에도 XML로 변환하거나 데이터 테이블로 변환도 가능하니 용도에 맞게 사용할 수 있습니다.

    2EBuDBJ.png

     

     

    정보를 가져오는건 Admin 키를 이용해서 처리가 가능합니다. 하지만, 메시지나 이미지 또는 카카오 스토리 링크등등을 보내려면 추가적인 내용이 더 필요합니다. 당연한 이야기겠지만~ 내 계정에 로그인 되어 있어야 합니다. 그렇기 때문에 카카오톡 로그인 API를 이용해서 세션에 대한 토큰을 받아야 합니다. 이 토큰으로 인증이 완료될 수 있도록 처리도 필요하죠~ 이런 부분들을 자동화하기 어렵게 만드는 장치도 피해야 합니다. 

    카카오톡이나 푸시불렛 또는 텔레그램으로 매크로 또는 RPA 자동화 프로그램의 상태를 알람으로 받고 싶은 경우가 많습니다. 제목과 같이 텔레그램을 이용해서 알람을 받는 방법에 대해 알아볼건데요. 그전에 텔레그램 API를 사용할 수 있도록 먼저 설정되어 있어야 합니다. 텔레그램 오픈 API 사용 신청은 아래 링크의 글을 참고하시면 됩니다.

    텔레그램 오픈 API 사용 신청 ]

     

    갑작스럽게 외근을 나가야 하거나 회사에서 집 컴퓨터에서 실행중인 매크로를 제어할수도 있습니다. 외부에서 스마트워치로 실행중인 매크로를 원격으로 실행하거나 중지할수도 있습니다. 물론, 메세지나 이미지를 받아볼수도 있습니다. 자세한 내용은 아래 내용을 참고하세요.

    스마트워치로 원격 제어하기 ]

     

    자~ 텔레그램 오픈 API 설정을 마쳤으면, 엔지엠 에디터를 실행하고 새로운 스크립트를 하나 추가해줍니다.

    cnOuw3h.gif

     

     

    우측의 외부 API 탭을 클릭한 후 텔레그램 카테고리를 확장하세요. 그리고, [ 연결 ] 액션을 더블 클릭하거나 드래그해서 스크립트에 추가 해줍니다.

    1PqSUji.png

     

     

    연결 액션의 속성창에서 챗 아이디와 토큰을 입력하세요.

    EfeN7JH.png

     

     

    동일하게 [ 전송 ] 액션도 스크립트에 추가 해줍니다. 속성은 아래 그림을 참고해서 이미지까지 추가 하세요.

    eet6dhq.png

     

     

    스크립트를 실행하면 아래 동영상처럼 텔레그램에 연결되고, 이미지도 정상적으로 전송된 것을 확인할 수 있습니다.

    j6dlKtr.gif

     

     

    텔레그램은 기타 다른 프로그램들(카카오톡, 네이버 라인, 네이트온, 페이스북 메신저등등...)보다 업무 자동화에 특화되어 있습니다. 봇을 만들어서 각각의 컴퓨터들을 그룹으로 묶을 수 있습니다. 이렇게하면 그룹별로 메세지를 보낼 수 있고, 그룹에 속한 모든 컴퓨터들의 매크로를 실행하거나 중지할 수 있습니다. 엔지엠 에디터는 윈도우 리부팅시 자동실행되며 이 때 실행할 스크립트도 설정할 수 있습니다. 완전 무인 자동화 매크로를 만들려면 필수로 갖춰야할 기능들이 모두 포함되어 있기 때문에 다른 매크로를 사용하던 분들은 경험하지 못한 새로운 세계를 만나볼 수 있을겁니다.

     

    완전 자동화된 무인 관리 시스템을 구축하면, 외부에서 가족들과 시간을 보내면서 스마트폰, 스마트워치로 알람을 받아보고 원격으로 제어도 가능합니다. 또한, 스크립트는 제작자가 암호화하고 관리할 수 있습니다. 내가 만든 스크립트를 판매하고, 월 수익을 통해 경제적 자유를 얻을 수도 있습니다. 내가 가장 잘 하는 분야를 공부해서 판매한다면 적은 노력과 시간으로 유지보수 하면서 서브 잡을 만들 수 있습니다^^

     

    이 글이 도움이 되셨다면~ 커피 한잔이라도 후원 부탁드립니다^^

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    profile_image
    profile_image

    엔지엠소프트웨어님의 댓글

    엔지엠소프트웨어 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일 Date

    색상 인식 참고글입니다.
    http://ngmsoftware.com/bbs/board.php?bo_table=tip_and_tech&sca=&sop=and&sfl=wr_subject&stx=%ED%94%BD%EC%85%80+%EC%84%9C%EC%B9%98

    무한 반복 참고글입니다.
    http://ngmsoftware.com/bbs/board.php?bo_table=tip_and_tech&wr_id=61

    더 궁금하신 내용이 있으시면 고객 서비스방 또는 커뮤니티의 질문과 답변 게시판을 이용해주세요^^