카페 회원이신 "송송"님께서 아래의 RPA 프로그램 아이디어를 주셨습니다.

정말 좋은 아이디어라고 생각합니다. 이 자리를 빌어 정말 감사드립니다. 👏👏👏
이 아이디어를 조금 변경하지만 거의 유사한 프로그램을 UiPath를 활용해서 빠르게 만들어보겠습니다.
어떤 프로그램을 만들 것인가?!
글 제목에 표현한 것은 좀 더 범용적이게 느껴지도록 표현한 것인데,
(1) 특정 시점에 (2) 어떤 내용을 (3) 타겟팅한 누구에게 보내는 프로그램을 생각해볼 수 있습니다.
"송송"님께서는 (1) 매일 (3) 저한테 (2) "명언, 좋은글귀" 보내는 프로그램을 고민해보자고 의견주신 것입니다.
RPA에서도 (1)의 특정 시점을 프로그래밍 할 수 있지만 계속 리소스를 사용해야 한다는 문제가 있습니다.
그래서 가능하다면 윈도우의 스케줄러를 활용하고 있으므로 (1) 특정 시점은 이번 프로그램에서는 구현하지 않겠습니다.
(2) 어떤 내용을 개발하면 좋을지에 대해서도 고민을 좀 해봤는데
명언, 좋은글귀를 저장해놓고 이를 활용해서 보내주는 방식을 우선 고려할 수 있겠습니다.
또는 저작권 적으로 사용 가능한 특정 사이트에 올라오는 내용을 읽어 전달해주는 방식도 가능해 보입니다.
저는 네이버 증권의 해외증시 페이지의 내용을 스크린샷으로 저장해서 전달하려고 합니다.

(3) 타겟팅한 누구에게 보낼 것인가에 대해서도 고민을 해봐야 합니다.
우선 카카오톡은 UiPath의 액티비티들로 인식을 쉽게 시킬 수 없었습니다.
구글링을 좀 해봤더니 2년 전 쯤에 UiPath 포럼에 문의 글이 있었습니다.

내가 잘 못하는 것은 맞지만 안되는 사람들이 있다는 것에 큰 위안을 얻었습니다.
보통은 Microsoft Store에서 다운받아서 해보고 그랬겠지만 RPA의 장점을 보여드려야 할 것 같아서,
사람이 하는 것처럼 클릭해서 카카오톡을 열고, 타겟인 채팅방을 찾아서 메세지를 보내는 것으로 방향을 잡았습니다.
(3) 타겟팅은 카카오톡의 자동매매 스터디 단톡방으로 정했습니다. (스팸성 이미지가 붙을 예정이라 미리 죄송합니다. 😂)
다시 한 번 정리 하겠습니다.
(1) 특정 시점 : 생략
(2) 어떤 내용 : 네이버 증권의 해외증시 페이지의 내용 스크린샷
(3) 타겟팅한 누구 : 카카오톡의 자동매매 스터디 단톡방
메세지를 메신저에 보내는 프로그램 만들기
UiPath에 새 프로젝트를 생성했습니다.

프로젝트 이름과 같이 메세지 가져오는 부분과 메신저에 보내는 부분을 구현하는 것이 핵심 기능입니다.
이를 Sequence 액티비티로 묶어서 표현하면 아래와 같습니다.

설정 영역은 스크린샷을 저장할 파일명(전체 경로)을 지정합니다.
(간단히 오늘날짜로 저장합니다. ex> E:\UiPath\2022-06-12.png)
메세지 가져오기 영역은 매원환조 프로그램과 유사한데 Open Browser로 네이버 증권의 해외증시 페이지를 열고,
Take Screenshot 액티비티로 스크린샷을 찍을 영역을 잘 잡아준 후 (이 부분이 셀렉터 설정인데 조금 어렵습니다.)
Image 변수로 이미지를 가져와서 Save Image 액티비티로 이미지 파일을 저장해줍니다. (그리고 창을 닫아줍니다.)
사용을 안해본 액티비티라서 더 어렵게 느껴지실 수 있겠지만 한 번만 익히면!!!
앞으로 사이트의 내용들은 다 이미지로 저장할 수 있게 됩니다!!!

이를 UiPath에 구현하면 위와 같은 액티비티의 연결로 표현됩니다.
내부 설정값들은 첨부드린 소스에서 확인해봐 주시고 동작이 안되는 부분에 대해서는 피드백 부탁드립니다.
벌써 마지막 영역인 메신저에 보내기를 살펴볼 차례입니다.
우선 메세지 메신저 프로그램은 간단히 빠르게 만들어서 컨셉을 확인하는 것이 목표기도 해서
카카오톡 PC 버전이 이미 설치되어있고 로그인 되어있다는 가정하에 프로그래밍을 진행했습니다.
보통은 현재 실행중인 카카오톡 프로그램을 강제종료 시키고 다시 실행해서 로그인하는 방식으로 진행합니다.
우선 작업표시줄의 알림 펼침 버튼을 클릭해서 카카오톡을 프로그램을 띄워줍니다.

