Uipath 카카오톡 그룹방 메세지 보내기에는 python작성된 코드와 uipath 두가지 부분 파일 첨부참조 하시면 됩니다.
다만 RPA에 적용할때 아래내용은 참고하셔야합니다
실제 업무 적용 시 중요사항
1.PC카톡은 모바일1대 + PC1대 원칙을 가지고 있으며 실제 운영에 포함을 할 경우 봇 PC마다 1대씩 추가 및 그룹방을 봇마다 추가 해줘야합니다(이슈 사항으로는 PC 1대 마다 실제 단말기 회선을 가지고 있어야 회원가입이 가능할테니 이점 유의바랍니다)
2.현업에게 작업완료를 알려는 방식으로 쓰게 될 경우 기존 업무 + 카카오톡 메세지 보내기 일텐데 카카오톡 메세지 보내기 부분은 사전에 100% 되는 서비스는 아니라고 전달 해야합니다
이유는 카카오톡 업데이트 발생으로 인한 선택타입에 대한 값이 변경이 될수 있으므로 어디까지나 보조 서비스 형태로 진행하는거지 실제 RPA업무에는 문제가 없음을 강조해야합니다
위 첨부파일 사용하시면 에러 발생합니다 tes.py 폴더 경로 설정에 대한 uipath 부분 수정 해주셔야 합니다
Python 코드는 아래 이전글 내용소스에서 달라지는 부분은 2곳만 수정하면 됩니다.
2022.12.20 - [RPA] - RPA 카카오톡 그룹톡방 메세지 보내기(Uipath도 적용해볼 예정)
import time
import win32con
import win32api
import win32gui
# 카카오톡 대화창 열고 메세지 보내는 부분은 백그라운드로 작업 되는게 아닌점 참고
# 백그라운드에서 작업 되는 부분은 카카오톡 채팅방 검색할때 Edit 부분에서만 적용
# 카톡창 이름, (활성화 상태의 열려있는 창)
# 채팅방에 메시지 전송
def kakao_sendtext(chatroom_name, text):
# 핸들 _ 채팅방
time.sleep(1)
hwndMain = win32gui.FindWindow( None, chatroom_name)
hwndEdit = win32gui.FindWindowEx( hwndMain, None, "RichEdit50W", None) #인용한 블로그에 소스는 RichEdit20W로 되있으나 지금은 값이 변경됬다
# hwndListControl = win32gui.FindWindowEx( hwndMain, None, "EVA_VH_ListControl_Dblclk", None)
time.sleep(1)
win32api.SendMessage(hwndEdit, win32con.WM_SETTEXT, 0, text)
SendReturn(hwndEdit)
# 엔터
def SendReturn(hwnd):
time.sleep(1)
win32api.PostMessage(hwnd, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)
#time.sleep(0.01)
#win32api.PostMessage(hwnd, win32con.WM_KEYUP, win32con.VK_RETURN, 0)
# 채팅방 열기
def open_chatroom(chatroom_name):
# # 채팅방 목록 검색하는 Edit (채팅방이 열려있지 않아도 전송 가능하게)
hwndkakao = win32gui.FindWindow(None, "카카오톡")
hwndkakao_edit1 = win32gui.FindWindowEx( hwndkakao, None, "EVA_ChildWindow", None)
hwndkakao_edit2_1 = win32gui.FindWindowEx( hwndkakao_edit1, None, "EVA_Window", None)
hwndkakao_edit2_2 = win32gui.FindWindowEx( hwndkakao_edit1, hwndkakao_edit2_1, "EVA_Window", None)
hwndkakao_edit3 = win32gui.FindWindowEx( hwndkakao_edit2_2, None, "Edit", None)
#by.Sol95
# Edit에 검색 _ 입력되어있는 텍스트가 있어도 덮어쓰기됨
time.sleep(1)
win32api.SendMessage(hwndkakao_edit3, win32con.WM_SETTEXT, 0, chatroom_name)
time.sleep(1) # 안정성 위해 필요 더 줄여도 상관없음
SendReturn(hwndkakao_edit3)
time.sleep(1)
def main(kakao_opentalk_name = '', text = ''):
open_chatroom(kakao_opentalk_name) # 채팅방 열기
kakao_sendtext(kakao_opentalk_name, text) # 메시지 전송
main()
1.변경부분 첫번째
kakao_opentalk_name = '채팅방 이름 ex)마개랑 사무자동화 익히기' text = '채팅창에 보낼 메세지 입력'
여기부분을 이제 지워주고 main에 인수를 Uipath를 통해 전달하기 때문에 위에 부분이 필요 없습니다
2.변경부분 두번째
def main(kakao_opentalk_name, text) 이부분을 위에 내용을 제거 해줬기에 인수로 받기 위해
def main(kakao_opentalk_name = '', text = '') 이렇게 변경을 해줍니다
기존 형식대로 진행 하게 되면 인수값을 제대로 뱉어내지 못합니다 따로 인수값들에 대한 형태를 선언하지않았기에 기존 형식대로 인수값을 입력하면 에러가 발생합니다
'Uipath' 카테고리의 다른 글
uipath 크롬 시크릿 모드 실행 (0) | 2023.04.27 |
---|---|
Uipath 날짜 비교 및 시간 비교 (0) | 2023.04.27 |
Uipath Python Scope 실행(Pyhton 액티비티가 안될때 확인필요) (0) | 2023.04.24 |
VBA Outlook 메일 보내기(첨부파일 및 메일본문 이미지) (0) | 2023.04.21 |
VBA 병합된 셀 나누고 채우기 (0) | 2023.02.08 |
댓글