Updated NoTwitch to fix Scopes

This commit is contained in:
Eroax 2024-01-26 03:26:22 -07:00
parent 51046034e4
commit c1a91b9a6a

View file

@ -16,6 +16,7 @@ signal chat_received_rich(chat_dict)
@export var redirect_port := "8000" @export var redirect_port := "8000"
var auth_url := "https://id.twitch.tv/oauth2/authorize?response_type=token&" var auth_url := "https://id.twitch.tv/oauth2/authorize?response_type=token&"
var auth_scopes : Array[String] = ["chat:read", "chat:edit", "channel:read:redemptions"]
var auth_server : TCPServer var auth_server : TCPServer
@ -59,9 +60,10 @@ func cache_user_data():
## Handles the basic Twitch Authentication process to request and then later receive a Token (using [method check_auth_peer]). ## Handles the basic Twitch Authentication process to request and then later receive a Token (using [method check_auth_peer]).
## Returns the authentication URL. ## Returns the authentication URL.
func authenticate_with_twitch(client_id = client_id, scopes : Array[String] = ["chat:read", "chat:edit"]) -> String: func authenticate_with_twitch(client_id = client_id, scopes : Array[String] = auth_scopes) -> String:
auth_server = TCPServer.new() auth_server = TCPServer.new()
var url := create_auth_url(scopes) auth_scopes = scopes
var url := create_auth_url()
auth_server.listen(int(redirect_port)) auth_server.listen(int(redirect_port))
return url return url
@ -139,11 +141,11 @@ func _process(delta):
## [param scopes], Twitch Client ID ([param id]) and [param redirect_uri]. ## [param scopes], Twitch Client ID ([param id]) and [param redirect_uri].
## [param id] defaults to [member client_id] and both [param redirect] and ## [param id] defaults to [member client_id] and both [param redirect] and
## [param redirect_port] ## [param redirect_port]
func create_auth_url(scopes : Array[String], port := redirect_port, id : String = client_id, redirect : String = redirect_uri) -> String: func create_auth_url(port := redirect_port, id : String = client_id, redirect : String = redirect_uri) -> String:
var str_scopes : String var str_scopes : String
for all in scopes: for all in auth_scopes:
str_scopes += " " + all str_scopes += " " + all
str_scopes = str_scopes.strip_edges() str_scopes = str_scopes.strip_edges()