|
@@ -21,19 +21,24 @@ def cmd_help(update, context):
|
|
|
def text_handler(update, context):
|
|
|
"""Handle text"""
|
|
|
urls = re.findall(r'(https?://\S+)', update.message.text)
|
|
|
+ fragment_set = set()
|
|
|
for url in urls:
|
|
|
url = hyperlink.URL.from_text(url)
|
|
|
if url.host == 'rivalregions.com' or url.host == 'm.rivalregions.com':
|
|
|
- if 'news/show/' in url.fragment:
|
|
|
- article_id = url.fragment.replace('news/show/', '')
|
|
|
- article = api.get_article(article_id)
|
|
|
- formatted_article = functions.telegram_format_article(article)
|
|
|
- update.message.reply_text(formatted_article, parse_mode=ParseMode.MARKDOWN_V2)
|
|
|
- elif 'war/details/' in url.fragment:
|
|
|
- war_id = url.fragment.replace('war/details', '')
|
|
|
- war = api.get_war(war_id)
|
|
|
- formatted_war = functions.telegram_format_war(war)
|
|
|
- update.message.reply_text(formatted_war, parse_mode=ParseMode.MARKDOWN_V2)
|
|
|
+ fragment_set.add(url.fragment)
|
|
|
+ if len(fragment_set) >= 3:
|
|
|
+ break
|
|
|
+ for fragment in fragment_set:
|
|
|
+ if re.match(r'news\/show\/\d+', fragment):
|
|
|
+ article_id = fragment.replace('news/show/', '')
|
|
|
+ article = api.get_article(article_id)
|
|
|
+ formatted_article = functions.telegram_format_article(article)
|
|
|
+ update.message.reply_text(formatted_article, parse_mode=ParseMode.MARKDOWN_V2)
|
|
|
+ if re.match(r'war\/details\/\d+', fragment):
|
|
|
+ war_id = fragment.replace('war/details', '')
|
|
|
+ war = api.get_war(war_id)
|
|
|
+ formatted_war = functions.telegram_format_war(war)
|
|
|
+ update.message.reply_text(formatted_war, parse_mode=ParseMode.MARKDOWN_V2)
|
|
|
|
|
|
|
|
|
def run():
|