From 0b8d761a37dd663d90643d075d36f30f42e4cac7 Mon Sep 17 00:00:00 2001 From: srose Date: Tue, 8 Oct 2024 22:24:08 -0400 Subject: [PATCH] Add chatgpt test + recorder test --- core/ChatGptAgent.py | 6 ++++++ core/InputRecorder.py | 46 +++++++++++++++++++++++++++++++++++++++++++ core/constants.py | 1 + 3 files changed, 53 insertions(+) create mode 100644 core/ChatGptAgent.py create mode 100644 core/InputRecorder.py create mode 100644 core/constants.py diff --git a/core/ChatGptAgent.py b/core/ChatGptAgent.py new file mode 100644 index 0000000..68de60d --- /dev/null +++ b/core/ChatGptAgent.py @@ -0,0 +1,6 @@ +from core.constants import gptApiKey + +class ChatGptAgent: + def __init__(self, name = "Logger", debug = False) -> None: + self.isDebug = debug + self.name = name \ No newline at end of file diff --git a/core/InputRecorder.py b/core/InputRecorder.py new file mode 100644 index 0000000..735d917 --- /dev/null +++ b/core/InputRecorder.py @@ -0,0 +1,46 @@ +import time +from pynput import keyboard, mouse +import pyautogui +from ast import literal_eval + +# Classe pour enregistrer les événements +class InputRecorder: + def __init__(self, file_name="events_log.txt"): + self.events = [] + self.file_name = file_name + + # Fonction pour gérer les événements du clavier + def on_press_key(self, key): + try: + self.events.append(('keyboard', 'press', key.char, time.time())) + except AttributeError: + self.events.append(('keyboard', 'press', key.name, time.time())) + + def on_release_key(self, key): + print(key, "############ key released", keyboard.Key.esc) + self.events.append(('keyboard', 'release', key, time.time())) + if key == keyboard.Key.esc: + return False + + # Fonction pour gérer les événements de la souris + def on_click(self, x, y, button, pressed): + if pressed: + self.events.append(('mouse', 'click', button.name, (x, y), time.time())) + + # Fonction pour démarrer l'enregistrement + def start_recording(self): + print("Appuie sur Échap pour arrêter l'enregistrement...") + with keyboard.Listener(on_press=self.on_press_key, on_release=self.on_release_key) as kl, mouse.Listener(on_click=self.on_click) as ml: + kl.join() + ml.join() + + # Sauvegarder les événements dans un fichier + with open(self.file_name, "w") as f: + for event in self.events: + f.write(str(event) + "\n") + print(f"Les événements ont été sauvegardés dans {self.file_name}") + +if __name__ == "__main__": + # Enregistrement des événements + recorder = InputRecorder() + recorder.start_recording() \ No newline at end of file diff --git a/core/constants.py b/core/constants.py new file mode 100644 index 0000000..2b84d8a --- /dev/null +++ b/core/constants.py @@ -0,0 +1 @@ +gptApiKey = "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" \ No newline at end of file