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

Uploaded Source

Built Distribution

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

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: jam_twitter_api-1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 e845e50687a4cbec0f8efa830b8cba76326c2c46a623c20088896dc92339eb4f
MD5 36b205c4190da693733dadfdb123108f
BLAKE2b-256 8131aa89e6532b710de86474ecf919b717847f7e33cf4b30c19bdfe123545fee

See more details on using hashes here.

File details

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

File metadata

  • Download URL: Jam_Twitter_API-1.1-py3-none-any.whl
  • Upload date:
  • Size: 42.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.4

File hashes

Hashes for Jam_Twitter_API-1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d8212f610672f8a7af3cb6ffa55fb410e61c69cca7fb2e898acbce57861faf94
MD5 b4b7d90ded77407ee605fcd79fdb9746
BLAKE2b-256 05d213609f0f6df26d7185a2cd76e7e3de0142a8e9438ca380f4a5a832d68643

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