본문 바로가기
IT

ChatGPT를 이용한 화면 캡처 프로그램 만들기

by 고소한도톰발바닥 2024. 8. 18.
728x90
반응형
SMALL

 ChatGPT를 비롯한 인공지능 LLM 서비스 기반의 작업 자동화, 생산성 향상은 아직도 많은 사람들이 관심을 가지고 시도하는 분야입니다. 수시로 업무에 적용해보기 위한 노력을 하고있지만, 사람을 완전히 대체할만한 강력한 기능이나 서비스를 제공하기에는 아직 개선해야할 여지가 많다는 의견인데요. 그럼에도 불구하고 고도화된 서비스나 완벽한 창조가 아닌 기존의 서비스를 기반으로하는 재창작의 영역은 유효하게 사용할 수 있다고 생각하고 있습니다. 그러한 관점에서 ChatGPT를 이용한 화면 캡처 프로그램 제작을 시도해보았고, 그 과정을 공유하고 기록해보고자합니다.

 

  만들고자하는 프로그램은 화면을 캡처하고 전송해주는 기능을 지원하는 프로그램입니다. ChatGPT를 이용해 이 프로그램을 개발하기 위해 세부적인 요건들을 아래와같이 정리했습니다.

  • 플랫폼 : 윈도우
  • 기능 : 화면 캡처, 파일 전송
  • 언어 : 파이썬

다양한 라이브러리를 지원해 세부적인 기능 구현의 부담이 적은 언어인 파이썬을 선택했고, 그 외의 플랫폼과 기능을 명확하게 지정해 구현해야하는 기능의 혼동이 없도록 방향을 정해주었습니다.

요청에 따라 ChatGPT가 환경 구성, 설치, 동작 방법을 생성해주었는데 순차적으로 따라서 수행해보았습니다. 제시된 패키지 파일을 설치해주고 아래의 코드를 복사해 ScreenshotSender.py 파일로 저장했습니다.

추가적인 코드 설명을 통해 사용자가 개인적으로 제공해주어야하는 토큰을 비롯한 고유식별자도 알 수 있었습니다. 텔레그램 봇과 채팅 ID는 아래와 같이 사용됩니다.

  • 텔레그램 봇 : 메시지 송신자
    • 생성 방법
      • 텔레그램 앱에서 @BotFather 검색
      • /start 입력
      • /newbot 입력
      • 생성하고자하는 봇 이름 입력 (이름의 마지막은 bot으로 끝나야함)
      • 봇 생성 결과 및 토큰 발급
  • 채팅 ID : 메시지 수신자
    • 확인 방법
      • 텔레그램 앱에서 @userinfobot 검색
      • /start 입력
      • Id값 확인

 

설명에 따른 환경 구축을 마치고 아래와같이 파이썬 코드를 실행해주었으나, 오류가 발생하는것을 확인할 수 있었습니다.

C:\Users\USER\Downloads>python ScreenshotSender.py
Traceback (most recent call last):
File "C:\Users\USER\Downloads\ScreenshotSender.py", line 40, in <module>
main()
File "C:\Users\USER\Downloads\ScreenshotSender.py", line 36, in main
user_info = get_user_info()
^^^^^^^^^^^^^^^
File "C:\Users\USER\Downloads\ScreenshotSender.py", line 24, in get_user_info
hostname = os.uname().nodename
^^^^^^^^
AttributeError: module 'os' has no attribute 'uname'. Did you mean: 'name'?
 
C:\Users\USER\Downloads>python ScreenshotSender.py
C:\Users\USER\Downloads\ScreenshotSender.py:30: RuntimeWarning: coroutine 'Bot.send_message' was never awaited
bot.send_message(chat_id=CHAT_ID, text=user_info)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
C:\Users\USER\Downloads\ScreenshotSender.py:33: RuntimeWarning: coroutine 'Bot.send_photo' was never awaited
bot.send_photo(chat_id=CHAT_ID, photo=open(screenshot_path, 'rb'))
RuntimeWarning: Enable tracemalloc to get the object allocation traceback

이 오류 내용을 ChatGPT에게 그대로 전달하고, 오류가 해결된 코드를 재작성해달라고 요청했고, 몇 번의 실행과 오류, 수정을 통해 최종적으로 정상적으로 동작하는 파이썬 코드를 받을 수 있었습니다.

 

 프로그램이 동작하는 환경과 캡처된 화면이 텔레그램 봇을 통해 성공적으로 전송되었고 의도한대로 동작하는 코드를 성공적으로 얻을 수 있었습니다. 생성된 파이썬 코드를 윈도우에서 실행하기 위해 추가적인 실행파일 생성 작업을 수행해주었습니다.

 

 앞의 과정과 동일하게 원하는 기능을 명시해 ChatGPT에게 질문의 형태로 전달했고 방법을 생성해주었습니다.

 

 명령어를 그대로 실행해 아래와 같이 실행파일이 생성되었고, 실행결과 동일하게 동작하는것을 확인할 수 있었습니다.

 

 ChatGPT를 이용해 비전공자도 직접적인 코딩 없이 원하는 기능을 수행하는 프로그램을 제작하는 방법을 간단하게 해보았습니다. 원하는 기능이 간단하고, 새로운 기능의 개발이 불필요해 어렵지않게 프로그램을 제작할 수 있었는데요. 고도화된 기능을 지원하는 프로그램을 ChatGPT로 제작한다면, 어쩔 수 없이 전공자의 지식이 기반되어야 한다고 생각이 됩니다. 하지만 대부분의 코딩은 간단한 기능의 자동화를 목적으로 하는 경우들이 많아 비전공자들이 적극적으로 활용한다면 생산성의 증대를 충분히 기대할 수 있을것 같습니다.

728x90
반응형
LIST

댓글