download_file
behaves differently if a local bot API server is used. Wrong default API url was being used
This commit is contained in:
parent
748ba624a4
commit
3969794075
@ -11,7 +11,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.9.10"
|
__version__ = "2.9.11"
|
||||||
__maintainer__ = "Davide Testa"
|
__maintainer__ = "Davide Testa"
|
||||||
__contact__ = "t.me/davte"
|
__contact__ = "t.me/davte"
|
||||||
|
|
||||||
|
@ -358,7 +358,7 @@ class TelegramBot:
|
|||||||
All mirrored methods are camelCase.
|
All mirrored methods are camelCase.
|
||||||
"""
|
"""
|
||||||
_loop = None
|
_loop = None
|
||||||
_api_url = "https://api.telegram.org/bot"
|
_api_url = "https://api.telegram.org"
|
||||||
|
|
||||||
app = aiohttp.web.Application()
|
app = aiohttp.web.Application()
|
||||||
sessions_timeouts = {
|
sessions_timeouts = {
|
||||||
|
@ -2138,26 +2138,29 @@ class Bot(TelegramBot, ObjectWithDatabase, MultiLanguageObject):
|
|||||||
if file is None or isinstance(file, Exception):
|
if file is None or isinstance(file, Exception):
|
||||||
logging.error(f"{file}")
|
logging.error(f"{file}")
|
||||||
return file
|
return file
|
||||||
file_bytes = await async_get(
|
if self.api_url == 'https://api.telegram.org':
|
||||||
url=(
|
file_bytes = await async_get(
|
||||||
f"{self.api_url}/file/"
|
url=(
|
||||||
f"bot{self.token}/"
|
f"{self.api_url}/file/"
|
||||||
f"{file['file_path']}"
|
f"bot{self.token}/"
|
||||||
),
|
f"{file['file_path']}"
|
||||||
mode='raw'
|
),
|
||||||
)
|
mode='raw'
|
||||||
path = path or self.path
|
)
|
||||||
if file_name is None:
|
path = path or self.path
|
||||||
file_name = get_secure_key(length=10)
|
if file_name is None:
|
||||||
file_complete_path = os.path.join(path, file_name)
|
file_name = get_secure_key(length=10)
|
||||||
while os.path.exists(file_complete_path):
|
file_complete_path = os.path.join(path, file_name)
|
||||||
file_complete_path = file_complete_path + '1'
|
while os.path.exists(file_complete_path):
|
||||||
try:
|
file_complete_path = file_complete_path + '1'
|
||||||
with open(file_complete_path, 'wb') as local_file:
|
try:
|
||||||
local_file.write(file_bytes)
|
with open(file_complete_path, 'wb') as local_file:
|
||||||
except Exception as e:
|
local_file.write(file_bytes)
|
||||||
logging.error(f"File download failed due to {e}")
|
except Exception as e:
|
||||||
return e
|
logging.error(f"File download failed due to {e}")
|
||||||
|
return e
|
||||||
|
else:
|
||||||
|
file_complete_path = file['file_path']
|
||||||
return dict(file_id=file_id,
|
return dict(file_id=file_id,
|
||||||
file_name=file_name,
|
file_name=file_name,
|
||||||
path=path,
|
path=path,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user