【发布时间】:2018-05-02 04:40:06
【问题描述】:
我想要一个 Twitter 转发器到 Telegram。
我找到了这个:https://github.com/franciscod/telegram-twitter-forwarder-bot
现在的问题是,如果一条推文在链接之前包含一个主题标签,Telegram 会向我显示该主题标签的链接。
我尝试了不同的方法并进行了搜索,但我不知道如何只接收来自 twitter 的纯文本。
如果推文太长,我也没有得到短链接 t.co。这只是一个长链接。
for tweet in tweets:
self.logger.debug("- Got tweet: {}".format(tweet.text))
# Check if tweet contains media, else check if it contains a link to an image
extensions = ('.jpg', '.jpeg', '.png', '.gif')
pattern = '[(%s)]$' % ')('.join(extensions)
photo_url = ''
tweet_text = html.unescape(tweet.text)
if 'media' in tweet.entities:
photo_url = tweet.entities['media'][0]['media_url_https']
else:
for url_entity in tweet.entities['urls']:
expanded_url = url_entity['expanded_url']
if re.search(pattern, expanded_url):
photo_url = expanded_url
break
if photo_url:
self.logger.debug("- - Found media URL in tweet: " + photo_url)
for url_entity in tweet.entities['urls']:
expanded_url = url_entity['expanded_url']
indices = url_entity['indices']
display_url = tweet.text[indices[0]:indices[1]]
tweet_text = tweet_text.replace(display_url, expanded_url)
tw_data = {
'tw_id': tweet.id,
'text': tweet_text,
'created_at': tweet.created_at,
'twitter_user': tw_user,
'photo_url': photo_url,
}
try:
t = Tweet.get(Tweet.tw_id == tweet.id)
self.logger.warning("Got duplicated tw_id on this tweet:")
self.logger.warning(str(tw_data))
except Tweet.DoesNotExist:
tweet_rows.append(tw_data)
if len(tweet_rows) >= self.TWEET_BATCH_INSERT_COUNT:
Tweet.insert_many(tweet_rows).execute()
tweet_rows = []
【问题讨论】:
-
1.邮政编码。 2.发布预期和实际输出
-
@mplungjan pastebin.com/scDBzEUR
标签: html twitter hyperlink telegram hashtag