Home >Backend Development >Python Tutorial >Build a Python Bot to Automate Social Media Engagement
Author: Trix Cyrus
Waymap Pentesting tool: Click Here
TrixSec Github: Click Here
Complete Multi-Social Media Bot Script
This script will demonstrate how to create a basic structure for automating engagement on Twitter, Facebook, and Instagram. For Facebook and Instagram, you will need to use the requests library to call their APIs.
Note: Facebook and Instagram have strict rules for automation, and you may need to go through their approval process for certain actions.
import tweepy import requests import schedule import time # Twitter API credentials twitter_api_key = 'YOUR_TWITTER_API_KEY' twitter_api_secret_key = 'YOUR_TWITTER_API_SECRET_KEY' twitter_access_token = 'YOUR_TWITTER_ACCESS_TOKEN' twitter_access_token_secret = 'YOUR_TWITTER_ACCESS_TOKEN_SECRET' # Facebook API credentials facebook_access_token = 'YOUR_FACEBOOK_ACCESS_TOKEN' facebook_page_id = 'YOUR_FACEBOOK_PAGE_ID' # Instagram API credentials (using Graph API) instagram_access_token = 'YOUR_INSTAGRAM_ACCESS_TOKEN' instagram_business_account_id = 'YOUR_INSTAGRAM_BUSINESS_ACCOUNT_ID' # Authenticate to Twitter twitter_auth = tweepy.OAuth1UserHandler(twitter_api_key, twitter_api_secret_key, twitter_access_token, twitter_access_token_secret) twitter_api = tweepy.API(twitter_auth) # Function to post a tweet def post_tweet(status): try: twitter_api.update_status(status) print("Tweet posted successfully!") except Exception as e: print(f"An error occurred while posting tweet: {e}") # Function to like tweets based on a keyword def like_tweets(keyword, count=5): try: tweets = twitter_api.search(q=keyword, count=count) for tweet in tweets: twitter_api.create_favorite(tweet.id) print(f"Liked tweet by @{tweet.user.screen_name}: {tweet.text}") except Exception as e: print(f"An error occurred while liking tweets: {e}") # Function to post a Facebook update def post_facebook_update(message): try: url = f"https://graph.facebook.com/{facebook_page_id}/feed" payload = { 'message': message, 'access_token': facebook_access_token } response = requests.post(url, data=payload) if response.status_code == 200: print("Facebook post created successfully!") else: print(f"Failed to post on Facebook: {response.text}") except Exception as e: print(f"An error occurred while posting on Facebook: {e}") # Function to post an Instagram update (a photo in this example) def post_instagram_photo(image_url, caption): try: url = f"https://graph.facebook.com/v12.0/{instagram_business_account_id}/media" payload = { 'image_url': image_url, 'caption': caption, 'access_token': instagram_access_token } response = requests.post(url, data=payload) media_id = response.json().get('id') # Publish the media if media_id: publish_url = f"https://graph.facebook.com/v12.0/{instagram_business_account_id}/media_publish" publish_payload = { 'creation_id': media_id, 'access_token': instagram_access_token } publish_response = requests.post(publish_url, data=publish_payload) if publish_response.status_code == 200: print("Instagram post created successfully!") else: print(f"Failed to publish Instagram post: {publish_response.text}") else: print(f"Failed to create Instagram media: {response.text}") except Exception as e: print(f"An error occurred while posting on Instagram: {e}") # Function to perform all actions def run_bot(): # Customize your status and keywords post_tweet("Automated tweet from my Python bot!") like_tweets("Python programming", 5) post_facebook_update("Automated update on Facebook!") post_instagram_photo("YOUR_IMAGE_URL", "Automated Instagram post!") # Schedule the bot to run every hour schedule.every().hour.do(run_bot) print("Multi-social media bot is running...") # Keep the script running while True: schedule.run_pending() time.sleep(1)
How to Use This Script
Install Required Libraries: Ensure you have tweepy and requests installed. You can install them using pip:
pip install tweepy requests schedule
Set Up Your API Credentials: Replace the placeholders with your actual API credentials for Twitter, Facebook, and Instagram.
Customize Your Actions: You can change the text in post_tweet and post_facebook_update, and replace YOUR_IMAGE_URL in post_instagram_photo with a valid image URL you want to post.
Run the Script: Execute the script by running:
python your_script_name.py
Monitor Your Bot: The bot will run indefinitely, executing the specified actions every hour. You can stop it by interrupting the process (e.g., Ctrl C).
Important Considerations
API Limitations: Each social media platform has its own rate limits and restrictions, so make sure to review the documentation for each API.
Ethical Use: Be mindful of how your bot interacts with users to avoid spamming or violating platform guidelines.
Testing: Test your bot in a controlled environment before deploying it widely.
~TrixSec
The above is the detailed content of Build a Python Bot to Automate Social Media Engagement. For more information, please follow other related articles on the PHP Chinese website!