Transférer les fichiers vers 'ScdLiv'

This commit is contained in:
Alexis THOLIMET 2024-03-04 16:58:27 +01:00
parent a4aa383119
commit b984715472

View File

@ -1,16 +1,17 @@
from tkinter import *
from tkinter import messagebox
import mysql.connector
from obswsrc import OBSWS
from obswebsocket import obsws, requests
from twitch.helix.api import TwitchHelix
from twitchAPI.helper import first
import asyncio
import twitchAPI
import webbrowser
import requests
class NouvelleFenetre:
oauth_authorization_url = f"https://id.twitch.tv/oauth2/authorize?client_id={'6h883my3p6ndqozotnl6nsbllyyr3h'}&redirect_uri={'http://localhost'}&response_type=code&scope={'user_read'}"
oauth_authorization_url = f"https://id.twitch.tv/oauth2/authorize?client_id={'6h883my3p6ndqozotnl6nsbllyyr3h'}&redirect_uri={'http://localhost'}&response_type=token&scope={'user_read'}"
# Fonction permettant de fermer la deuxième fenetre créee et la première fenetre de connexion de se réafficher tout en se déconnecctant d'OBS
def fermer_et_reafficher(self):
@ -139,15 +140,21 @@ class NouvelleFenetre:
self.is_twitch_streaming = True
client_id = '6h883my3p6ndqozotnl6nsbllyyr3h'
oauth_token ='r4l2v9bgvlb0uh6cqqgw9j85tlojvd'
oauth_token ='z11zvdhgxvemn2l8kjl1dvczgiyelt'
login = 'iSeralestis'
async def get_twitch_user(self, client_id, oauth_token, login):
try:
twitch = TwitchHelix(client_id, oauth_token)
user = await first (twitch.get_users(login_names= login))
return user
users = await twitch.get_users(login)
if users:
return users[0]
else:
print("Utilisateur Twitch non trouvé.")
return None
except Exception as e:
print(f"Une erreur s'est produite lors de la récupération de l'utilisateur Twitch : {e}")
return None
async def initialize_twitch(self):
twitch_user = await self.get_twitch_user(self.client_id, self.oauth_token, self.login)
@ -159,6 +166,7 @@ class NouvelleFenetre:
print("Twitch user not found.")
# Création de la nouvelle fenetre une fois l'authentification faite
async def initialize_window(self, root, username, password):
self.root = Toplevel(root)
@ -195,11 +203,6 @@ class NouvelleFenetre:
bouton_auth_twitch = Button(self.root, text="Autoriser l'accès à Twitch", command=self.lancer_auth_twitch)
bouton_auth_twitch.grid(row=15, column=0)
# C'est mon id de ma chaine twitch identifiant Alexis
self.client_id = '6h883my3p6ndqozotnl6nsbllyyr3h'
self.oauth_token ='r4l2v9bgvlb0uh6cqqgw9j85tlojvd'
self.login = 'iSeralestis'
self.twitch_client = TwitchHelix(client_id = self.client_id, oauth_token = self.oauth_token)
# On récupère la clé Twitch depuis la base de données
@ -255,10 +258,18 @@ class NouvelleFenetre:
bouton_fermer.grid(row = 13, column = 0)
def lancer_auth_twitch(self):
# Ouvrir le lien dans le navigateur Web par défaut
# Vérifier si la colonne OAuth est vide dans la base de données
oauth_token = self.get_oauth_token_from_database()
if oauth_token is None:
# Si la colonne OAuth est vide, ouvrir la page d'authentification Twitch
webbrowser.open(self.oauth_authorization_url)
# Afficher un message indiquant que l'utilisateur doit autoriser l'accès à Twitch dans le navigateur
messagebox.showinfo("Authentification Twitch", "Veuillez autoriser l'accès à Twitch dans le navigateur Web qui s'est ouvert.")
else:
# Si la colonne OAuth n'est pas vide, afficher un message indiquant que l'authentification n'est pas nécessaire
messagebox.showinfo("Authentification Twitch", "L'authentification Twitch n'est pas nécessaire car le token OAuth est déjà présent dans la base de données.")
def get_oauth_token_from_database(self):
# Code pour récupérer la valeur de la colonne OAuth dans la base de données
# Retourne la valeur de la colonne OAuth
return self.oauth_token