twitter_send_tweets_command

This commit is contained in:
DaoAdvocate
2023-04-15 22:58:22 +02:00
committed by Pi
parent f785c8cf03
commit cfba3d0a60
3 changed files with 30 additions and 0 deletions

View File

@@ -23,6 +23,7 @@ from autogpt.processing.text import summarize_text
from autogpt.speech import say_text from autogpt.speech import say_text
from autogpt.commands.web_selenium import browse_website from autogpt.commands.web_selenium import browse_website
from autogpt.commands.git_operations import clone_repository from autogpt.commands.git_operations import clone_repository
from autogpt.commands.twitter import send_tweet
CFG = Config() CFG = Config()
@@ -181,6 +182,8 @@ def execute_command(command_name: str, arguments):
) )
elif command_name == "generate_image": elif command_name == "generate_image":
return generate_image(arguments["prompt"]) return generate_image(arguments["prompt"])
elif command_name == "send_tweet":
return send_tweet(arguments['text'])
elif command_name == "do_nothing": elif command_name == "do_nothing":
return "No action performed." return "No action performed."
elif command_name == "task_complete": elif command_name == "task_complete":

View File

@@ -0,0 +1,25 @@
import tweepy
import os
from dotenv import load_dotenv
load_dotenv()
def send_tweet(tweet_text):
consumer_key = os.environ.get("TW_CONSUMER_KEY")
consumer_secret= os.environ.get("TW_CONSUMER_SECRET")
access_token= os.environ.get("TW_ACCESS_TOKEN")
access_token_secret= os.environ.get("TW_ACCESS_TOKEN_SECRET")
# Authenticate to Twitter
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
# Create API object
api = tweepy.API(auth)
# Send tweet
try:
api.update_status(tweet_text)
print("Tweet sent successfully!")
except tweepy.TweepError as e:
print("Error sending tweet: {}".format(e.reason))

View File

@@ -82,6 +82,8 @@ def get_prompt() -> str:
), ),
("Execute Python File", "execute_python_file", {"file": "<file>"}), ("Execute Python File", "execute_python_file", {"file": "<file>"}),
("Generate Image", "generate_image", {"prompt": "<prompt>"}), ("Generate Image", "generate_image", {"prompt": "<prompt>"}),
("Send Tweet", "send_tweet", {"text": "<text>"}),
] ]
# Only add shell command to the prompt if the AI is allowed to execute it # Only add shell command to the prompt if the AI is allowed to execute it