Allow multilanguage support for inline query answers

This commit is contained in:
Davte 2020-04-20 19:01:58 +02:00
parent 5439bb7ddf
commit 9c73337c53
3 changed files with 29 additions and 2 deletions

View File

@ -14,7 +14,7 @@ __author__ = "Davide Testa"
__email__ = "davide@davte.it" __email__ = "davide@davte.it"
__credits__ = ["Marco Origlia", "Nick Lee @Nickoala"] __credits__ = ["Marco Origlia", "Nick Lee @Nickoala"]
__license__ = "GNU General Public License v3.0" __license__ = "GNU General Public License v3.0"
__version__ = "2.4.22" __version__ = "2.4.23"
__maintainer__ = "Davide Testa" __maintainer__ = "Davide Testa"
__contact__ = "t.me/davte" __contact__ = "t.me/davte"

View File

@ -18,7 +18,8 @@ from aiohttp import web
class TelegramError(Exception): class TelegramError(Exception):
"""Telegram API exceptions class.""" """Telegram API exceptions class."""
def __init__(self, error_code=0, description=None): def __init__(self, error_code=0, description=None, ok=False,
*args, **kwargs):
"""Get an error response and return corresponding Exception.""" """Get an error response and return corresponding Exception."""
self._code = error_code self._code = error_code
if description is None: if description is None:

View File

@ -607,6 +607,32 @@ class Bot(TelegramBot, ObjectWithDatabase, MultiLanguageObject):
if 'switch_pm_parameter' in results: if 'switch_pm_parameter' in results:
switch_pm_parameter = results['switch_pm_parameter'] switch_pm_parameter = results['switch_pm_parameter']
results = results['answer'] results = results['answer']
for result in results:
if (
isinstance(result, dict)
and isinstance(result['title'], dict)
):
result['title'] = self.get_message(
update=update,
user_record=user_record,
messages=result['title']
)
if (
isinstance(result, dict)
and 'input_message_content' in result
and isinstance(result['input_message_content'], dict)
and 'message_text' in result['input_message_content']
and isinstance(
result['input_message_content']['message_text'],
dict
)
):
result['input_message_content'][
'message_text'] = self.get_message(
update=update,
user_record=user_record,
messages=result['input_message_content']['message_text']
)
try: try:
await self.answer_inline_query( await self.answer_inline_query(
update=update, update=update,