def get_last_tweet(_id, tweet_text, rt_text, ctx):
"""
Gets the last tweet for id.
:param _id: Twitter id
:param tweet_text: flavor text for tweets
:param rt_text: flavor text for retweets
:param ctx: Context
:return:
"""
if common.twitter is None:
await ctx.bot.say("Twitter not activated.")
return
try:
last_tweet = common.twitter.get_user_timeline(screen_name=_id, count=1,
include_retweets=True)
except TwythonError as e:
raise e
else:
# if it's a retweet, send the original tweet
if 'retweeted_status' in last_tweet[0]:
if _id == 'realdonaldtrump'and \
common.last_id != last_tweet[0]['id']:
await item_chance_roll(ctx.bot, ctx.message.author.display_name,
ctx.message.channel)
common.last_id = last_tweet[0]['id']
rt_id = last_tweet[0]['retweeted_status']['id']
rt_screen_name = last_tweet[0]['retweeted_status']['user'][
'screen_name']
await ctx.bot.say('{}\n\nhttps://twitter.com/{}/status/{}'
.format(rt_text, rt_screen_name, str(rt_id)))
# otherwise, send the tweet
else:
if _id == 'realdonaldtrump':
common.last_id = last_tweet[0]['id']
await ctx.bot.say('{}\n\nhttps://twitter.com/{}/status/{}'
.format(tweet_text, last_tweet[0]['user']
['screen_name'],
str(last_tweet[0]['id'])))
评论列表
文章目录