그리고 채팅탭을 선택한 후 자동매매 스터디 단톡방을 찾아 열어줍니다.

열린 채팅방의 하단에서 파일 첨부 버튼을 클릭한 후 저장했던 스크린샷 파일을 입력해서 첨부 후 채팅방을 닫습니다.

사람이 하는 것처럼 동작시키는 프로그래밍을 빠르게 할 수 있는 것이 RPA의 특장점인 것 같습니다.
당연히 파이썬에서도 다른 프로그래밍 언어에서도 유사하게 구현할 수 있지만 많은 경험과 노력의 과정이 필요합니다.
그러나 RPA 툴에서는 이미 만들어져 있는 액티비티를 툭툭 연결하면서 뚝딱뚝딱 만들어볼 수 있습니다.
결론
여기까지가 메시지 메신저 프로그래밍 개발의 끝입니다.
몇 번 단톡방에 이미지를 보냈다가 삭제했습니다. 죄송합니다. 🙏
프로그래밍 관점에서는 개선해야 할 점들이 많은 프로그램이지만,
RPA로 쉽게 이런 기능들을 구현해서 운영할 수 있다는 것을 보여드린 거라 생각해주세요.
좀 더 고민해볼 만한 점들을 나열해보면서 마치겠습니다.
(1) 특정 시점에 대해서는 윈도우 스케줄러를 활용할 수 있습니다.
UiPath로 만든 프로그램을 윈도우 스케줄러에 등록하기 위해서는
UiPath 프로젝트를 커맨드라인에서 실행하는 기능을 Batch 파일로 만들어서 등록해주면 됩니다.
[UiPath] 커맨드라인 실행 (Batch 파일) (tistory.com)
[UiPath] 커맨드라인 실행 (Batch 파일)
UiPath로 빠르게 RPA 개발을 하면, 그 다음 고민은 수행시키는 것이었다. 자체 제공하는 Orchestrator를 사용하면 되는데, 여러가지 이유로 인해 Batch 파일로 실행하려 한다. (Batch파일을 윈도우 스케줄
kyeyangdak.tistory.com
(2) 메세지는 앞서 설명드린 것과 같이 정보를 엑셀이나 DB에 저장해놓고 꺼내서 활용할 수도 있고,
사이트 내용을 읽거나 스크린샷으로 저장해서 활용할 수 있습니다. (다른 카톡 채팅방 내용을 읽어 전달 할 수도 있겠죠?!)
(3) 메신저는 사실 결과를 전달하는 방법입니다.
메신저는 아니지만 결과를 타겟팅한 누군가에게 메일로 전달할 수도 있고, 엑셀, DB 등에 저장할 수도 있습니다.
그러나 오늘은 메신저로만 한정해서 고민해보면 카카오톡은 위의 방법으로도 결과를 전달할 수 있지만 불안정합니다.
카카오톡에서는 API를 제공하고 있기에 이를 활용해서 RPA에서도 안정적으로 결과를 전달할 수 있어 보입니다.
다른 메신저인 텔레그램은 이미 자동 프로그램에서 체결 결과를 실시간으로 받고 계실 것입니다.
텔레그램은 몇 가지 사전 설정을 해주면 카카오톡보다 더 간단하고 안정적으로 메세지를 전달 할 수 있습니다.
UiPath 한정으로 슬랙이란 메신저는 액티비티를 직접 제공해줍니다. (패키지를 확장해야 사용 가능합니다.)
이 외에도 많은 메신저를 활용할 수 있을 것입니다. (라인, 왓츠앱, 위챗, 업무용 메신저 등)
모든 것을 고려하려 하면 머리속이 복잡해지고 그러면 행동을 더 하기가 어려워 지는 것 같습니다.
첨부드린 소스를 한 번 보시고 아래 과제로 변경해서 실행해봐 주세요.
(1) 프로그램을 수동으로 실행하면
(2) "사랑합니다. 😍" 메세지를
(3) 소중한 사람(들)의 채팅방에 보냅니다.
오늘도 고생 많으셨습니다. 사랑합니다. 😍
'기능과 기술' 카테고리의 다른 글
매원환조 프로그램을 파이썬으로~ (0) | 2022.06.14 |
---|---|
파이썬과 UiPath 둘 중 뭘 공부해야 할까요?! (1) | 2022.06.13 |
RPA 체험 이후 스텝 (2) | 2022.06.11 |
RPA 체험 (매일 원달러 환율 조회) (10) | 2022.06.10 |
티스토리 백업 (저품질) (0) | 2022.04.06 |