Skip to main content

Implementation of X/Twitter v1, v2, and GraphQL APIs

Project description

Twitter API

Installation

pip install Jam-Twitter-API

Usage

from Jam_Twitter_API.account_sync import TwitterAccountSync
from Jam_Twitter_API.errors import *


# Create a TwitterAccount object
# Set up a session using auth_token or cookies (it will auto create needed headers and cookies)
try:
    account = TwitterAccountSync.run(
        auth_token="0idfidfgdfgidfgijodfgjoidfgijo43",
        proxy="http://user:pass@host:port",
        setup_session=True,
    )

    account = TwitterAccountSync.run(
        cookies={"auth_token": "0idfidfgdfgidfgijodfgjoidfgijo43", "ct0": "0idfidfgdfgidfgijodfgjoidfgijo43"},
        proxy="http://user:pass@host:port",
        setup_session=True,
    )

except TwitterAccountSuspended as error:
    # Raise when account is suspended
    print(f"Account is suspended: {error}")

except TwitterError as error:
    # Raise when Twitter error occurs
    print(f"Twitter error occurred: {error.error_message} | {error.error_code}")

except IncorrectData as error:
    # Raise when validation error occurs
    print(f"Incorrect data provided: {IncorrectData}")

except RateLimitError as error:
    # Raise when rate limit exceeded
    print(f"Rate limit exceeded: {error}")

# A small part of the available methods:
user_tweets = account.user_last_tweets("elonmusk")
user_followers = account.user_followers("elonmusk")
user_following = account.user_followings("elonmusk")

user_info = account.get_user_info("elonmusk")
user_id = account.get_user_id("elonmusk")
follow = account.follow(1000)
unfollow = account.unfollow(1000)

bind_account_to_site_v1 = account.bind_account_v1("url")
bind_account_to_site_v2 = account.bind_account_v2({
    "code_challenge": "test",
    "code_challenge_method": "plain",
    "client_id": "enpfUjhndkdrdHhld29adfg6eGM6MTpjaQ",
    "redirect_uri": "https://www.test.io",
    "response_type": "code",
    "scope": "tweet.read users.read follows.read offline.access",
    "state": "test",
})

tweet_replies = account.tweet_replies(1000000000)
tweet_retweets = account.tweet_retweeters(1000000000)
tweet_likes = account.tweet_likes(1000000000)

tweet = account.tweet("hello world")
untweet = account.untweet(1000000000)

quote = account.quote("hello world", 10000)
retweet = account.retweet(1000000000)

reply = account.reply("hello world", 1000000000)
like = account.like(1000000000)
unlike = account.unlike(1000000000)

update_image = account.update_profile_image("path/to/image.jpg")
update_banner = account.update_profile_banner("path/to/image.jpg")
update_profile_info = account.update_profile_info({"location": "San Francisco"})

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

jam_twitter_api-1.0.tar.gz (40.9 kB view details)

Uploaded Source

Built Distribution

Jam_Twitter_API-1.0-py3-none-any.whl (42.3 kB view details)

Uploaded Python 3

File details

Details for the file jam_twitter_api-1.0.tar.gz.

File metadata

  • Download URL: jam_twitter_api-1.0.tar.gz
  • Upload date:
  • Size: 40.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.4

File hashes

Hashes for jam_twitter_api-1.0.tar.gz
Algorithm Hash digest
SHA256 f4571c2237d70b107e2d65bb65cb17fe0fac98b4e89ff9f46874a619f4751e5b
MD5 7065902342242e1cb14fba736c415f76
BLAKE2b-256 ccba4b08b3a24eb5e0db5d43fc409cbf71e3cece9472a21bd378970f26dc15a3

See more details on using hashes here.

File details

Details for the file Jam_Twitter_API-1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for Jam_Twitter_API-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5c5caf8f90e41a670a5a067fa2dcbf7d7f6f6b736db93621ab5bb444ba9b8682
MD5 981ee3a2c21c1a94fe3b08928fb12a6f
BLAKE2b-256 44dfb31083974715b5948de5711276bc26f93b543b9d33b5de57cbea55ec5f43

See more details on using hashes here.

Supported by

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