twAuto is a library for "Tweeting", "Retweeting", "Replying", "Tweet Quoting", "Tweet Liking" without any API requirements using Selenium.
Note: While using this library I didnt encounter any problems/bad response from Twitter like banning account etc. but please use at your own risk.
-
Python 3.7+
Pip:
pip3 install twAuto
- Import:
import twAuto
- Configure:
tw = twAuto.twAuto(
username="Your Twitter Username",
email="Your Twitter E-Mail",
password="Your Twitter Password",
chromeDriverMode="manual" or "auto", #if you use auto twAuto will automatically download the chrome driver for you,
#if you use the manual option, you need to provide the driver path in driverPath parameter.
driverPath="your drivers path", #use only if you are using the chromeDriverMode in manual mode
pathType="testId" or "xPath", #It is testId by default. I highly recommend you to use testId instead of xPath. If you had any problems with library you can try the xPath mode too.
headless=True/False, #Headless is true by default.
debugMode= True/False #Really poorly implemented debug mode, this is for reading occured errors.
#It is not reliable right now but you can give it a try if you want to.
createCookies= True/False #True by default.
)
- Start: Start functions runs the selenium driver.
tw.start()
- Login: Logs in to the Twitter account
tw.login()
- Login Errors: If you encounter any errors in the login process, you can use manualCookieCreation() to get your cookie file manually. Run the function after tw.start() line. Then after the browser window opened, login to account you want to automate, then enter any character in the terminal. This will create a cookie file after this, you can use the library.
Note: Headless must be False to use this function.
tw.manualCookieCreation()
Example:
First run this code to get your cookie file.
tw = twAuto.twAuto(
username="Your Twitter Username",
email="Your Twitter E-Mail",
password="Your Twitter Password",
chromeDriverMode="auto",
pathType="xPath",
headless=False #Headless must be False to use this function.
)
tw.start()
tw.manualCookieCreation()
After doing the steps that is described above, you can run your main code.
tw = twAuto.twAuto(
username="Your Twitter Username",
email="Your Twitter E-Mail",
password="Your Twitter Password",
chromeDriverMode="auto",
pathType="xPath"
)
tw.start()
tw.login()
#other functions...
- Like: Likes tweet in the given url
->Returns: True/False as Success/Failed
tw.like(url="")
- Reply: Replies to the tweet in the given url with given text.
->Returns: Reply URL/False
tw.reply(url="", imgpath="", text="")
- Tweet: Tweets the text and image if given.
->Returns: Tweet URL/False
tw.tweet(text="",imgpath="")
- Quote Tweet: Quotes the tweet in the given url with the given text.
->Returns: Quoted Tweet URL/False
tw.quoteTweet(url="", imgpath="" ,text="")
- Retweet: Retweets the tweet in the given url.
->Returns: True/False as Success/Failed
tw.retweet(url="")
- Unretweet: Unretweets the tweet in the given url.
->Returns: True/False as Success/Failed
tw.unretweet(url="")
- Notifications: Scrapes the latest notifications.
->Returns: An array that contains notification text.
tw.scrapeNotifications()
**- Logout:** Logs out from current Twitter account and deletes the cookies file.
tw.logout()
- Quit/Close: Ends the session, closes the selenium driver application
tw.close()
tw = twAuto.twAuto(
username="",
email="",
password="",
headless=True,
chromeDriverMode="auto",
pathType="testId")
tw.start()
tw.login()
tw.reply(url="",imgpath="", text="")
tw.close()
- Send image with Quote, Reply.
- Send gif with Quote, Reply.
- Retweet without adding url at the end.
- Linux integration(not tested yet).