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-0.8.tar.gz (39.9 kB view details)

Uploaded Source

Built Distribution

Jam_Twitter_API-0.8-py3-none-any.whl (41.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jam_twitter_api-0.8.tar.gz
  • Upload date:
  • Size: 39.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-0.8.tar.gz
Algorithm Hash digest
SHA256 a5a74b08ad6bc534181ce935f766880bae99005f757c9e75892d12b295258ab7
MD5 2c0300bd66f3f3a7e0983330451268f2
BLAKE2b-256 dcfe9bba4d3fd188340f204603f5456a2f914c782308db2d1ab19d6147352434

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for Jam_Twitter_API-0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 342ddfe33a2f5648eeac5035741123182b1da8c1d4f1149d18fb5f0282fad72f
MD5 e5d3b032122a83fb676ff26789f725b8
BLAKE2b-256 ab1113a1bb94a13b58baba329c9c3d31339154ee32f931dd58e6bca39dff1baa

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