강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

minimings님의 프로필 이미지
minimings

작성한 질문수

남박사의 파이썬으로 봇 만들기 with ChatGPT

win32프로그래밍을 활용하여 PC카톡에서 특정 대화창 팝업시키고 메세지 보내기

44, 45강 실행시 오류

작성

·

29

0

그대로 따라하고 실행했는데 이런 문제점이 있습니다. 왜인지 잘 모르겠어요.

  1. 44강에서 테스트 메세지의 링크가 모바일에서도 안나옵니다.

  2. 44강에서 위치보기 도 누르면 아무 링크가 안열립니다.

스크린샷 2025-06-15 161128.png.webp

 

  1. 45강에서 PC카톡에 "안녕하세요. 봇입니다." 라는 메세지를 보내면, 계속 이렇게 나오네요.

    스크린샷 2025-06-15 161056.png.webp

답변 2

0

남박사님의 프로필 이미지
남박사
지식공유자

일단 제가 테스트 했을때, 44강에서 나에게 보내기 사용시에

image.png

강의에 제공된 코드를 다운로드하여 인증 코드부분만 수정했고, send_location함수는 그대로 그대로 사용하여 테스트 했을때 그림처럼 문제 없이 동작하는 것을 확인했습니다. 모바일에서도 문제 없이 동작 했습니다. 알려주신 정보로 봤을때 어디서 문제가 되었는지 추측하기가 힘든 부분입니다. 다만, 중간에 코드를 발급 받는 메뉴나 방식이 조금 변경된 부분이 있던데 이 부분이 문제가 되는지는 모르겠습니다만 일단 해당 내용을 강의 수업노트에 작성을 해놨으니 참고하시기 바랍니다.

 

PC 카톡에서 메세지를 보내면 메세지가 입력되지 않는 부분은 PC카톡이 업데이트 되면서 보안정책이 강화되어 더이상 SendMessage를 수신하지 않게 되었습니다. 그래서 이를 대처하기 위해 다음과 같은 내용을 수업 노트에 작성했습니다.

 

pip 명령어로 pyautogui 라이브러를 설치 합니다.

pip install pyautogui

 

기존의 send_message함수 대신 다음의 함수를 작성하여 사용합니다.

def send_message_clipboard(chatname, message):
    # 카카오톡 창 찾기
    hwndMain = win32gui.FindWindow(None, chatname)
    if not hwndMain:
        print("카카오톡 창을 찾을 수 없습니다.")
        return False
    
    try:
        # 창 활성화
        win32gui.ShowWindow(hwndMain, win32con.SW_RESTORE)
        win32gui.SetForegroundWindow(hwndMain)
        time.sleep(0.3)
        
        # 클립보드에 메시지 복사
        win32clipboard.OpenClipboard()
        win32clipboard.EmptyClipboard()
        win32clipboard.SetClipboardText(message)
        win32clipboard.CloseClipboard()
        
        # 창 하단 클릭 (입력창)
        rect = win32gui.GetWindowRect(hwndMain)
        click_x = rect[0] + (rect[2] - rect[0]) // 2
        click_y = rect[3] - 50
        
        pyautogui.click(click_x, click_y)
        time.sleep(0.5)
        
        # 붙여넣기 및 전송
        pyautogui.hotkey('ctrl', 'v')
        time.sleep(0.2)
        pyautogui.press('enter')
        
        return True
        
    except Exception as e:
        print(f"오류 발생: {e}")
        return False

위의 함수를 대처해서 사용하시면 메세지가 정상 동작하긴 합니다.

 

minimings님의 프로필 이미지
minimings
질문자

강의노트를 못보았네요. 해결되었어요. 감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다. minimings님.

말씀하신 44강과 45강 관련 오류에 대해 몇 가지 해결 방법을 제안드리겠습니다.

1. 44강에서 테스트 메시지 및 위치보기가 작동하지 않을 때:

  • 링크 오류: 모바일에서 링크가 열리지 않는 경우, 링크의 포맷이 올바른지 확인해야 합니다. URL이 정확하게 설정되어 있는지, 혹은 잘못된 문자가 추가되지 않았는지 확인해 보세요.
  • 위치보기가 작동하지 않을 때: “위치보기” 기능은 보통 특정 API의 위치 정보에 의존합니다. 사용하고 있는 API에 대한 접근 권한을 확인하고, API Key가 유효한지 확인해야 합니다. 네트워크 및 API 호출이 정상적으로 진행되고 있는지도 체크해 보시기 바랍니다.

2. 45강 PC카톡 메시지 문제:

  • 메시지 발송 오류: PC 카톡이 제대로 메시지를 받지 못하는 경우, 보통은 웹훅 설정이나 네트워크 연결 문제일 가능성이 높습니다. API 설정에서 웹훅 URL이나 토큰이 올바르게 설정되었는지 다시 한 번 확인해주세요.
  • 오류 메시지 확인: 프로그램을 실행하는 콘솔 창에서 오류 메시지를 확인하고, 필요한 경우 해당 오류에 대한 디버깅 정보를 수집하여 분석합니다.

이와 유사한 에러가 발생했던 다른 질문에서는 네트워크 요청 시 헤더 값을 적절히 설정하지 않아 문제가 발생한 것으로 확인되었습니다. 비슷한 상황이라면 헤더 설정을 다시 한 번 점검해 보는 것도 좋습니다.

질문자님의 상황을 정확히 파악하는 데는 추가적인 정보가 필요할 수 있으니, 문제가 지속된다면 다시 질문을 통해 자세한 정보를 공유해 주세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

minimings님의 프로필 이미지
minimings

작성한 질문수

질문하기