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 *
from tkinter import messagebox from tkinter import messagebox
import mysql.connector import mysql.connector
from obswsrc import OBSWS
from obswebsocket import obsws, requests from obswebsocket import obsws, requests
from twitch.helix.api import TwitchHelix from twitch.helix.api import TwitchHelix
from twitchAPI.helper import first from twitchAPI.helper import first
import asyncio import asyncio
import twitchAPI
import webbrowser import webbrowser
import requests
class NouvelleFenetre: 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 # 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): def fermer_et_reafficher(self):
@ -139,16 +140,22 @@ class NouvelleFenetre:
self.is_twitch_streaming = True self.is_twitch_streaming = True
client_id = '6h883my3p6ndqozotnl6nsbllyyr3h' client_id = '6h883my3p6ndqozotnl6nsbllyyr3h'
oauth_token ='r4l2v9bgvlb0uh6cqqgw9j85tlojvd' oauth_token ='z11zvdhgxvemn2l8kjl1dvczgiyelt'
login = 'iSeralestis' login = 'iSeralestis'
async def get_twitch_user(self, client_id, oauth_token, login): async def get_twitch_user(self, client_id, oauth_token, login):
twitch = TwitchHelix(client_id, oauth_token) try:
twitch = TwitchHelix(client_id, oauth_token)
user = await first (twitch.get_users(login_names= login)) users = await twitch.get_users(login)
if users:
return user 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): async def initialize_twitch(self):
twitch_user = await self.get_twitch_user(self.client_id, self.oauth_token, self.login) twitch_user = await self.get_twitch_user(self.client_id, self.oauth_token, self.login)
if twitch_user: if twitch_user:
@ -157,6 +164,7 @@ class NouvelleFenetre:
print("Username:", twitch_user.display_name) print("Username:", twitch_user.display_name)
else: else:
print("Twitch user not found.") print("Twitch user not found.")
# Création de la nouvelle fenetre une fois l'authentification faite # Création de la nouvelle fenetre une fois l'authentification faite
@ -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 = Button(self.root, text="Autoriser l'accès à Twitch", command=self.lancer_auth_twitch)
bouton_auth_twitch.grid(row=15, column=0) 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) 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 # 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) bouton_fermer.grid(row = 13, column = 0)
def lancer_auth_twitch(self): 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
webbrowser.open(self.oauth_authorization_url) oauth_token = self.get_oauth_token_from_database()
if oauth_token is None:
# Afficher un message indiquant que l'utilisateur doit autoriser l'accès à Twitch dans le navigateur # Si la colonne OAuth est vide, ouvrir la page d'authentification Twitch
messagebox.showinfo("Authentification Twitch", "Veuillez autoriser l'accès à Twitch dans le navigateur Web qui s'est ouvert.") webbrowser.open(self.oauth_authorization_url)
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