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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e845e50687a4cbec0f8efa830b8cba76326c2c46a623c20088896dc92339eb4f
|
|
| MD5 |
36b205c4190da693733dadfdb123108f
|
|
| BLAKE2b-256 |
8131aa89e6532b710de86474ecf919b717847f7e33cf4b30c19bdfe123545fee
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8212f610672f8a7af3cb6ffa55fb410e61c69cca7fb2e898acbce57861faf94
|
|
| MD5 |
b4b7d90ded77407ee605fcd79fdb9746
|
|
| BLAKE2b-256 |
05d213609f0f6df26d7185a2cd76e7e3de0142a8e9438ca380f4a5a832d68643
|