Spaces:
Runtime error
Runtime error
# from git import Repo | |
import os | |
import streamlit as st | |
import dateutil | |
import datetime | |
import translators as ts | |
import translators.server as tss | |
import random | |
import tweepy | |
import time | |
import json | |
time_now = datetime.datetime.now() | |
last_minute = time_now - dateutil.relativedelta.relativedelta(minutes=1) | |
# st.set_page_config( | |
# page_title="TRACING INSIGHTS", | |
# page_icon=None, | |
# layout="wide", | |
# #initial_sidebar_state="expanded", | |
# # menu_items={ | |
# # 'Get Help': 'https://www.extremelycoolapp.com/help', | |
# # 'Report a bug': "https://www.extremelycoolapp.com/bug", | |
# # 'About': "# This is a header. This is an *extremely* cool app!" | |
# # } | |
# ) | |
st.write("Hello world!") | |
GITHUB_PAT = os.environ['GITHUB'] | |
api_key = os.environ['api_key'] | |
secret_api_key = os.environ['secret_api_key'] | |
access_token = os.environ['access_token'] | |
secret_access_token = os.environ['secret_access_token'] | |
bearer_token = os.environ['bearer_token'] | |
# if not os.path.exists('repo_directory'): | |
# Repo.clone_from(f'https://tracinginsights:{GITHUB_PAT}@github.com/TracingInsights/translator.git', 'repo_directory' ) | |
# from repo_directory import translator | |
# translator.auth(api_key,secret_api_key,access_token,secret_access_token) | |
# works with tweets and replies too | |
def translate(bearer_token,api_key,secret_api_key,access_token,secret_access_token): | |
# update users when you want to include more accounts | |
users = [1568348454619070465,2755544640, 1030481714, 407048032,227265199,190632194, 149542215,127854979, 106170617] | |
api = tweepy.Client(bearer_token=bearer_token, consumer_key=api_key, | |
consumer_secret=secret_api_key, access_token=access_token, | |
access_token_secret=secret_access_token,wait_on_rate_limit=True | |
) | |
#loops endlessly(60 sec interval) and checks,translates,and posts tweets | |
# use this to get user id https://tweeterid.com/ | |
latest_tweet_id = 1605089422533218304 # change this if error or restart | |
while True: | |
# Get the first 20 tweets on the home timeline | |
tweets = api.get_home_timeline(max_results=12, | |
exclude='retweets', | |
expansions="author_id", #since_id=latest_tweet_id | |
start_time=last_minute) | |
if tweets.data is not None: | |
latest_tweet_id = tweets.meta['newest_id'] | |
for tweet in tweets.data: | |
if tweet.author_id in users: | |
print(f"Latest Tweet ID:{tweet.id}") | |
print(f"Latest tweet: {tweet.text}") | |
try: | |
curr = tss.google(tweet.text, to_language='en', sleep_seconds=0.051) | |
status = f"{curr[:254]}" | |
api.create_tweet(text=status, quote_tweet_id=f"{tweet.id}") | |
print(f"Tweet successfully sent: {status}") | |
except: | |
curr = tss.tencent(tweet.text, to_language='en', sleep_seconds=0.051) | |
status = f"{curr[:254]}" | |
api.create_tweet(text=status, quote_tweet_id=f"{tweet.id}") | |
print(f"Tweet successfully sent: {status}") | |
else: | |
continue | |
print(tweet.text) | |
print("_______________________") | |
time.sleep(60) | |
translate(bearer_token,api_key,secret_api_key,access_token,secret_access_token) | |