Add chatgpt test + recorder test

This commit is contained in:
srose 2024-10-08 22:24:08 -04:00
parent d939ade3be
commit 0b8d761a37
3 changed files with 53 additions and 0 deletions

6
core/ChatGptAgent.py Normal file
View File

@ -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

46
core/InputRecorder.py Normal file
View File

@ -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()

1
core/constants.py Normal file
View File

@ -0,0 +1 @@
gptApiKey = "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"