에디터 카카오톡 챗봇 매크로 만들기.
페이지 정보
본문
안녕하세요. 엔지엠소프트웨어입니다. 오늘 예제는 간단한 카카오톡 챗봇을 매크로 프로그램을 이용해서 어떻게 만드는지에 대해 알아보도록 하겠습니다. 이 내용이 챗봇을 만드는 여러가지 방법중에 하나이므로 꼭~ 이렇게 만들어야 한다는건 아닙니다. 그리고, 간단하게 설명하는 글이라서 가볍게 읽어 보시면 좋을듯 합니다. 우선, 카카오톡에 내용을 입력하는 방법에 대해서 먼저 학습하시면 도움이 될거 같습니다.
[ 비활성 매크로 - 카카오톡에 여러줄 내용 입력하기 ]
예제를 학습하기 위해 엔지엠 매크로 에디터를 실행하고 새로운 스크립트를 하나 추가하세요.
카카오톡 내용은 아래 그림과 같습니다. [ OCR 체크 ] 액션을 사용해서 텍스트 영역을 잘 계산하면 텍스트를 읽어올 수 있습니다. 하지만, OCR 체크로 100프로 정확하게 인식하는데 문제가 있을 수 있습니다. 그래서, 오늘은 드래그해서 Ctrl+C, V로 텍스트를 가져오는 방법을 선택할겁니다. 메세지 박스의 좌측 상단과 우측 하단을 인식하면 드래그 시작과 끝을 쉽게 알아낼 수 있습니다.
[ 변수 추가 ] 액션을 2개 추가하세요. 이 변수는 드래그 시작과 끝 좌표를 저장하기 위한 공간입니다. 아이디는 start와 end로 입력했습니다.
[ 이미지 매치 ] 액션을 2개 추가한 후 카카오톡의 모서리 부분을 캡쳐 해줍니다.
모서리 부분의 이미지는 아래와 같습니다.
이미지를 찾으면 변수에 좌표를 저장 해줍니다.
[ 마우스 이동 ] 액션을 2개 추가합니다. 드래그 시작과 끝에 사용됩니다. 좌표는 변수로부터 가져옵니다.
※ 마우스 이동 액션은 안드로이드 모바일에서 스와이프 처리와 윈도우의 마우스 이동 및 드래그 동작을 수행합니다.
두번째 마우스 이동 액션에서 드래그 사용을 True로 설정하세요.
완성된 매크로를 실행 해보면, 아래와 같이 동작합니다. 우리가 예상한대로 마우스 좌표는 이동하지만, 드래그는 되지 않습니다. 대부분의 원인은 너무 빠른 윈도우 신호를 프로그램이 수용할 수 없어서 발생됩니다. 따라서, 마우스의 이동 속도를 조절할 필요가 있습니다.
이동 거리와 이동 속도 그리고, 자연스러운 이동을 아래 그림과 같이 설정하세요.
매크로를 실행하면 아래 동영상처럼 이동 거리에 따라 속도를 조절할 수 있습니다.
원하는 메세지 영역을 드래그해서 선택했으니 키보드의 Ctrl+C를 눌러서 클립보드에 복사하고 Ctrl+V로 메모장이나 엑셀에 붙여넣기합니다. 아래 그림과 같이 [ 키보드 입력 ] 액션을 추가하고, 콘트롤키와 키코드를 아래 그림과 같이 선택하세요. 두번째 키보드 입력 액션은 키코드가 V입니다.
[ 윈도우 활성화 ] 액션을 키보드 입력 사이에 추가하고, 아래 그림과 같이 설정하세요.
매크로를 실행하면 카카오톡에서 메세지를 복사해서 메모장에 붙여넣기 합니다.
내용을 하나씩 입력하기 위해 카카오톡에서 읽어온 내용을 줄바꿈으로 하나씩 분리해내야 합니다. 위 스크립트를 아래와 같이 수정하세요. 키보드 입력에서 Ctrl+C가 동작하면 윈도우의 클립보드에 내용이 저장됩니다. 메모장에 입력하는게 아닌 내용을 변수에 저장해야 합니다. 외부 API의 [ 클립보드 가져오기 ] 액션을 추가하세요.
클립보드에서 읽어온 내용을 메세지 변수에 저장하세요.
메세지 변수에 저장된 내용을 한줄씩 분리하여 배열로 만듭니다. [ 문자열 분리 ] 액션을 추가하고, 아래와 같이 설정하세요. 메세지 변수로부터 원본 문자열을 가져오고, 분리자에 "\n"을 입력합니다. 눈에는 안보이지만, 줄바꿈도 하나의 기호로 표현됩니다. "\n"은 윈도우에서 줄바꿈을 나타냅니다.
이제 변수 모니터링을 실행하고, 다시 실행 해보세요. 카카오톡에서 읽어온 내용이 줄바꿈으로 분리된것을 확인할 수 있습니다.
여기까지 잘 따라하셨으면 [ 배열을 엑셀로 정리하는 방법 ]을 참고하셔서 이후 동작을 매크로로 만들면 됩니다. 사실, 챗봇 수준으로 만들려면 정말 많은 노력과 시간이 필요할겁니다. 챗봇 프로그램들이 비용을 받고 서비스를 할 수 있는 이유도 여기에 있습니다. 각각의 챗봇들이 방식은 다르겠지만, 다양한 고급 기술들이 접목되어 있고 서비스를 유지하는데 비용도 많이 듭니다. 이런 거대한 서비스를 개인이 만든다는건 사실 불가능에 가깝습니다. 하지만, 특정 키워드들을 감지해서 미리 저장된 데이타베이스에서 쿼리해온다면 비슷하게 흉내낼 수 있을겁니다. 가성비 측면에서 우위에 있다면 비용을 받으면서 서비스할 수 있을겁니다^^
개발자에게 후원하기
추천, 구독, 홍보 꼭~ 부탁드립니다.
여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~
감사합니다~
- 이전글1씩 증가하면서 메모장에 기록하는 매크로 만들기. 23.05.21
- 다음글액션 되돌아가기 사용하기. (Autohotkey Gusub) 23.05.16
댓글목록
등록된 댓글이 없습니다.