From aaec27e763ce7935c0ae442f468b2fae001565f3 Mon Sep 17 00:00:00 2001 From: Eroax Date: Mon, 22 Jan 2024 20:07:37 -0700 Subject: [PATCH] Added "Twitch Connected Account Info" Node Adds in a node that allows returning back the connected Twitch accounts cached data. It has 3 specific outputs (Login, Display Name, Profile Picture URL) and a general "Dictionary" output for the full dictionary of information. --- .../deck/nodes/twitch/twitch_account_info.gd | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 classes/deck/nodes/twitch/twitch_account_info.gd diff --git a/classes/deck/nodes/twitch/twitch_account_info.gd b/classes/deck/nodes/twitch/twitch_account_info.gd new file mode 100644 index 0000000..9478d03 --- /dev/null +++ b/classes/deck/nodes/twitch/twitch_account_info.gd @@ -0,0 +1,71 @@ +# (c) 2023-present Eroax +# (c) 2023-present Yagich +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +extends DeckNode + + +func _init(): + name = "Twitch Connected Account Info" + node_type = name.to_snake_case() + description = "Accesses the Cached data for the Connected Account" + + props_to_serialize = [] + + add_output_port(DeckType.Types.STRING, "Login") + add_output_port(DeckType.Types.STRING, "Display Name") + add_output_port(DeckType.Types.STRING, "Profile Picture URL") + add_output_port(DeckType.Types.DICTIONARY, "User Dictionary") + +#{ + #"id": "141981764", + #"login": "twitchdev", + #"display_name": "TwitchDev", + #"type": "", + #"broadcaster_type": "partner", + #"description": "Supporting third-party developers building Twitch integrations from chatbots to game integrations.", + #"profile_image_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/8a6381c7-d0c0-4576-b179-38bd5ce1d6af-profile_image-300x300.png", + #"offline_image_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/3f13ab61-ec78-4fe6-8481-8682cb3b0ac2-channel_offline_image-1920x1080.png", + #"view_count": 5980557, + #"email": "not-real@email.com", + #"created_at": "2016-12-14T20:32:28Z" +#} + + +func _value_request(from_port): + + var user_dict = Connections.twitch.user_info + + if user_dict.is_empty(): + + DeckHolder.logger.log_node("Twitch Connection: No Data Cached for the connected Twitch Account, please try Connecting again", Logger.LogType.ERROR) + return null + + + match from_port: + + 0: # Login Name + + return user_dict.login + + + 1: # Display Name + + return user_dict.display_name + + + 2: # Profile Picture URL + + return user_dict.profile_image_url + + + _: # Dictionary + + return user_dict + + + + + return Connections.twitch.user_info + + +