diff --git a/plugins/twitch/token.cpp b/plugins/twitch/token.cpp index 6a292a37..662e59a7 100644 --- a/plugins/twitch/token.cpp +++ b/plugins/twitch/token.cpp @@ -233,7 +233,11 @@ void TwitchToken::Load(obs_data_t *obj) { Item::Load(obj); _token = obs_data_get_string(obj, "token"); - _userID = obs_data_get_string(obj, "userID"); + if (obs_data_has_user_value(obj, "userID")) { + _userID = obs_data_get_string(obj, "userID"); + } else { + _userID = {}; + } obs_data_set_default_bool(obj, "validateEventSubTimestamps", true); _validateEventSubTimestamps = obs_data_get_bool(obj, "validateEventSubTimestamps"); @@ -396,6 +400,10 @@ bool TwitchToken::IsValid(bool forceUpdate) const return false; } + if (!_userID) { + _userID = id; + } + _lastValidityCheckResult = true; return true; }; diff --git a/plugins/twitch/token.hpp b/plugins/twitch/token.hpp index 7f7acecf..8c1301e1 100644 --- a/plugins/twitch/token.hpp +++ b/plugins/twitch/token.hpp @@ -65,7 +65,7 @@ private: mutable std::string _lastValidityCheckValue; mutable bool _lastValidityCheckResult = false; mutable std::chrono::system_clock::time_point _lastValidityCheckTime; - std::optional _userID; + mutable std::optional _userID; std::set _tokenOptions = TokenOption::GetAllTokenOptions(); std::shared_ptr _eventSub; bool _validateEventSubTimestamps = false;