Support for getting RT information (#279)
This commit is contained in:
parent
e64aa41ff6
commit
1d03bf80e7
@ -59,4 +59,11 @@ def test_api_user_feed():
|
||||
jData = resp.get_json()
|
||||
assert resp.status_code==200
|
||||
assert jData["screen_name"]=="jack"
|
||||
assert len(jData["latest_tweets"])>0
|
||||
assert len(jData["latest_tweets"])>0
|
||||
|
||||
def test_api_retweet():
|
||||
resp = client.get(testRetweetTweet.replace("https://twitter.com","https://api.vxtwitter.com"),headers={"User-Agent":"test"})
|
||||
jData = resp.get_json()
|
||||
assert jData['retweetURL'] == 'https://twitter.com/i/status/1828569456231993456'
|
||||
assert jData['retweet'] != None
|
||||
assert jData['retweet']['text'].startswith("If you want to try")
|
@ -12,6 +12,7 @@ tests = {
|
||||
"testPollTweet": "https://twitter.com/norm/status/651169346518056960",
|
||||
"testMixedMediaTweet":"https://twitter.com/bigbeerfest/status/1760638922084741177",
|
||||
"testVinePlayerTweet":"https://twitter.com/Roblox/status/583302104342638592",
|
||||
"testRetweetTweet":"https://twitter.com/pdxdylan/status/1828570470222045294",
|
||||
}
|
||||
|
||||
def getVNFFromLink(link):
|
||||
|
12
twitfix.py
12
twitfix.py
@ -359,6 +359,12 @@ def twitfix(sub_path):
|
||||
if 'qrtURL' in tweetData and tweetData['qrtURL'] is not None:
|
||||
qrt = getTweetData(tweetData['qrtURL'])
|
||||
tweetData['qrt'] = qrt
|
||||
|
||||
retweet = None
|
||||
if 'retweetURL' in tweetData and tweetData['retweetURL'] is not None:
|
||||
retweet = getTweetData(tweetData['retweetURL'])
|
||||
tweetData['retweet'] = retweet
|
||||
|
||||
tweetData = deepcopy(tweetData)
|
||||
log.success("Tweet Data Get success")
|
||||
if '?' in request.url:
|
||||
@ -473,6 +479,12 @@ def api_v1_status(tweet_id):
|
||||
if 'qrtURL' in tweetData and tweetData['qrtURL'] is not None:
|
||||
qrt = getTweetData(tweetData['qrtURL'])
|
||||
tweetData['qrt'] = qrt
|
||||
|
||||
retweet = None
|
||||
if 'retweetURL' in tweetData and tweetData['retweetURL'] is not None:
|
||||
retweet = getTweetData(tweetData['retweetURL'])
|
||||
tweetData['retweet'] = retweet
|
||||
|
||||
if tweetData is None:
|
||||
abort(500) # this should cause Discord to fall back to the default embed
|
||||
return activitymg.tweetDataToActivity(tweetData,embedIndex)
|
||||
|
5
vxApi.py
5
vxApi.py
@ -144,6 +144,10 @@ def getApiResponse(tweet,include_txt=False,include_rtf=False):
|
||||
if 'quoted_status_id_str' in tweetL:
|
||||
qrtURL = "https://twitter.com/i/status/" + tweetL['quoted_status_id_str']
|
||||
|
||||
retweetURL = None
|
||||
if 'retweeted_status_result' in tweetL:
|
||||
retweetURL = "https://twitter.com/i/status/" + tweetL['retweeted_status_result']['result']['rest_id']
|
||||
|
||||
if 'possibly_sensitive' not in tweetL:
|
||||
tweetL['possibly_sensitive'] = False
|
||||
|
||||
@ -253,6 +257,7 @@ def getApiResponse(tweet,include_txt=False,include_rtf=False):
|
||||
"replyingTo": replyingTo,
|
||||
"replyingToID": replyingToID,
|
||||
"fetched_on": int(datetime.now().timestamp()),
|
||||
"retweetURL":retweetURL,
|
||||
}
|
||||
try:
|
||||
apiObject["date_epoch"] = int(datetime.strptime(tweetL["created_at"], "%a %b %d %H:%M:%S %z %Y").timestamp())
|
||||
|
@ -12,6 +12,7 @@ testNSFWTweet="https://twitter.com/kuyacoy/status/1581185279376838657"
|
||||
testPollTweet="https://twitter.com/norm/status/651169346518056960"
|
||||
testMixedMediaTweet="https://twitter.com/bigbeerfest/status/1760638922084741177"
|
||||
testVinePlayerTweet="https://twitter.com/Roblox/status/583302104342638592"
|
||||
testRetweetTweet="https://twitter.com/pdxdylan/status/1828570470222045294"
|
||||
|
||||
testTextTweet_compare={'text': 'just setting up my twttr', 'date': 'Tue Mar 21 20:50:14 +0000 2006', 'tweetURL': 'https://twitter.com/jack/status/20', 'tweetID': '20', 'conversationID': '20', 'mediaURLs': [], 'media_extended': [], 'possibly_sensitive': False, 'hashtags': [], 'qrtURL': None, 'allSameType': True, 'hasMedia': False, 'combinedMediaUrl': None, 'pollData': None, 'article': None, 'date_epoch': 1142974214}
|
||||
testVideoTweet_compare={'text': 'TikTok embeds on Discord/Telegram bait you with a fake play button, but to see the actual video you have to go to their website.\nAs a request from a friend, I made it so that if you add "vx" before "tiktok" on any link, it fixes that. https://t.co/QYpiVXUIrW', 'date': 'Fri Jun 24 18:17:31 +0000 2022', 'tweetURL': 'https://twitter.com/pdxdylan/status/1540398733669666818', 'tweetID': '1540398733669666818', 'conversationID': '1540398733669666818', 'mediaURLs': ['https://video.twimg.com/ext_tw_video/1540396699037929472/pu/vid/762x528/YxbXbT3X7vq4LWfC.mp4'], 'media_extended': [{'url': 'https://video.twimg.com/ext_tw_video/1540396699037929472/pu/vid/762x528/YxbXbT3X7vq4LWfC.mp4', 'type': 'video', 'size': {'width': 762, 'height': 528}, 'duration_millis': 13650, 'thumbnail_url': 'https://pbs.twimg.com/ext_tw_video_thumb/1540396699037929472/pu/img/l187Z6B9AHHxUKPV.jpg', 'altText': None}], 'possibly_sensitive': False, 'hashtags': [], 'qrtURL': None, 'allSameType': True, 'hasMedia': True, 'combinedMediaUrl': None, 'pollData': None, 'article': None, 'date_epoch': 1656094651}
|
||||
|
Loading…
x
Reference in New Issue
Block a user