티스토리 뷰

반응형

먼저, PC 카카오톡을 실행하고 로그인합니다. 이후에는 프로그램에서 채팅방 이름(또는 친구 이름)을 정확히 입력하고 개별 메시지를 입력하여 목록을 만들어야 합니다. 또는 공통 메시지를 입력하고 체크할 수 있습니다. 
선택한 리스트를 추가한 후에 '시작’을 누르면 메시지 전송이 시작됩니다. 
컴퓨터 사양에 따라 딜레이를 조절할 수 있습니다. 프리버전에서는 채팅방 목록이 10개로 제한됩니다. 

프로그램부터 보시고 싶으시면 카카오톡 일괄발송 , 단체카톡 . 윈도우 . pc 카카오톡 > 프로그램 | 문파 - 웹 및 자동화 매크로 (moonpa.kr)  링크로 가시면됩니다.

카카오톡 일괄발송 , 단체카톡 . 윈도우 . pc 카카오톡 > 프로그램 | 문파 - 웹 및 자동화 매크로 (moonpa.kr)

 

카카오톡 일괄발송 , 단체카톡 . 윈도우 . pc 카카오톡 > 프로그램 | 문파 - 웹 및 자동화 매크로

pc카카오톡을 실행시키신후프로그램에서 채팅방이름(=친구이름) 정확히 입력하고 개별메세지를 입력 후 추가 해서 목록을 만들고혹은 공통메세지를 입력…, 프리랜서의 무료 소프트웨어,커스

moonpa.kr

 



Python 코드를 작성하는 방법에 대해 설명하겠습니다. 

Python은 강력한 프로그래밍 언어로, 웹 스크래핑, 데이터 분석, 자동화 등 다양한 작업을 수행할 수 있습니다. 이 경우에는 Python을 사용하여 카카오톡 메시지를 자동으로 보내는 스크립트를 작성할 것입니다. Python 코드를 작성하기 전에, 필요한 라이브러리를 설치해야 합니다. 

이 작업을 수행하려면 Python이 설치된 컴퓨터와 인터넷 연결이 필요합니다.

ai로  copilot이나 chtgpt나 물어보면 대강 이런 gui를 만들어줍니다. 
" 네, GUI 부분만 포함하는 Python 코드를 작성해드리겠습니다. 이 코드는 tkinter 라이브러리를 사용하여 간단한 GUI를 생성합니다. 이 GUI는 사용자가 메시지를 입력하고, 채팅방 이름을 입력하고, 메시지를 전송할 수 있는 기능을 제공합니다."
이건 copilot인데

import tkinter as tk
from tkinter import messagebox

class Application(tk.Frame):
    def __init__(self, master=None):
        super().__init__(master)
        self.master = master
        self.pack()
        self.create_widgets()

    def create_widgets(self):
        self.chatroom_label = tk.Label(self, text="채팅방 이름:")
        self.chatroom_label.pack(side="top")

        self.chatroom_entry = tk.Entry(self)
        self.chatroom_entry.pack(side="top")

        self.message_label = tk.Label(self, text="메시지:")
        self.message_label.pack(side="top")

        self.message_entry = tk.Entry(self)
        self.message_entry.pack(side="top")

        self.send_button = tk.Button(self)
        self.send_button["text"] = "메시지 전송"
        self.send_button["command"] = self.send_message
        self.send_button.pack(side="top")

    def send_message(self):
        chatroom_name = self.chatroom_entry.get()
        message = self.message_entry.get()
        # 여기에 메시지를 전송하는 코드를 추가하세요.
        # 예: kakaotalk.send(chatroom_name, message)
        messagebox.showinfo("메시지 전송", f"'{chatroom_name}' 채팅방에 메시지를 전송했습니다.")

root = tk.Tk()
app = Application(master=root)
app.mainloop()

여기에서 하나씩 구체적으로 질문을 던져서 코드를 완성해야합니다.

개발자들은 gui에 약한게 사실이니 이런건 ai에게 맡기는게 좋습니다.

gui를 만들때 특정 qtpy5 를 사용해서 만들어주고 
라벨이나 버튼에 대해서 그리고 진행상황을 progressbar로 표현할지 아님 로그로 textarea로 표현할지 등에 대해 정해주는 질문으로 구체적으로 해주면 좋습니다.
다시 질문해보겠습니다.

"qtpy5를 사용해서 gui를 만들어주고 채팅방이름과 딜레이시간 메세지를 입력하고 그 아래에 저장하기와 삭제하기 버튼을 만들어주고 그 아래에는 공통메세지를 입력하는 항목을 만들어주고 공통메세지 라벨에는 체크박스를 만들어서 왼쪽 채널을 만들어주고 가운데 채널에는 채팅방목록이 출력되고 그 아래에 추가 ,해제 , 전체추가,전체해제를 만들어서 그 아래의 선택채팅방이라는 목록으로 출력되게 해주고 오른쪽 채널에는 log를 출력하는 화면을 만들어줘
그리고 카카오톡 메세지 보내는 부분은 따로 kakaotalk이라는 클래스로 Qthread를 이용해서 gui가 얼지 않게 해줘. 각각의 메소드는 이 코드가 완성되면 다시 질문할거야"

