boucle pour envoie message plus mémoire fichier

This commit is contained in:
Foufure13
2025-01-10 23:34:40 +01:00
parent 08c63b576c
commit fc2547c45c
7 changed files with 50 additions and 21 deletions
+37 -19
View File
@@ -690,7 +690,8 @@ class IA_generator:
class messageTwitch:
def __init__(self, config_user, channel_name):
self.ia_running = True
self.message_running = True
self.script_name = "Control_Twitch"
self.path_file_config_user = config_user
self.channel_name = channel_name
self.indexuser = 0
@@ -702,7 +703,7 @@ class messageTwitch:
self.tw_acc_token = get_value_json_list(self.indexuser, "tw_acc_token", self.userjson)
self.charactere = get_value_json_list(self.indexuser, "charactere", self.userjson)
self.respond_word = ""
self.generation_text = ""
self.last_respond_word = ""
@@ -712,7 +713,8 @@ class messageTwitch:
self.tw_acc_token = get_value_json_list(self.indexuser, "tw_acc_token", self.userjson)
self.charactere = get_value_json_list(self.indexuser, "charactere", self.userjson)
def stop(self):
self.message_running = False
def change_user(self):
# commented for pausing
@@ -764,24 +766,40 @@ class messageTwitch:
self.last_respond_word = Message_text
hprint("cyan",f"Finnish send_message message")
def get_last_generation(self):
data = storage.read("IA_generator_" +get_current_date())
# Trie les clés et récupère la dernière
sorted_keys = sorted(data.keys())
last_key = sorted_keys[-1]
self.generation_text = data[last_key]
# def main_loop_respond(self):
# time.sleep(20) #wait starting script
# sprint(self.script_name,"blue", "main_loop_ia imagine_response start")
# try:
# while self.ia_running:
# # time.sleep(self.loop_timer_ia)
# # sprint(self.script_name,"yellow",f"wait {self.loop_timer_ia}s main_loop_ia imagine_response.")
# #self.respond_word = getvalue_file()
# if(self.last_respond_word != self.respond_word):
# self.send_message(self.respond_word)
# else:
# sprint(self.script_name,"yellow",f"génération déja créer")
# except KeyboardInterrupt:
# print("Arrêt du script.")
# except Exception as e:
# sprint(self.script_name,"red", "STOP main_loop_respond Error : "+ str(e))
def start_main_loop_respond(self):
time.sleep(20) #wait starting script
sprint(self.script_name,"blue", "main_loop_ia imagine_response start")
try:
while self.message_running:
time.sleep(20)
self.get_last_generation()
if(self.last_respond_word != self.generation_text):
sprint(self.script_name,"green",f"\n\n ENVOIE MESSAGE : \n "+self.generation_text)
self.send_message(self.generation_text) # envoie de message
self.last_respond_word = self.generation_text # mise a jour du dernier message envoyé
self.change_user() # cahngement de user
else:
sprint(self.script_name,"yellow",f"génération déja créer")
except KeyboardInterrupt:
print("Arrêt du script.")
except Exception as e:
sprint(self.script_name,"red", "STOP main_loop_respond Error : "+ str(e))
def start_loop_respond(self):
"""Lance dans un thread pour ne pas bloquer le code principal."""
self.message_running = True
self.loop_thread = threading.Thread(target=self.start_main_loop_respond)
self.loop_thread.start() # Démarre dans un thread séparé