mirror of
https://github.com/aljazceru/Auto-GPT.git
synced 2025-12-18 22:44:21 +01:00
twitter_send_tweets_command
This commit is contained in:
@@ -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":
|
||||||
|
|||||||
25
autogpt/commands/twitter.py
Normal file
25
autogpt/commands/twitter.py
Normal 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))
|
||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user