이렇게 질문하였습니다. 결과를 보겠습니다.

from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton, QLabel, QLineEdit, QCheckBox, QListWidget, QTextEdit
from PyQt5.QtCore import QThread

class KakaoTalk(QThread):
    def __init__(self):
        super().__init__()

    def run(self):
        # 카카오톡 메시지를 보내는 코드를 여기에 작성하세요.
        pass

class App(QWidget):
    def __init__(self):
        super().__init__()
        self.title = 'KakaoTalk Message Sender'
        self.initUI()

    def initUI(self):
        layout = QVBoxLayout()

        self.chatroom_label = QLabel('채팅방 이름:')
        layout.addWidget(self.chatroom_label)

        self.chatroom_entry = QLineEdit()
        layout.addWidget(self.chatroom_entry)

        self.delay_label = QLabel('딜레이 시간:')
        layout.addWidget(self.delay_label)

        self.delay_entry = QLineEdit()
        layout.addWidget(self.delay_entry)

        self.message_label = QLabel('메시지:')
        layout.addWidget(self.message_label)

        self.message_entry = QLineEdit()
        layout.addWidget(self.message_entry)

        self.save_button = QPushButton('저장하기')
        layout.addWidget(self.save_button)

        self.delete_button = QPushButton('삭제하기')
        layout.addWidget(self.delete_button)

        self.common_message_label = QLabel('공통 메시지:')
        layout.addWidget(self.common_message_label)

        self.common_message_entry = QLineEdit()
        layout.addWidget(self.common_message_entry)

        self.common_message_checkbox = QCheckBox('공통 메시지 사용')
        layout.addWidget(self.common_message_checkbox)

        self.chatroom_list = QListWidget()
        layout.addWidget(self.chatroom_list)

        self.add_button = QPushButton('추가')
        layout.addWidget(self.add_button)

        self.remove_button = QPushButton('해제')
        layout.addWidget(self.remove_button)

        self.add_all_button = QPushButton('전체 추가')
        layout.addWidget(self.add_all_button)

        self.remove_all_button = QPushButton('전체 해제')
        layout.addWidget(self.remove_all_button)

        self.selected_chatroom_list = QListWidget()
        layout.addWidget(self.selected_chatroom_list)

        self.log_label = QLabel('로그:')
        layout.addWidget(self.log_label)

        self.log_text = QTextEdit()
        layout.addWidget(self.log_text)

        self.setLayout(layout)
        self.show()

app = QApplication([])
ex = App()
app.exec_()

실행화면 

이렇게 나오면 여기서 구체적으로 다시 질문을 조절해줍니다.

"저장하기와 삭제하기는 한줄에 나오도록 레이아웃을 배치해주고 공통메시지와 공통메시지 사용도 한줄에 나오도록 레이아웃을 배치해주고 왼쪽 레이아웃에는 채팅방이름부터 공통메세지 까지를 가운데 레이아웃에는 채팅방 리스트부터 선택채팅방리스트까지를 오른쪽 레잉아웃에는 로그로 화면에 왼쪽, 가운데,오른쪽 레이아웃으로 가로로 3개의 레이아웃이 보이게해줘"

 

from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QHBoxLayout, QPushButton, QLabel, QLineEdit, QCheckBox, QListWidget, QTextEdit
from PyQt5.QtCore import QThread

class KakaoTalk(QThread):
    def __init__(self):
        super().__init__()

    def run(self):
        # 카카오톡 메시지를 보내는 코드를 여기에 작성하세요.
        pass

