2626 ```
2727"""
2828
29- import virtuals_tweepy
3029import logging
3130from typing import Dict , Any
31+ from virtuals_tweepy import Client , TweepyException
3232
3333class TwitterPlugin :
3434 """
@@ -48,7 +48,7 @@ class TwitterPlugin:
4848 id (str): Plugin identifier
4949 name (str): Plugin name
5050 description (str): Plugin description
51- twitter_client (tweepy .Client): Authenticated Twitter API client
51+ twitter_client (virtuals_tweepy .Client): Authenticated Twitter API client
5252 logger (logging.Logger): Plugin logger
5353
5454 Raises:
@@ -63,27 +63,26 @@ def __init__(self, options: Dict[str, Any]) -> None:
6363 raise ValueError ("Twitter API credentials are required." )
6464
6565 # Capture token for internal use
66- self .game_twitter_access_token = credentials .get ("gameTwitterAccessToken " )
66+ self .game_twitter_access_token = credentials .get ("game_twitter_access_token " )
6767
6868 # Auth gate: require EITHER gameTwitterAccessToken OR full credential set
6969 has_api_credentials = all (
70- credentials .get (key ) for key in ["bearerToken " , "apiKey " , "apiSecretKey " , "accessToken" , "accessTokenSecret " ]
70+ credentials .get (key ) for key in ["api_key " , "api_key_secret " , "access_token " , "access_token_secret " ]
7171 )
7272
7373 if not self .game_twitter_access_token and not has_api_credentials :
7474 raise ValueError (
75- "Missing valid authentication. Provide either a 'gameTwitterAccessToken ' or all required Twitter API credentials."
75+ "Missing valid authentication. Provide either a 'game_twitter_access_token ' or all required Twitter API credentials."
7676 )
7777
7878 # Init Tweepy client
79- self .twitter_client : virtuals_tweepy .Client = virtuals_tweepy .Client (
80- bearer_token = credentials .get ("bearerToken" ),
81- consumer_key = credentials .get ("apiKey" ),
82- consumer_secret = credentials .get ("apiSecretKey" ),
83- access_token = credentials .get ("accessToken" ),
84- access_token_secret = credentials .get ("accessTokenSecret" ),
79+ self .twitter_client : Client = Client (
80+ consumer_key = credentials .get ("api_key" ),
81+ consumer_secret = credentials .get ("api_key_secret" ),
82+ access_token = credentials .get ("access_token" ),
83+ access_token_secret = credentials .get ("access_token_secret" ),
8584 return_type = dict ,
86- game_twitter_access_token = credentials .get ("gameTwitterAccessToken " ),
85+ game_twitter_access_token = credentials .get ("game_twitter_access_token " ),
8786 )
8887 # Configure logging
8988 logging .basicConfig (level = logging .INFO )
@@ -98,6 +97,6 @@ def _check_authentication(self) -> None:
9897 try :
9998 user = self .twitter_client .get_me (user_fields = ["public_metrics" ]).get ('data' )
10099 self .logger .info (f"Authenticated as: { user .get ('name' )} (@{ user .get ('username' )} )" )
101- except virtuals_tweepy . TweepyException as e :
100+ except TweepyException as e :
102101 self .logger .error (f"Authentication failed: { e } " )
103102 raise ValueError ("Invalid Twitter credentials or failed authentication." )
0 commit comments