Update app.py
Browse files
app.py
CHANGED
|
@@ -660,9 +660,6 @@ async def process_album_group(media_group_id: str):
|
|
| 660 |
if token:
|
| 661 |
# Will be handled separately
|
| 662 |
data['msg_id'] = msg_id # store msg_id for later use
|
| 663 |
-
# Don't send prompt here, we'll do it after
|
| 664 |
-
# We'll add to a list and process later
|
| 665 |
-
pass
|
| 666 |
else:
|
| 667 |
non_dup.append((msg_id, filename, file_id, size))
|
| 668 |
|
|
@@ -958,7 +955,15 @@ async def cb_dup_keep(_, query: CallbackQuery):
|
|
| 958 |
data = duplicate_prompt_map.pop(token, None)
|
| 959 |
if not data:
|
| 960 |
return await query.answer("This prompt is no longer valid.", show_alert=True)
|
| 961 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 962 |
base, ext = os.path.splitext(data['orig_filename'])
|
| 963 |
new_filename = f"{base}_1{ext}"
|
| 964 |
job_id = data['job_id']
|
|
@@ -966,7 +971,7 @@ async def cb_dup_keep(_, query: CallbackQuery):
|
|
| 966 |
await upload_queue.put((
|
| 967 |
data['user_id'],
|
| 968 |
data['chat_id'],
|
| 969 |
-
|
| 970 |
new_filename,
|
| 971 |
job_id,
|
| 972 |
data['file_id'],
|
|
@@ -1058,8 +1063,12 @@ async def cb_upload(_, query: CallbackQuery):
|
|
| 1058 |
)
|
| 1059 |
continue
|
| 1060 |
else:
|
| 1061 |
-
#
|
| 1062 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1063 |
limit_err = check_file_size_limit(filename, expected_size)
|
| 1064 |
if limit_err:
|
| 1065 |
await query.message.reply_text(limit_err)
|
|
@@ -1102,7 +1111,12 @@ async def cb_upload_all(_, query: CallbackQuery):
|
|
| 1102 |
)
|
| 1103 |
continue
|
| 1104 |
else:
|
| 1105 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1106 |
limit_err = check_file_size_limit(filename, expected_size)
|
| 1107 |
if limit_err:
|
| 1108 |
await query.message.reply_text(limit_err)
|
|
|
|
| 660 |
if token:
|
| 661 |
# Will be handled separately
|
| 662 |
data['msg_id'] = msg_id # store msg_id for later use
|
|
|
|
|
|
|
|
|
|
| 663 |
else:
|
| 664 |
non_dup.append((msg_id, filename, file_id, size))
|
| 665 |
|
|
|
|
| 955 |
data = duplicate_prompt_map.pop(token, None)
|
| 956 |
if not data:
|
| 957 |
return await query.answer("This prompt is no longer valid.", show_alert=True)
|
| 958 |
+
|
| 959 |
+
# FIXED: If file_obj is None (from album prompt), retrieve the actual message
|
| 960 |
+
file_obj = data.get('file_obj')
|
| 961 |
+
if file_obj is None:
|
| 962 |
+
try:
|
| 963 |
+
file_obj = await app.get_messages(data['chat_id'], data['msg_id'])
|
| 964 |
+
except Exception:
|
| 965 |
+
return await query.answer("Original message no longer available.", show_alert=True)
|
| 966 |
+
|
| 967 |
base, ext = os.path.splitext(data['orig_filename'])
|
| 968 |
new_filename = f"{base}_1{ext}"
|
| 969 |
job_id = data['job_id']
|
|
|
|
| 971 |
await upload_queue.put((
|
| 972 |
data['user_id'],
|
| 973 |
data['chat_id'],
|
| 974 |
+
file_obj,
|
| 975 |
new_filename,
|
| 976 |
job_id,
|
| 977 |
data['file_id'],
|
|
|
|
| 1063 |
)
|
| 1064 |
continue
|
| 1065 |
else:
|
| 1066 |
+
# FIXED: Correctly handle remote file entries
|
| 1067 |
+
if len(entry) == 4:
|
| 1068 |
+
file_id, filename, expected_size = entry[1], entry[2], entry[3]
|
| 1069 |
+
else:
|
| 1070 |
+
file_id, filename = entry[1], entry[2]
|
| 1071 |
+
expected_size = None
|
| 1072 |
limit_err = check_file_size_limit(filename, expected_size)
|
| 1073 |
if limit_err:
|
| 1074 |
await query.message.reply_text(limit_err)
|
|
|
|
| 1111 |
)
|
| 1112 |
continue
|
| 1113 |
else:
|
| 1114 |
+
# FIXED: Correctly handle remote file entries
|
| 1115 |
+
if len(entry) == 4:
|
| 1116 |
+
file_id, filename, expected_size = entry[1], entry[2], entry[3]
|
| 1117 |
+
else:
|
| 1118 |
+
file_id, filename = entry[1], entry[2]
|
| 1119 |
+
expected_size = None
|
| 1120 |
limit_err = check_file_size_limit(filename, expected_size)
|
| 1121 |
if limit_err:
|
| 1122 |
await query.message.reply_text(limit_err)
|