igdb: auto-refresh twitch token; category -> game_type filter
Static app tokens expire after ~60 days -> every lookup failed with 401. With igdb-client-secret set, the bot fetches the token via client-credentials OAuth itself, refreshes a day before expiry and retries once on 401; a static igdb-access-token still works. IGDB renamed games.category to game_type: the category = 0 filter in search_games silently matched nothing even with a valid token. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -137,16 +137,20 @@ class OpenAIResponder(AIResponder, LeonardoAIDrawMixIn):
|
||||
|
||||
# Initialize IGDB if enabled
|
||||
self.igdb = None
|
||||
igdb_client_id = self.config.get("igdb-client-id")
|
||||
igdb_client_secret = self.config.get("igdb-client-secret")
|
||||
igdb_access_token = self.config.get("igdb-access-token")
|
||||
logging.info("IGDB Configuration Check:")
|
||||
logging.info(f" enable-game-info: {self.config.get('enable-game-info', 'NOT SET')}")
|
||||
logging.info(f" igdb-client-id: {'SET' if self.config.get('igdb-client-id') else 'NOT SET'}")
|
||||
logging.info(f" igdb-access-token: {'SET' if self.config.get('igdb-access-token') else 'NOT SET'}")
|
||||
logging.info(f" igdb-client-id: {'SET' if igdb_client_id else 'NOT SET'}")
|
||||
logging.info(f" igdb-client-secret: {'SET' if igdb_client_secret else 'NOT SET'}")
|
||||
logging.info(f" igdb-access-token: {'SET' if igdb_access_token else 'NOT SET'}")
|
||||
|
||||
if self.config.get("enable-game-info", False) and self.config.get("igdb-client-id") and self.config.get("igdb-access-token"):
|
||||
if self.config.get("enable-game-info", False) and igdb_client_id and (igdb_client_secret or igdb_access_token):
|
||||
try:
|
||||
self.igdb = IGDBQuery(self.config["igdb-client-id"], self.config["igdb-access-token"])
|
||||
self.igdb = IGDBQuery(igdb_client_id, igdb_access_token, client_secret=igdb_client_secret)
|
||||
logging.info("✅ IGDB integration SUCCESSFULLY enabled for game information")
|
||||
logging.info(f" Client ID: {self.config['igdb-client-id'][:8]}...")
|
||||
logging.info(f" Client ID: {igdb_client_id[:8]}...")
|
||||
logging.info(f" Available functions: {len(self.igdb.get_openai_functions())}")
|
||||
except Exception as e:
|
||||
logging.error(f"❌ Failed to initialize IGDB: {e}")
|
||||
|
||||
Reference in New Issue
Block a user