mirror of
https://github.com/python-telegram-bot/python-telegram-bot.git
synced 2024-12-23 06:50:29 +01:00
Pass correct parse_mode to InlineResults if bot.defaults is None (#1763)
* Pass correct parse_mode to InlineResults if bot.defaults is None * Add tests for inlinequeryresults with (default)parse_mode * enhance tests
This commit is contained in:
parent
bd1b2fb6c1
commit
6da529c46b
2 changed files with 67 additions and 2 deletions
|
@ -1512,7 +1512,10 @@ class Bot(TelegramObject):
|
||||||
|
|
||||||
for res in results:
|
for res in results:
|
||||||
if res._has_parse_mode and res.parse_mode == DEFAULT_NONE:
|
if res._has_parse_mode and res.parse_mode == DEFAULT_NONE:
|
||||||
|
if self.defaults:
|
||||||
res.parse_mode = self.defaults.parse_mode
|
res.parse_mode = self.defaults.parse_mode
|
||||||
|
else:
|
||||||
|
res.parse_mode = None
|
||||||
if res._has_input_message_content and res.input_message_content:
|
if res._has_input_message_content and res.input_message_content:
|
||||||
if (res.input_message_content._has_parse_mode
|
if (res.input_message_content._has_parse_mode
|
||||||
and res.input_message_content.parse_mode == DEFAULT_NONE):
|
and res.input_message_content.parse_mode == DEFAULT_NONE):
|
||||||
|
|
|
@ -28,7 +28,8 @@ from future.utils import string_types
|
||||||
|
|
||||||
from telegram import (Bot, Update, ChatAction, TelegramError, User, InlineKeyboardMarkup,
|
from telegram import (Bot, Update, ChatAction, TelegramError, User, InlineKeyboardMarkup,
|
||||||
InlineKeyboardButton, InlineQueryResultArticle, InputTextMessageContent,
|
InlineKeyboardButton, InlineQueryResultArticle, InputTextMessageContent,
|
||||||
ShippingOption, LabeledPrice, ChatPermissions, Poll)
|
ShippingOption, LabeledPrice, ChatPermissions, Poll,
|
||||||
|
InlineQueryResultDocument)
|
||||||
from telegram.error import BadRequest, InvalidToken, NetworkError, RetryAfter
|
from telegram.error import BadRequest, InvalidToken, NetworkError, RetryAfter
|
||||||
from telegram.utils.helpers import from_timestamp, escape_markdown
|
from telegram.utils.helpers import from_timestamp, escape_markdown
|
||||||
|
|
||||||
|
@ -237,6 +238,67 @@ class TestBot(object):
|
||||||
switch_pm_text='switch pm',
|
switch_pm_text='switch pm',
|
||||||
switch_pm_parameter='start_pm')
|
switch_pm_parameter='start_pm')
|
||||||
|
|
||||||
|
def test_answer_inline_query_no_default_parse_mode(self, monkeypatch, bot):
|
||||||
|
def test(_, url, data, *args, **kwargs):
|
||||||
|
return data == {'cache_time': 300,
|
||||||
|
'results': [{'title': 'test_result', 'id': '123', 'type': 'document',
|
||||||
|
'document_url': 'https://raw.githubusercontent.com/'
|
||||||
|
'python-telegram-bot/logos/master/logo/png/'
|
||||||
|
'ptb-logo_240.png', 'mime_type': 'image/png',
|
||||||
|
'caption': 'ptb_logo'}],
|
||||||
|
'next_offset': '42', 'switch_pm_parameter': 'start_pm',
|
||||||
|
'inline_query_id': 1234, 'is_personal': True,
|
||||||
|
'switch_pm_text': 'switch pm'}
|
||||||
|
|
||||||
|
monkeypatch.setattr('telegram.utils.request.Request.post', test)
|
||||||
|
results = [InlineQueryResultDocument(
|
||||||
|
id='123',
|
||||||
|
document_url='https://raw.githubusercontent.com/python-telegram-bot/logos/master/'
|
||||||
|
'logo/png/ptb-logo_240.png',
|
||||||
|
title='test_result',
|
||||||
|
mime_type='image/png',
|
||||||
|
caption='ptb_logo',
|
||||||
|
)]
|
||||||
|
|
||||||
|
assert bot.answer_inline_query(1234,
|
||||||
|
results=results,
|
||||||
|
cache_time=300,
|
||||||
|
is_personal=True,
|
||||||
|
next_offset='42',
|
||||||
|
switch_pm_text='switch pm',
|
||||||
|
switch_pm_parameter='start_pm')
|
||||||
|
|
||||||
|
@pytest.mark.parametrize('default_bot', [{'parse_mode': 'Markdown'}], indirect=True)
|
||||||
|
def test_answer_inline_query_default_parse_mode(self, monkeypatch, default_bot):
|
||||||
|
def test(_, url, data, *args, **kwargs):
|
||||||
|
return data == {'cache_time': 300,
|
||||||
|
'results': [{'title': 'test_result', 'id': '123', 'type': 'document',
|
||||||
|
'document_url': 'https://raw.githubusercontent.com/'
|
||||||
|
'python-telegram-bot/logos/master/logo/png/'
|
||||||
|
'ptb-logo_240.png', 'mime_type': 'image/png',
|
||||||
|
'caption': 'ptb_logo', 'parse_mode': 'Markdown'}],
|
||||||
|
'next_offset': '42', 'switch_pm_parameter': 'start_pm',
|
||||||
|
'inline_query_id': 1234, 'is_personal': True,
|
||||||
|
'switch_pm_text': 'switch pm'}
|
||||||
|
|
||||||
|
monkeypatch.setattr('telegram.utils.request.Request.post', test)
|
||||||
|
results = [InlineQueryResultDocument(
|
||||||
|
id='123',
|
||||||
|
document_url='https://raw.githubusercontent.com/python-telegram-bot/logos/master/'
|
||||||
|
'logo/png/ptb-logo_240.png',
|
||||||
|
title='test_result',
|
||||||
|
mime_type='image/png',
|
||||||
|
caption='ptb_logo',
|
||||||
|
)]
|
||||||
|
|
||||||
|
assert default_bot.answer_inline_query(1234,
|
||||||
|
results=results,
|
||||||
|
cache_time=300,
|
||||||
|
is_personal=True,
|
||||||
|
next_offset='42',
|
||||||
|
switch_pm_text='switch pm',
|
||||||
|
switch_pm_parameter='start_pm')
|
||||||
|
|
||||||
@flaky(3, 1)
|
@flaky(3, 1)
|
||||||
@pytest.mark.timeout(10)
|
@pytest.mark.timeout(10)
|
||||||
def test_get_user_profile_photos(self, bot, chat_id):
|
def test_get_user_profile_photos(self, bot, chat_id):
|
||||||
|
|
Loading…
Reference in a new issue