|
|
import tweepy |
|
|
import os |
|
|
import gradio as gr |
|
|
|
|
|
|
|
|
api_key = os.getenv("API_key") |
|
|
api_secret = os.getenv("API_key_secret") |
|
|
bearer_token = os.getenv("Bearer_Token") |
|
|
access_token = os.getenv("Access_Token") |
|
|
access_token_secret = os.getenv("Access_Token_Secret") |
|
|
|
|
|
clientw = tweepy.Client(bearer_token, api_key, api_secret, access_token, access_token_secret) |
|
|
auth = tweepy.OAuth1UserHandler(api_key, api_secret, access_token, access_token_secret) |
|
|
api = tweepy.API(auth) |
|
|
from gradio_client import Client |
|
|
|
|
|
|
|
|
from gradio_client import Client |
|
|
model_client = Client("https://tonic-surerag.hf.space/--replicas/m666j/") |
|
|
|
|
|
def generate_and_tweet(query): |
|
|
|
|
|
response = model_client.predict(query, api_name="/predict") |
|
|
|
|
|
|
|
|
|
|
|
if isinstance(response, dict) and 'generated_text' in response: |
|
|
tweet_text = response['generated_text'] |
|
|
elif isinstance(response, str): |
|
|
tweet_text = response |
|
|
else: |
|
|
return "Error: The model's response was not in the expected format." |
|
|
|
|
|
|
|
|
tweet_text = str(tweet_text)[:280] |
|
|
|
|
|
tweet_text = result[:180] |
|
|
response = clientw.create_tweet(text=tweet_text) |
|
|
tweet_id = response.data['id'] |
|
|
tweet_url = f"https://twitter.com/user/status/{tweet_id}" |
|
|
return f"Tweeted successfully! Here's the URL: {tweet_url}" |
|
|
|
|
|
iface = gr.Interface( |
|
|
fn=generate_and_tweet, |
|
|
inputs="text", |
|
|
outputs="text", |
|
|
title="Generate and Tweet", |
|
|
description="Enter your query to generate a Twitter post about it and automatically tweet it." |
|
|
) |
|
|
iface.launch() |
|
|
|