Skip to main content

Twitter Plugin for Python SDK for GAME by Virtuals

Project description

Twitter Plugin for GAME SDK

The Twitter Plugin provides a lightweight interface for integrating Twitter (X) functionality into your GAME SDK agents. Built on top of virtuals_tweepy by the Virtuals team — a maintained fork of Tweepy) — this plugin lets you easily post tweets, fetch data, and execute workflows through agent logic.

Use it standalone or compose multiple Twitter actions as part of a larger agent job.


Installation

You can install the plugin using either poetry or pip:

# Using Poetry (from the plugin directory)
poetry install

or

# Using pip (recommended for integration projects)
pip install twitter_plugin_gamesdk

Authentication Methods

We support two primary ways to authenticate:

1. GAME's Sponsored X Enterprise Access Token (Recommended)

Virtuals sponsors the community with a Twitter Enterprise API access plan, using OAuth 2.0 with PKCE. This provides:

  • Higher rate limits: 35 calls / 5 minutes
  • Smoother onboarding
  • Free usage via your GAME_API_KEY

a. Get Your Access Token

Run the following command to authenticate using your GAME_API_KEY:

poetry run twitter-plugin-gamesdk auth -k <GAME_API_KEY>

This will prompt:

Waiting for authentication...

Visit the following URL to authenticate:
https://x.com/i/oauth2/authorize?...

Authenticated! Here's your access token:
apx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

b. Store Your Access Token

We recommend storing environment variables in a .env file:

# .env

GAME_TWITTER_ACCESS_TOKEN=apx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Then, use load_dotenv() to load them:

import os
from dotenv import load_dotenv
from twitter_plugin_gamesdk.twitter_plugin import TwitterPlugin

load_dotenv()

options = {
    "credentials": {
        "game_twitter_access_token": os.environ.get("GAME_TWITTER_ACCESS_TOKEN")
    }
}

twitter_plugin = TwitterPlugin(options)
client = twitter_plugin.twitter_client

client.create_tweet(text="Tweeting with GAME Access Token!")

2. Use Your Own Twitter Developer Credentials

Use this option if you need access to Twitter endpoints requiring a different auth level (e.g., OAuth 1.0a User Context or OAuth 2.0 App Only).

See X API Auth Mapping to determine which auth level is required for specific endpoints.

a. Get Your Developer Credentials

  1. Sign in to the Twitter Developer Portal.
  2. Create a project and app.
  3. Generate the following keys and store them in your .env file:
# .env

TWITTER_API_KEY=...
TWITTER_API_SECRET_KEY=...
TWITTER_ACCESS_TOKEN=...
TWITTER_ACCESS_TOKEN_SECRET=...

b. Initialize the Plugin

import os
from dotenv import load_dotenv
from twitter_plugin_gamesdk.twitter_plugin import TwitterPlugin

load_dotenv()

options = {
    "credentials": {
        "api_key": os.environ.get("TWITTER_API_KEY"),
        "api_key_secret": os.environ.get("TWITTER_API_SECRET_KEY"),
        "access_token": os.environ.get("TWITTER_ACCESS_TOKEN"),
        "access_token_secret": os.environ.get("TWITTER_ACCESS_TOKEN_SECRET"),
    }
}

twitter_plugin = TwitterPlugin(options)
client = twitter_plugin.twitter_client

client.create_tweet(text="Tweeting with personal developer credentials!")

Examples

Explore the examples/ directory for sample scripts demonstrating how to:

  • Post tweets
  • Reply to mentions
  • Quote tweets
  • Fetch user timelines
  • And more!

API Reference

This plugin wraps virtuals_tweepy, which is API-compatible with Tweepy’s client interface. Refer to their docs for supported methods and parameters.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

twitter_plugin_gamesdk-0.2.7.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

twitter_plugin_gamesdk-0.2.7-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file twitter_plugin_gamesdk-0.2.7.tar.gz.

File metadata

  • Download URL: twitter_plugin_gamesdk-0.2.7.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.13.2 Darwin/24.3.0

File hashes

Hashes for twitter_plugin_gamesdk-0.2.7.tar.gz
Algorithm Hash digest
SHA256 23d73c6f9cab662cd14407418ed6d59b19710aeb7ba9dda78220165f8878044b
MD5 6081a3da722ce4b7094eebb96ef62f58
BLAKE2b-256 4a8f77c2ad9d312e73e59a0f2014719c0ee24af3768d926e045e1fd1f0ac3c76

See more details on using hashes here.

File details

Details for the file twitter_plugin_gamesdk-0.2.7-py3-none-any.whl.

File metadata

File hashes

Hashes for twitter_plugin_gamesdk-0.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 26dce6a4ac953e8ab615098bfddddbd8c6ad442f9254167b6e3f10503c5ebcc3
MD5 564fb73e01f3c7e5071c1b92f793a918
BLAKE2b-256 ef8dd4b1cab780ba8a0218538267203beb3fc7724c4dbb574a7739be1adb2143

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page