class App(QWidget):
    def __init__(self):
        super().__init__()
        self.title = 'KakaoTalk Message Sender'
        self.initUI()

    def initUI(self):
        layout = QHBoxLayout()

        left_layout = QVBoxLayout()
        middle_layout = QVBoxLayout()
        right_layout = QVBoxLayout()

        self.chatroom_label = QLabel('채팅방 이름:')
        left_layout.addWidget(self.chatroom_label)

        self.chatroom_entry = QLineEdit()
        left_layout.addWidget(self.chatroom_entry)

        self.delay_label = QLabel('딜레이 시간:')
        left_layout.addWidget(self.delay_label)

        self.delay_entry = QLineEdit()
        left_layout.addWidget(self.delay_entry)

        self.message_label = QLabel('메시지:')
        left_layout.addWidget(self.message_label)

        self.message_entry = QLineEdit()
        left_layout.addWidget(self.message_entry)

        button_layout = QHBoxLayout()
        self.save_button = QPushButton('저장하기')
        button_layout.addWidget(self.save_button)
        self.delete_button = QPushButton('삭제하기')
        button_layout.addWidget(self.delete_button)
        left_layout.addLayout(button_layout)

        common_message_layout = QHBoxLayout()
        self.common_message_label = QLabel('공통 메시지:')
        common_message_layout.addWidget(self.common_message_label)
        self.common_message_entry = QLineEdit()
        common_message_layout.addWidget(self.common_message_entry)
        self.common_message_checkbox = QCheckBox('공통 메시지 사용')
        common_message_layout.addWidget(self.common_message_checkbox)
        left_layout.addLayout(common_message_layout)

        self.chatroom_list = QListWidget()
        middle_layout.addWidget(self.chatroom_list)

        self.add_button = QPushButton('추가')
        middle_layout.addWidget(self.add_button)

        self.remove_button = QPushButton('해제')
        middle_layout.addWidget(self.remove_button)

        self.add_all_button = QPushButton('전체 추가')
        middle_layout.addWidget(self.add_all_button)

        self.remove_all_button = QPushButton('전체 해제')
        middle_layout.addWidget(self.remove_all_button)

        self.selected_chatroom_list = QListWidget()
        middle_layout.addWidget(self.selected_chatroom_list)

        self.log_label = QLabel('로그:')
        right_layout.addWidget(self.log_label)

        self.log_text = QTextEdit()
        right_layout.addWidget(self.log_text)

        layout.addLayout(left_layout)
        layout.addLayout(middle_layout)
        layout.addLayout(right_layout)

        self.setLayout(layout)
        self.show()

app = QApplication([])
ex = App()
app.exec_()

이런식으로 코드를 잡아가면서 화면을 셋팅합니다.
"다시 공통메세지의 라벨 옆에 체크박스를 두고. 그 아래에 공통메세지를 입력하는걸 textarea로 만들어줘 그리고 추가, 해제 .전체추가, 전체해제도 한줄에 나오도록 해주고"
..라는 식으로 질문을 더해가면서 완성시키면됩니다.

from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QHBoxLayout, QPushButton, QLabel, QLineEdit, QCheckBox, QListWidget, QTextEdit
from PyQt5.QtCore import QThread

class KakaoTalk(QThread):
    def __init__(self):
        super().__init__()

    def run(self):
        # 카카오톡 메시지를 보내는 코드를 여기에 작성하세요.
        pass

class App(QWidget):
    def __init__(self):
        super().__init__()
        self.title = 'KakaoTalk Message Sender'
        self.initUI()

    def initUI(self):
        layout = QHBoxLayout()

        left_layout = QVBoxLayout()
        middle_layout = QVBoxLayout()
        right_layout = QVBoxLayout()

        self.chatroom_label = QLabel('채팅방 이름:')
        left_layout.addWidget(self.chatroom_label)

        self.chatroom_entry = QLineEdit()
        left_layout.addWidget(self.chatroom_entry)

        self.delay_label = QLabel('딜레이 시간:')
        left_layout.addWidget(self.delay_label)

        self.delay_entry = QLineEdit()
        left_layout.addWidget(self.delay_entry)

        self.message_label = QLabel('메시지:')
        left_layout.addWidget(self.message_label)

        self.message_entry = QLineEdit()
        left_layout.addWidget(self.message_entry)

        button_layout = QHBoxLayout()
        self.save_button = QPushButton('저장하기')
        button_layout.addWidget(self.save_button)
        self.delete_button = QPushButton('삭제하기')
        button_layout.addWidget(self.delete_button)
        left_layout.addLayout(button_layout)

        common_message_layout = QHBoxLayout()
        self.common_message_checkbox = QCheckBox('공통 메시지 사용')
        common_message_layout.addWidget(self.common_message_checkbox)
        self.common_message_entry = QTextEdit()
        common_message_layout.addWidget(self.common_message_entry)
        left_layout.addLayout(common_message_layout)

        self.chatroom_list = QListWidget()
        middle_layout.addWidget(self.chatroom_list)

        button_layout = QHBoxLayout()
        self.add_button = QPushButton('추가')
        button_layout.addWidget(self.add_button)
        self.remove_button = QPushButton('해제')
        button_layout.addWidget(self.remove_button)
        self.add_all_button = QPushButton('전체 추가')
        button_layout.addWidget(self.add_all_button)
        self.remove_all_button = QPushButton('전체 해제')
        button_layout.addWidget(self.remove_all_button)
        middle_layout.addLayout(button_layout)

        self.selected_chatroom_list = QListWidget()
        middle_layout.addWidget(self.selected_chatroom_list)

        self.log_label = QLabel('로그:')
        right_layout.addWidget(self.log_label)

        self.log_text = QTextEdit()
        right_layout.addWidget(self.log_text)

        layout.addLayout(left_layout)
        layout.addLayout(middle_layout)
        layout.addLayout(right_layout)

        self.setLayout(layout)
        self.show()

app = QApplication([])
ex = App()
app.exec_()


이제 내가 원하는 gui가 거의 다 구현되었네요.

이런식으로 AI를 이용해서 코드를 완성해가시면 됩니다.

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함